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