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();
}
}
}
André Arnaud de Cal...
292,031
Super User 2025 Season 1
Martin Dráb
230,868
Most Valuable Professional
nmaenpaa
101,156