sales order email without report
Posted:
Fri Dec 13, 2019 7:36 am
by Riyaz
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)
Re: sales order email without report
Posted:
Fri Dec 13, 2019 10:09 am
by Scott.Pearce
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