Notifications
Announcements
private void savePackingSlipToPdfFile(RecId _recId) { if (_recId) { custPackingSlipJour packingslip = custPackingSlipJour::findRecId(_recId); PrintMgmtReportFormatName printMgmtReportFormatName = PrintMgmtDocType::construct(PrintMgmtDocumentType::SalesOrderPackingSlip).getDefaultReportFormat(); SalesPackingSlipContract SalesPackingSlipContract = new SalesPackingSlipContract(); SalesPackingSlipContract.parmRecordId(_recId); SalesPackingSlipContract.parmTableId(tableNum(custPackingSlipJour)); SrsReportRunController srsReportRunController = new SrsReportRunController(); srsReportRunController.parmReportName(printMgmtReportFormatName); srsReportRunController.parmExecutionMode(SysOperationExecutionMode::Synchronous); srsReportRunController.parmShowDialog(false); var args = new Args(); args.parmEnum(PrintCopyOriginal::OriginalPrint); args.record(packingslip); srsReportRunController.parmArgs(args); srsReportRunController.parmReportContract().parmRdpContract(SalesPackingSlipContract); srsReportRunController.parmReportContract().parmReportExecutionInfo(new SRSReportExecutionInfo()); srsReportRunController.parmReportContract().parmReportServerConfig(SRSConfiguration::getDefaultServerConfiguration()); srsReportRunController.parmReportContract().parmRdlContract().parmLabelLanguageId(packingslip.languageId); str documentTitle = literalStr(/@SYS11549/); documentTitle = SysLabel::labelId2String2(documentTitle, srsReportRunController.parmReportContract().parmRdlContract().parmLanguageId(packingslip.languageId)); SalesPackingSlipContract.parmDocumentTitle(documentTitle); SRSPrintDestinationSettings printerSettings = srsReportRunController.parmReportContract().parmPrintSettings(); printerSettings.printMediumType(SRSPrintMediumType::File); printerSettings.fileFormat(SRSReportFileFormat::PDF); printerSettings.parmFileName(filePath + fileName); printerSettings.overwriteFile(true); SRSReportRunService srsReportRunService = new SrsReportRunService(); srsReportRunService.getReportDataContract(srsReportRunController.parmReportContract().parmReportName()); srsReportRunService.preRunReport(srsReportRunController.parmReportContract()); Map reportParametersMap = srsReportRunService.createParamMapFromContract(srsReportRunController.parmReportContract()); Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray = SrsReportRunUtil::getParameterValueArray(reportParametersMap); SRSProxy srsProxy = SRSProxy::constructWithConfiguration(srsReportRunController.parmReportContract().parmReportServerConfig()); System.Byte[] reportBytes = srsproxy.renderReportToByteArray(srsReportRunController.parmreportcontract().parmreportpath(), parameterValueArray, printerSettings.fileFormat(), printerSettings.deviceinfo()); if (reportBytes) { System.IO.Stream stream = new System.IO.MemoryStream(reportBytes); System.IO.FileStream fileStream = new System.IO.FileStream(filePath + fileName, System.IO.FileMode::Create, System.IO.FileAccess::ReadWrite); stream.CopyTo(fileStream); fileStream.Close(); } } }
private void savePackingSlipToPdfFile(RecId _recId) { if (!_recId) { return; } CustPackingSlipJour packingSlip = custPackingSlipJour::findRecId(_recId); SrsReportRunController reportController = this.createReportController(packingSlip); SrsReportDataContract reportContract = reportController.parmReportContract(reportController, packingSlip); SRSPrintDestinationSettings printerSettings = reportContract.parmPrintSettings(); printerSettings.printMediumType(SRSPrintMediumType::File); printerSettings.fileFormat(SRSReportFileFormat::PDF); printerSettings.parmFileName(filePath + fileName); printerSettings.overwriteFile(true); var parameterValueArray = this.createParameters(reportContract); SRSProxy srsProxy = SRSProxy::constructWithConfiguration(reportContract.parmReportServerConfig()); System.Byte[] reportBytes = srsproxy.renderReportToByteArray( reportContract.parmReportpath(), parameterValueArray, printerSettings.fileFormat(), printerSettings.deviceinfo()); if (reportBytes) { System.IO.Stream stream = new System.IO.MemoryStream(reportBytes); System.IO.FileStream fileStream = new System.IO.FileStream(filePath + fileName, System.IO.FileMode::Create, System.IO.FileAccess::ReadWrite); stream.CopyTo(fileStream); fileStream.Close(); } } private SrsReportRunController createReportController(CustPackingSlipJour _packingSlip) { PrintMgmtReportFormatName printMgmtReportFormatName = PrintMgmtDocType::construct(PrintMgmtDocumentType::SalesOrderPackingSlip).getDefaultReportFormat(); SrsReportRunController reportController = new SrsReportRunController(); reportController.parmReportName(printMgmtReportFormatName); reportController.parmExecutionMode(SysOperationExecutionMode::Synchronous); reportController.parmShowDialog(false); Args args = new Args(); args.parmEnum(PrintCopyOriginal::OriginalPrint); args.record(_packingSlip); reportController.parmArgs(args); return reportController; } private SrsReportDataContract createReportContract(SrsReportRunController _reportController, CustPackingSlipJour _packingSlip) { SrsReportDataContract reportContract = _reportController.parmReportContract(); reportContract.parmRdpContract(this.createDataContract(_packingSlip)); reportContract.parmReportExecutionInfo(new SRSReportExecutionInfo()); reportContract.parmReportServerConfig(SRSConfiguration::getDefaultServerConfiguration()); reportContract.parmRdlContract().parmLabelLanguageId(packingSlip.languageId); return reportContract; } private SalesPackingSlipContract createDataContract(CustPackingSlipJour _packingSlip) { SalesPackingSlipContract salesPackingSlipContract = new SalesPackingSlipContract(); salesPackingSlipContract.parmRecordId(_packingSlip.RecId); salesPackingSlipContract.parmTableId(tableNum(CustPackingSlipJour)); str documentTitle = SysLabel::labelId2String2(literalStr("@SYS11549"), packingSlip.languageId)); salesPackingSlipContract.parmDocumentTitle(documentTitle); return salesPackingSlipContract; } private Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] createParameters(SrsReportDataContract _contract) { SRSReportRunService srsReportRunService = new SrsReportRunService(); srsReportRunService.getReportDataContract(_contract.parmReportName()); srsReportRunService.preRunReport(_contract); Map reportParametersMap = srsReportRunService.createParamMapFromContract(_contract); return SrsReportRunUtil::getParameterValueArray(reportParametersMap); }
private void savePackingSlipToPdfFile(RecId _recId) { if (_recId) { CustPackingSlipJour packingslip = custPackingSlipJour::findRecId(_recId); PrintMgmtReportFormatName printMgmtReportFormatName = PrintMgmtDocType::construct(PrintMgmtDocumentType::SalesOrderPackingSlip).getDefaultReportFormat(); SalesPackingSlipContract SalesPackingSlipContract = new SalesPackingSlipContract(); SalesPackingSlipContract.parmRecordId(packingslip.RecId); SalesPackingSlipContract.parmTableId(tableNum(custPackingSlipJour)); SrsReportRunController srsReportRunController = new SrsReportRunController(); srsReportRunController.parmReportName(printMgmtReportFormatName); srsReportRunController.parmExecutionMode(SysOperationExecutionMode::Synchronous); srsReportRunController.parmShowDialog(false); var args = new Args(); args.parmEnum(PrintCopyOriginal::OriginalPrint); args.record(packingslip); srsReportRunController.parmArgs(args); srsReportRunController.parmReportContract().parmRdpContract(SalesPackingSlipContract); srsReportRunController.parmReportContract().parmReportExecutionInfo(new SRSReportExecutionInfo()); srsReportRunController.parmReportContract().parmReportServerConfig(SRSConfiguration::getDefaultServerConfiguration()); srsReportRunController.parmReportContract().parmRdlContract().parmLabelLanguageId(packingslip.languageId); str documentTitle = literalStr(/@SYS11549/); documentTitle = SysLabel::labelId2String2(documentTitle, srsReportRunController.parmReportContract().parmRdlContract().parmLanguageId(packingslip.languageId)); SalesPackingSlipContract.parmDocumentTitle(documentTitle); SRSPrintDestinationSettings printerSettings = srsReportRunController.parmReportContract().parmPrintSettings(); printerSettings.printMediumType(SRSPrintMediumType::File); printerSettings.fileFormat(SRSReportFileFormat::PDF); printerSettings.parmFileName(filePath + fileName); printerSettings.overwriteFile(true); SRSReportRunService srsReportRunService = new SrsReportRunService(); srsReportRunService.getReportDataContract(srsReportRunController.parmReportContract().parmReportName()); srsReportRunService.preRunReport(srsReportRunController.parmReportContract()); Map reportParametersMap = srsReportRunService.createParamMapFromContract(srsReportRunController.parmReportContract()); Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray = SrsReportRunUtil::getParameterValueArray(reportParametersMap); SRSProxy srsProxy = SRSProxy::constructWithConfiguration(srsReportRunController.parmReportContract().parmReportServerConfig()); System.Byte[] reportBytes = srsproxy.renderReportToByteArray(srsReportRunController.parmreportcontract().parmreportpath(), parameterValueArray, printerSettings.fileFormat(), printerSettings.deviceinfo()); if (reportBytes) { System.IO.Stream stream = new System.IO.MemoryStream(reportBytes); System.IO.FileStream fileStream = new System.IO.FileStream(filePath + fileName, System.IO.FileMode::Create, System.IO.FileAccess::ReadWrite); stream.CopyTo(fileStream); fileStream.Close(); } } }
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Abhilash Warrier 843 Super User 2025 Season 2
André Arnaud de Cal... 405 Super User 2025 Season 2
Martin Dráb 322 Most Valuable Professional