Go to System administration – Setup – Email – Email Parameters. Configure the SMTP settings as per below screens.
2. Sample Code
Filename fileName = "AbcTest.pdf";SrsReportRunController controller = new SrsReportRunController();SRSPrintDestinationSettings settings;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();;controller.parmReportName(ssrsReportStr(VendBaseData, Report));controller.parmShowDialog(false);controller.parmLoadFromSysLastValue(false);// Provide printer settingssettings = controller.parmReportContract().parmPrintSettings();settings.printMediumType(SRSPrintMediumType::File);settings.fileName(fileName);settings.fileFormat(SRSReportFileFormat::PDF);// Below is a part of code responsible for rendering the reportcontroller.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 arrayreportBytes = srsproxy.renderReportToByteArray(controller.parmreportcontract().parmreportpath(),parameterValueArray,settings.fileFormat(),settings.deviceinfo());// You can also convert the report Bytes into an xpp BinData object if neededcontainer 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 streamfor(int i = 0; i < conLen(binData); i++){binData1 = conPeek(binData,i+1);stream1 = new System.IO.MemoryStream(binData1);}var messageBuilder = new SysMailerMessageBuilder();messageBuilder.addTo('myemail@email.com').setSubject("Fun").setBody("Fun");messageBuilder.setFrom('noreply@yourdomain.in');if (stream1 != null){messageBuilder.addAttachment(stream1,'abcd.pdf');}SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(messageBuilder.getMessage());
Create Default Dimension From Financial Dimension Values.
Sample Code
DimensionAttributeValueSetStorage valueSetStorage = new DimensionAttributeValueSetStorage();DimensionDefault result;int i;DimensionAttribute dimensionAttribute;DimensionAttributeValue dimensionAttributeValue;container conAttr = ["BusinessUnit", "conceptbrand"]; // Dimensionscontainer conValue = ["001", "ABC"]; // respective Valuesstr dimValue;for (i = 1; i <= conLen(conAttr); i++){dimensionAttribute = dimensionAttribute::findByName(conPeek(conAttr,i));if (dimensionAttribute.RecId == 0){continue;}dimValue = conPeek(conValue,i);if (dimValue != ""){// The last parameter is “true”. A dimensionAttributeValue record will be created if not //found.dimensionAttributeValue =dimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute,dimValue,false,true);// Add the dimensionAttibuteValue to the default dimensionvalueSetStorage.addItem(dimensionAttributeValue);}}result = valueSetStorage.save();
Microsoft Dynamics AX, Microsoft Dynamics 365 for Finance and Operations, D365 FO, Retail, SQL, Microsoft Power Apps, Microsoft Power BI, Microsoft Azure, Logic Apps, Microsoft Flow, Microsoft power automate, Microsoft Power Platform,.Net, X++, C#, Power BI DAX, Data Warehousing, Microsoft Analysis Services, SQL Server Reporting Services