sales order email without report  Topic is solved

Discussions relating to plugin development, and the Jiwa API.

sales order email without report

Postby Riyaz » Fri Dec 13, 2019 7:36 am

Hi There

Is it possible to send smtp email via plugin without having to attach the report, need to send just a simple html email from sales order form via plugin. At the moment, am using below as example but it requires, report to be included as mandatory, kindly advise

salesOrderForm.SalesOrder.Email(emailReportDialog.SelectedReport, emailReportDialog.NameToGiveAttachment, emailReportDialog.From, emailReportDialog.EmailTo, emailReportDialog.RequestReadReceipt, emailReportDialog.Subject, emailReportDialog.CC, emailReportDialog.BCC, emailReportDialog.Message, ExportFormatType)
Riyaz
Kohai
Kohai
 
Posts: 233
Joined: Wed Dec 02, 2015 2:05 pm
Topics Solved: 2

Re: sales order email without report  Topic is solved

Postby Scott.Pearce » Fri Dec 13, 2019 10:09 am

You need to throw a cancel, then write your own emailing code. Something like this:

Code: Select all
    Public Sub SetupBeforeHandlers(ByVal JiwaForm As JiwaApplication.IJiwaForm, ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaFormPlugin.SetupBeforeHandlers
      If TypeOf JiwaForm Is JiwaSalesUI.SalesOrder.SalesOrderEntryForm Then
         Dim salesOrderForm As JiwaSalesUI.SalesOrder.SalesOrderEntryForm = DirectCast(jiwaform, JiwaSalesUI.SalesOrder.SalesOrderEntryForm)         
         AddHandler salesOrderForm.UltraToolbarsManager1.ToolClick, AddressOf SalesOrder_UltraToolbarsManager1_ToolClick         
      End If
    End Sub


Code: Select all
   Private Sub SalesOrder_UltraToolbarsManager1_ToolClick(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinToolbars.ToolClickEventArgs)
       Select Case e.Tool.Key
           Case "ID_RecordEmail"
            Dim salesOrderForm As JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.SalesOrderEntryForm = DirectCast(sender, Infragistics.Win.UltraWinToolbars.UltraToolbarsManager).DockWithinContainer
            EmailSalesOrder(salesOrderForm)
            Throw New JiwaFinancials.Jiwa.JiwaApplication.Exceptions.ClientCancelledException
      End Select
   End Sub


Code: Select all
Private Sub EmailSalesOrder(ByVal SalesOrderForm As JiwaSalesUI.SalesOrder.SalesOrderEntryForm)     
      Dim oldScreenCursor As System.Windows.Forms.Cursor = System.Windows.Forms.Cursor.Current
      Try
         System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
         Application.DoEvents
                 
           ' Get email message details     
         Dim emailReportDialog As JiwaSalesUI.SalesOrder.EmailReport = salesOrderForm.Manager.DialogFactory.CreateDialog(Of JiwaSalesUI.SalesOrder.EmailReport)(Nothing, SalesOrderForm, "Sales Order Entry")
           emailReportDialog.NameToGiveAttachment = "" 'Could hide this control
           emailReportDialog.EmailTo = salesOrderForm.SalesOrder.Debtor.Email
           emailReportDialog.From = salesOrderForm.Manager.Staff.EmailAddress
           emailReportDialog.Subject = salesOrderForm.SalesOrder.InvoiceNo
           
         emailReportDialog.Message = "Dear " & salesOrderForm.SalesOrder.Debtor.ContactName & "," & System.Environment.NewLine _
                           & "Message body " & System.Environment.NewLine _
                           & System.Environment.NewLine _
                           & "Best Regards, " & System.Environment.NewLine _
                           & "Jiwa Financials"

           If emailReportDialog.ShowDialog(salesOrderForm) = System.Windows.Forms.DialogResult.OK Then
               'salesOrderForm.SalesOrder.Email(emailReportDialog.SelectedReport, emailReportDialog.NameToGiveAttachment, emailReportDialog.From, emailReportDialog.EmailTo, emailReportDialog.RequestReadReceipt, emailReportDialog.Subject, emailReportDialog.CC, emailReportDialog.BCC, emailReportDialog.Message, ExportFormatType)
           
            ' Create Email message         
            Dim email As JiwaApplication.JiwaEmail.EmailMessage = salesOrderForm.Manager.BusinessLogicFactory.CreateBusinessLogic(Of JiwaApplication.JiwaEmail.EmailMessage)(Nothing)
            email.CreateNew()
            email.EmailTo = emailReportDialog.EmailTo
            email.EmailSubject = emailReportDialog.Subject
            email.EmailBody = emailReportDialog.Message
            email.Save()
           End If         
      Finally
         System.Windows.Forms.Cursor.Current = oldScreenCursor
      End Try
   End Sub
Scott Pearce
Senior Analyst/Programmer
Jiwa Financials
User avatar
Scott.Pearce
Senpai
Senpai
 
Posts: 742
Joined: Tue Feb 12, 2008 11:27 am
Location: New South Wales, Australia
Topics Solved: 221


Return to Technical and or Programming

Who is online

Users browsing this forum: No registered users and 3 guests