تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استفسار في حفظ الفاتورة vb.net
#1
السلام عليكم 

 اخواني الاعزاء عندي استفسار :

  هل في كود عند حفظ فاتورة المبيعات يرسل ايميل للمستخدم بالتقرير اتوماتيكيا 

 وشكرا لكم
الرد }}}
تم الشكر بواسطة:
#2
يوجد طريقة 

يجب تجهيز التقرير وتحويله الى ملف PDF  ومن ثم اجراء ارسال للايميل عن طريق تجهيز الايميل وكلمة مرور التطبيق (ليست كلمة مرور الايميل)

هذا كود تحويل التقرير Report Viewer  الى PDF :
PHP كود :
Private Sub ExportToPDF(reportViewer As ReportVieweroutputPath As String)
 
       ' تحديد نوع التصدير وتكوين الخيارات
        Dim deviceInfo As String = "<DeviceInfo><OutputFormat>PDF</OutputFormat></DeviceInfo>"

        ' 
تحديد معلمات التقرير
        Dim warnings 
As Warning() = Nothing
        Dim streamIds 
As String() = Nothing
        Dim mimeType 
As String ""
 
       Dim encoding As String ""
 
       Dim fileNameExtension As String ""

 
       ' تصدير التقرير إلى مصفوفة بتدفق البيانات
        Dim bytes As Byte() = reportViewer.LocalReport.Render("PDF", deviceInfo, mimeType, encoding, fileNameExtension, streamIds, warnings)

        ' 
حفظ بتدفق البيانات إلى ملف PDF
        Using fs 
As New FileStream(outputPathFileMode.Create)
 
           fs.Write(bytes0bytes.Length)
 
       End Using
    End Sub 

واستدعاء الدالة يكون
PHP كود :
ExportToPDF(ReportViewer1"C:\PDF\" & "Report.pdf") 

وكود الارسال (Gmail) يكون

PHP كود :
Private Sub SendEmail(ToEmailUser As String)
 
       If ToEmailUser "" Then Exit Sub
        Dim utf8 
As Encoding Encoding.UTF8
        Dim Smtp_Server 
As New SmtpClient
        Dim e_mail 
As New MailMessage()
 
       Smtp_Server.UseDefaultCredentials False
        Smtp_Server
.Credentials = New Net.NetworkCredential("الايميل""كلمة مرور التطبيق")
 
       Smtp_Server.Port 587
        Smtp_Server
.EnableSsl 1
        Smtp_Server
.Host "smtp.gmail.com"
 
       Smtp_Server.DeliveryMethod SmtpDeliveryMethod.Network
        e_mail 
= New MailMessage()

 
       e_mail.From = New MailAddress("الايميل")
 
       e_mail.To.Add(ToEmailUser.Trim())

 
       e_mail.Attachments.Add(New Net.Mail.Attachment("C:\PDF\Report.pdf"))
 
       e_mail.Subject "تقرير "
 
       e_mail.Body "النص في الايميل"
 
       e_mail.Subject utf8.GetString(utf8.GetBytes(e_mail.Subject))
 
       e_mail.Body utf8.GetString(utf8.GetBytes(e_mail.Body))
 
       Smtp_Server.Send(e_mail)
 
       SendWeekBoolen True
        e_mail
.Attachments.Dispose()
 
       e_mail.Attachments.Clear()
 
   End Sub 

وطريقة الاستدعاء 

PHP كود :
SendEmail("الايميل المرسل له"
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
تم الشكر بواسطة: Hamza8484
#3
(22-07-24, 10:25 AM)تركي الحلواني كتب : يوجد طريقة 

يجب تجهيز التقرير وتحويله الى ملف PDF  ومن ثم اجراء ارسال للايميل عن طريق تجهيز الايميل وكلمة مرور التطبيق (ليست كلمة مرور الايميل)

هذا كود تحويل التقرير Report Viewer  الى PDF :
PHP كود :
Private Sub ExportToPDF(reportViewer As ReportVieweroutputPath As String)
 
       ' تحديد نوع التصدير وتكوين الخيارات
        Dim deviceInfo As String = "<DeviceInfo><OutputFormat>PDF</OutputFormat></DeviceInfo>"

        ' 
تحديد معلمات التقرير
        Dim warnings 
As Warning() = Nothing
        Dim streamIds 
As String() = Nothing
        Dim mimeType 
As String ""
 
       Dim encoding As String ""
 
       Dim fileNameExtension As String ""

 
       ' تصدير التقرير إلى مصفوفة بتدفق البيانات
        Dim bytes As Byte() = reportViewer.LocalReport.Render("PDF", deviceInfo, mimeType, encoding, fileNameExtension, streamIds, warnings)

        ' 
حفظ بتدفق البيانات إلى ملف PDF
        Using fs 
As New FileStream(outputPathFileMode.Create)
 
           fs.Write(bytes0bytes.Length)
 
       End Using
    End Sub 

واستدعاء الدالة يكون
PHP كود :
ExportToPDF(ReportViewer1"C:\PDF\" & "Report.pdf") 

وكود الارسال (Gmail) يكون

PHP كود :
Private Sub SendEmail(ToEmailUser As String)
 
       If ToEmailUser "" Then Exit Sub
        Dim utf8 
As Encoding Encoding.UTF8
        Dim Smtp_Server 
As New SmtpClient
        Dim e_mail 
As New MailMessage()
 
       Smtp_Server.UseDefaultCredentials False
        Smtp_Server
.Credentials = New Net.NetworkCredential("الايميل""كلمة مرور التطبيق")
 
       Smtp_Server.Port 587
        Smtp_Server
.EnableSsl 1
        Smtp_Server
.Host "smtp.gmail.com"
 
       Smtp_Server.DeliveryMethod SmtpDeliveryMethod.Network
        e_mail 
= New MailMessage()

 
       e_mail.From = New MailAddress("الايميل")
 
       e_mail.To.Add(ToEmailUser.Trim())

 
       e_mail.Attachments.Add(New Net.Mail.Attachment("C:\PDF\Report.pdf"))
 
       e_mail.Subject "تقرير "
 
       e_mail.Body "النص في الايميل"
 
       e_mail.Subject utf8.GetString(utf8.GetBytes(e_mail.Subject))
 
       e_mail.Body utf8.GetString(utf8.GetBytes(e_mail.Body))
 
       Smtp_Server.Send(e_mail)
 
       SendWeekBoolen True
        e_mail
.Attachments.Dispose()
 
       e_mail.Attachments.Clear()
 
   End Sub 

وطريقة الاستدعاء 

PHP كود :
SendEmail("الايميل المرسل له"


شكرا لك يا طيب  Heart
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: