Args args=new Args();
SalesFormLetter salesFormLetter;
SysMailer mailer;
PrintJobSettings printJobSettings;
str _fileName;
InteropPermission permission;
FileIOPermission dirPermission, filePermission;
Set permissionSet;
;
args.record(_custInvoiceJour);
_fileName=strfmt('%1\\%2.pdf',filepath,_custInvoiceJour.InvoiceId);
if(_custInvoiceJour)
{
salesFormLetter = SalesFormLetter::construct(DocumentStatus::Invoice,false);
printJobSettings = new printJobSettings();
printJobSettings.setTarget(PrintMedium::File);
printJobSettings.format(PrintFormat::PDF_EMBED_FONTS);
printJobSettings.fileName(_filename);
salesFormletter.updatePrinterSettingsFormLetter(printJobSettings.packPrintJobSettings());
_custInvoiceJour.printJournal(SalesFormletter);
{
permission = new InteropPermission(InteropKind::ComInterop);
dirPermission = new FileIOPermission(_fileName,'W');
permissionSet = new Set(Types::Class);
permissionSet.add(permission);
permissionSet.add(dirPermission);
CodeAccessPermission::assertMultiple(permissionSet);
mailer = New SysMailer();
mailer.fromAddress('abc@xyz.com');
mailer.subject(strfmt("Invoice %1,date %2", _custInvoiceJour.invoiceId,_custInvoiceJour.InvoiceDate));
if(email) //<--dialog field
{
mailer.tos().appendAddress(email);
}
if(!email)
{
mailer.tos().appendAddress(CustTable::find(_custInvoiceJour.InvoiceAccount).Email);
}
mailer.htmlBody("Please see attached");
mailer.SMTPRelayServer( SysEmailParameters::find().SMTPRelayServerName,
SysEmailParameters::find().SMTPPortNumber,
SysEmailParameters::find().SMTPUserName,
SysEmailParameters::find().SMTPPassword,
SysEmailParameters::find().NTLM);
mailer.attachments().add(_fileName);
mailer.sendMail();
}
CodeAccessPermission::revertAssert();
}