class NW_PayslipGenerateReport
{
public static System.IO.Stream getPayslipReport(date _from, date _to, hcmWorkerRecid worker)
{
NWPY_PayslipReportContract contract = new NWPY_PayslipReportContract();
SRSPrintDestinationSettings settings;
SrsReportEMailDataContract emailContract;
System.IO.MemoryStream _strem;
SysMailerMessageBuilder mailer = new SysMailerMessageBuilder();
SysMailerSMTP smtp = new SysMailerSMTP();
Filename filename;
Array arrayfiles;
System.Byte[] reportBytes = new System.Byte[0]();
SRSProxy srsProxy;
SrsReportRunService srsreportRunService = new SrsReportRunService();
Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray;
Map reportParametersMap;
SRSReportExecutionInfo executionInfo = new SRSReportExecutionInfo();
SrsReportRunController controller = new SrsReportRunController();
filename = 'Payslip.PDF';
contract.ParmFromDate(_from);
contract.parmToDate(_to);
contract.parmEmployee(worker);
controller.parmReportName(ssrsReportStr(NWPY_PayslipReport, PrecisionDesign2));
controller.parmShowDialog(false);
controller.parmReportContract().parmRdpContract(contract);
settings = controller.parmReportContract().parmPrintSettings();
settings.printMediumType(SRSPrintMediumType::File);
settings.fileFormat(SRSReportFileFormat::PDF);
settings.overwriteFile(true);
settings.fileName(filename);
controller.parmReportContract().parmReportServerConfig(SRSConfiguration::getDefaultServerConfiguration());
controller.parmReportContract().parmReportExecutionInfo(executionInfo);
srsreportRunService.getReportDataContract(controller.parmReportContract().parmReportName());
srsreportRunService.preRunReport(controller.parmReportContract());
reportParametersMap = srsreportRunService.createParamMapFromContract(controller.parmReportContract());
parameterValueArray = SrsReportRunUtil::getParameterValueArray(reportParametersMap);
srsProxy = SRSProxy::constructWithConfiguration(controller.parmReportContract().parmReportServerConfig());
reportBytes = srsProxy.renderReportToByteArray(controller.parmReportContract().parmReportPath(),
parameterValueArray,
settings.fileFormat(),
settings.deviceInfo());
if(reportBytes)
{
_strem = new System.IO.MemoryStream(reportBytes);
}
return _strem;
}
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter