Notifications
Announcements
No record found.
[DataContractAttribute] final class DTPackingSlipNotInvoicedBatchContract { smmBusRelMemo subject,body; str packedQuery; DTPackingSlipNotInvoiceType type; Email to; boolean displayAmount; [ DataMemberAttribute('Type'), SysOperationLabelAttribute(literalstr("Type")), SysOperationHelpTextAttribute(literalstr("Type")), SysOperationDisplayOrderAttribute('0') ] public DTPackingSlipNotInvoiceType parmtype(DTPackingSlipNotInvoiceType _type = type) { type = _type; return type; } [ DataMemberAttribute('Display Amount'), SysOperationLabelAttribute(literalstr("Display Amount")), SysOperationHelpTextAttribute(literalstr("Display Amount")), SysOperationDisplayOrderAttribute('1') ] public boolean parmdisplayAmount(boolean _displayAmount = displayAmount) { displayAmount = _displayAmount; return displayAmount; } [ DataMemberAttribute('To'), SysOperationLabelAttribute(literalstr("To")), SysOperationHelpTextAttribute(literalstr("To")), SysOperationDisplayOrderAttribute('2') ] public Email parmTo(Email _to = to) { to = _to; return to; } [ DataMemberAttribute('subject'), SysOperationLabelAttribute(literalstr("Subject")), SysOperationHelpTextAttribute(literalstr("Subject")), SysOperationDisplayOrderAttribute('3') ] public smmBusRelMemo parmsubject(smmBusRelMemo _subject = subject) { subject = _subject; return subject; } [ DataMemberAttribute('body'), SysOperationLabelAttribute(literalstr("Body")), SysOperationHelpTextAttribute(literalstr("Body")), SysOperationDisplayOrderAttribute('4') ] public smmBusRelMemo parmbody(smmBusRelMemo _body = body) { body = _body; return body; } [ DataMemberAttribute, AifQueryTypeAttribute('_packedQuery', queryStr(DTHcmWorker)) ] public str parmPackedQuery(str _packedQuery = packedQuery) { packedQuery = _packedQuery; return packedQuery; } public Query getQuery() { Query q = new Query(SysOperationHelper::base64Decode(packedQuery)); return q; } public void setQuery(Query _query) { packedQuery = SysOperationHelper::base64Encode(_query.pack()); } }
final class DTPackingSlipNotInvoicedBatchController extends SysOperationServiceController { protected void new() { super(classStr(DTPackingSlipNotInvoicedBatchService), methodStr(DTPackingSlipNotInvoicedBatchService,processoperation ), SysOperationExecutionMode::Synchronous); } public ClassDescription defaultCaption() { return "Process Job"; } public static DTPackingSlipNotInvoicedBatchController construct(SysOperationExecutionMode _executionMode = SysOperationExecutionMode::Synchronous) { DTPackingSlipNotInvoicedBatchController controller; controller = new DTPackingSlipNotInvoicedBatchController(); return controller; } public static void main(Args _args) { DTPackingSlipNotInvoicedBatchController controller; controller = DTPackingSlipNotInvoicedBatchController::construct(); controller.parmArgs(_args); controller.startOperation(); } }
final class DTPackingSlipNotInvoicedBatchService extends SysOperationServiceBase { public void processoperation(DTPackingSlipNotInvoicedBatchContract _contract) { Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray; Filename fileName = "OpenTransaction_"+ "_contract.parmTo" + ".pdf"; SrsReportRunController controller = new SrsReportRunController(); SRSPrintDestinationSettings settings; Array arrayFiles; System.Byte[] reportBytes = new System.Byte[0](); SRSProxy srsProxy; SRSReportRunService srsReportRunService = new SrsReportRunService(); Map reportParametersMap; SRSReportExecutionInfo executionInfo = new SRSReportExecutionInfo(); controller.parmReportName(ssrsReportStr(DTPackingSlipNotInvoice , PrecisionDesign1)); controller.parmShowDialog(false); controller.parmLoadFromSysLastValue(false); settings = controller.parmReportContract().parmPrintSettings(); settings.printMediumType(SRSPrintMediumType::File); settings.fileName(fileName); settings.fileFormat(SRSReportFileFormat::PDF); // Below is a part of code responsible for rendering the report 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()); // Actual rendering to byte array reportBytes = srsproxy.renderReportToByteArray(controller.parmreportcontract().parmreportpath(),parameterValueArray,settings.fileFormat(),settings.deviceinfo()); container binData; Binary binaryData; System.IO.MemoryStream mstream = new System.IO.MemoryStream(reportBytes); binaryData = Binary::constructFromMemoryStream(mstream); if(binaryData) { binData = binaryData.getContainer(); } System.Byte[] binData1; System.IO.Stream stream1; // Turn the Bytes into a stream for(int i = 0; i < conLen(binData); i++) { binData1 = conPeek(binData,i+1); stream1 = new System.IO.MemoryStream(binData1); } var messageBuilder = new SysMailerMessageBuilder(); messageBuilder.addTo(_contract.parmTo()).setSubject(_contract.parmsubject()).setBody(_contract.parmbody()); if (stream1 != null) { messageBuilder.addAttachment(stream1, strFmt('%1_%2',any2Str(today()),fileName)); } // sends non interactive message SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(messageBuilder.getMessage()); } }
Table1 table1;Table2 table2;Query query = _contract.getQuery(); QueryRun queryRun = new QueryRun(query);​​​​​​​ while(queryRun.next()) { table1 = queryRun.get(tableNum(Table1)); table2 = queryRun.get(tableNum(Table2)); //add logic needed }
final class DTPackingSlipNotInvoicedBatchService extends SysOperationServiceBase { public void processoperation(DTPackingSlipNotInvoicedBatchContract _contract) { HcmWorker hcmWorker; Query query = _contract.getQuery(); QueryRun queryRun = new QueryRun(query); while(queryRun.next()) { hcmWorker = queryRun.get(tableNum(HcmWorker)); Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray; Filename fileName = "OpenTransaction_"+ "_contract.parmTo" + ".pdf"; SrsReportRunController controller = new SrsReportRunController(); SRSPrintDestinationSettings settings; Array arrayFiles; System.Byte[] reportBytes = new System.Byte[0](); SRSProxy srsProxy; SRSReportRunService srsReportRunService = new SrsReportRunService(); Map reportParametersMap; SRSReportExecutionInfo executionInfo = new SRSReportExecutionInfo(); controller.parmReportName(ssrsReportStr(DTPackingSlipNotInvoice , PrecisionDesign1)); controller.parmShowDialog(false); controller.parmLoadFromSysLastValue(false); settings = controller.parmReportContract().parmPrintSettings(); settings.printMediumType(SRSPrintMediumType::File); settings.fileName(fileName); settings.fileFormat(SRSReportFileFormat::PDF); // Below is a part of code responsible for rendering the report 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()); // Actual rendering to byte array reportBytes = srsproxy.renderReportToByteArray(controller.parmreportcontract().parmreportpath(),parameterValueArray,settings.fileFormat(),settings.deviceinfo()); container binData; Binary binaryData; System.IO.MemoryStream mstream = new System.IO.MemoryStream(reportBytes); binaryData = Binary::constructFromMemoryStream(mstream); if(binaryData) { binData = binaryData.getContainer(); } System.Byte[] binData1; System.IO.Stream stream1; // Turn the Bytes into a stream for(int i = 0; i < conLen(binData); i++) { binData1 = conPeek(binData,i+1); stream1 = new System.IO.MemoryStream(binData1); } var messageBuilder = new SysMailerMessageBuilder(); messageBuilder.addTo(_contract.parmTo()).setSubject(_contract.parmsubject()).setBody(_contract.parmbody()); if (stream1 != null) { messageBuilder.addAttachment(stream1, strFmt('%1_%2',any2Str(today()),fileName)); } // sends non interactive message SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(messageBuilder.getMessage()); } } }
final class DTPackingSlipNotInvoicedBatchService extends SysOperationServiceBase { public void processoperation(DTPackingSlipNotInvoicedBatchContract _contract) { HcmWorker hcmWorker; DTPackingSlipNotInvoiceView pkgSlipNotInvoice; Query query; QueryRun queryRun; QueryBuildDataSource qbdshcmWorker; query = _contract.getQuery(); qbdshcmWorker = query.dataSourceTable(tableNum(HcmWorker)); queryRun = new QueryRun(query); hcmWorker = queryRun.get(tableNum(HcmWorker)); Microsoft.Dynamics.AX.Framework.Reporting.Shared.ReportingService.ParameterValue[] parameterValueArray; Filename fileName = "PackingSlipNotInvoice_"+ "Team" + ".pdf"; SrsReportRunController controller = new SrsReportRunController(); SRSPrintDestinationSettings settings; Array arrayFiles; System.Byte[] reportBytes = new System.Byte[0](); SRSProxy srsProxy; SRSReportRunService srsReportRunService = new SrsReportRunService(); Map reportParametersMap; SRSReportExecutionInfo executionInfo = new SRSReportExecutionInfo(); controller.parmReportName(ssrsReportStr(DTPackingSlipNotInvoice , PrecisionDesign1)); controller.parmShowDialog(false); controller.parmLoadFromSysLastValue(false); settings = controller.parmReportContract().parmPrintSettings(); settings.printMediumType(SRSPrintMediumType::File); settings.fileName(fileName); settings.fileFormat(SRSReportFileFormat::PDF); // Below is a part of code responsible for rendering the report controller.parmReportContract().parmReportServerConfig(SRSConfiguration::getDefaultServerConfiguration()); controller.parmReportContract().parmReportExecutionInfo(executionInfo); //controller.startOperation(); srsReportRunService.getReportDataContract(controller.parmreportcontract().parmReportName()); srsReportRunService.preRunReport(controller.parmreportcontract()); reportParametersMap = srsReportRunService.createParamMapFromContract(controller.parmReportContract()); parameterValueArray = SrsReportRunUtil::getParameterValueArray(reportParametersMap); srsProxy = SRSProxy::constructWithConfiguration(controller.parmReportContract().parmReportServerConfig()); // Actual rendering to byte array reportBytes = srsproxy.renderReportToByteArray(controller.parmreportcontract().parmreportpath(),parameterValueArray,settings.fileFormat(),settings.deviceinfo()); container binData; Binary binaryData; System.IO.MemoryStream mstream = new System.IO.MemoryStream(reportBytes); binaryData = Binary::constructFromMemoryStream(mstream); if(binaryData) { binData = binaryData.getContainer(); } System.Byte[] binData1; System.IO.Stream stream1; // Turn the Bytes into a stream for(int i = 0; i < conLen(binData); i++) { binData1 = conPeek(binData,i+1); stream1 = new System.IO.MemoryStream(binData1); } var messageBuilder = new SysMailerMessageBuilder(); messageBuilder.addTo(_contract.parmTo()).setSubject(_contract.parmsubject()).setBody(_contract.parmbody()); if (stream1 != null) { messageBuilder.addAttachment(stream1, strFmt('%1_%2',any2Str(today()),fileName)); } // sends non interactive message SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(messageBuilder.getMessage()); } }
hcmWorker = queryRun.get(tableNum(HcmWorker)); dirPartyTable dirPartyTable; LogisticsElectronicAddress logisticsElectronicAddress; select firstonly dirPartyTable where hcmWorker.Person == dirPartyTable.RecId join logisticsElectronicAddress where logisticsElectronicAddress.RecId == dirPartyTable.PrimaryContactEmail
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.
Martin Dráb 592 Most Valuable Professional
André Arnaud de Cal... 478 Super User 2025 Season 2
BillurSamdancioglu 305 Most Valuable Professional