...if users don't go to AX, AX will go to the users...! a blog about Dynamics AX tips and tricks, Sharepoint and Reporting Services
Showing posts with label report. Show all posts
Showing posts with label report. Show all posts
Monday, January 14, 2013
How to send a report via email from AX 2009
Hi all!
Today I want to show you how to send a custom report via email from AX (it works with an AX client installation and it's tested for Microsoft Outlook and Novell GroupWise).
In AX there is a class that allows you to do this: "SysINetMail".
Here's the code:
void printPDFMail()
{
SysINetMail SysINetMail;
str FileName;
str user;
str Body;
str Subject;
str cc1;
str mailAddressFrom;
str mailAddressTo;
UserInfo userInfo;
SysINetMail mail = new SysINetMail();
;
select firstonly userInfo where userInfo.id==curUserId(); {
user= userInfo.networkAlias; }
FileName = strfmt('C:\\Users\\%1\\Desktop\\AXReportName.pdf',user);
reportRun.printJobSettings().setTarget(PrintMedium::File);
reportRun.printJobSettings().format(PrintFormat::PDF);
reportRun.printJobSettings().fileName(FileName);
reportRun.run();
//assign the values of sender, recipient, subject and message body
Subject = 'Insert here the email subject';
Body = 'Insert here the email body';
cc1 = 'example@example.com';
//assign the values to send email
mailAddressFrom = SysUserInfo::find(curUserId()).Email;
mailAddressTo = email@addresstosend.com
//Send Mail
mail.sendMailAttach(mailAddressTo,cc1,Subject,Body,false,FileName);
//delete the temporary pdf file
winAPI::deleteFile(FileName);
//info("Email sent.");
}
I have included this method in a class that creates the report to be sent, but if you want to use it as a job, you have to use "Args" function to pass the name of the report to be printed.
Subscribe to:
Posts (Atom)