Posts

Showing posts from 2017

Query Range more than one Value in x++ Query

static void queryMultipleValue(Args _args) {     Query                   query;     QueryRun                queryrun;     QueryBuildDataSource    qbds;     QueryBuildRange         qbr, qbr1;     SalesTable              salesTable;     str                     rangevalue;     ;     query = new Query();     qbds = query.addDataSource(tableNum(SalesTable));     qbds.addSortField(fieldNum(SalesTable, CustAccount), SortOrder::Ascending);     qbr     = qbds.addRange(fieldNum(SalesTable, CustAccount));         qbr.value(strFmt("%1,%2,%3", queryValue("US-4000"), queryValue("US-027"), queryValue("US-028")));       queryrun = ne...

Simple x++ query with enum value range

static void queryEnumValue(Args _args) {     Query                   query;     QueryRun                queryrun;     QueryBuildDataSource    qbds;     QueryBuildRange         qbr;     PurchTable              purchTable;     ;         query = new Query();         qbds = query.addDataSource(tableNum(PurchTable));     qbds.addSortField(fieldNum(PurchTable, PurchId), SortOrder::Ascending);     qbr     = qbds.addRange(fieldNum(PurchTable, PurchStatus));         qbr.value(enum2str(PurchStatus::Received));         queryrun = new QueryRun(query);         while(queryrun.next())     {         purchTable = query...

Date Range filter in x++ query

static void QueryDateRange(Args _args) {     Query                   query;     QueryRun                queryrun;     QueryBuildDataSource    qbds;     QueryBuildRange         qbr;     PurchLine               purchLine;     TransDate               fromDate, Todate;     ;         fromDate = mkDate(19,11,2016);     Todate   = mkDate(20,12,2016);         query = new Query();         qbds = query.addDataSource(tableNum(PurchLine));         qbds.addSortField(fieldNum(PurchTable, PurchId), SortOrder::Ascending);         qbr     = qbds.addRange(fieldNum(PurchLine, deliveryDate));     ...

Simple Custom Lookup Ax 2012 R3

Image
In this post we'll see how easily we can create a custom lookup. Suppose I have two fields  1. Country/Region 2. StateId Now I want to create a lookup so that If I will select any country then state lookup must show states which belongs to my selected country for example If I have selected India in country field then it must show only indian state in state field Lets see how can we achieve it. Step 1: Create a table and then create two fields            1. CountryRegionId            2. StateId Step 2: Create a form Step 3: For custom lookup we will use State master table i.e. LogisticsAddressState here we can see there is a method lookupStateId public client static void lookupStateId(     FormStringControl               _ctrl,     LogisticsAddressCountryRegionId _countryRegionId) {     SysTableLookup ...

Get Current Record for different data source x++

By this we can use same MenuItem at different place and for different data source. --------------------------------------------------------------------------- Public static void main(Args _args) {     RetailStatementTable    retailStatementTable;     RetailStatementLine     retailStatementLine;     RetailStatementId         StatementID;     RetailCountedAmountUpdate  RetailCountedAmountUpdate = new RetailCountedAmountUpdate();     ;      switch (_args.dataset())     {             case tablenum(RetailStatementTable) :             retailStatementTable =  _args.record();             StatementID = retailStatementTable.statementId;             break;                        ...

Automatic Create Folder x++

static void CreateFolder(Args _args) {     str  path = 'C:\\2017\\Jan';     ;     if (!WinApi::pathExists(path))     {         WinApi::createDirectoryPath(path);     } }

Post product receipt for registered quantity x++, Ax 2012

public void Run() {     PurchFormLetter             purchFormLetter;     PurchFormletterParmData     purchFormLetterParmData;     PurchParmUpdate             purchParmUpdate;     PurchParmTable              purchParmTable;     PurchParmLine               purchParmLine;     PurchTable                  purchTable,purchTable1;     PurchLine                   purchLine;     InventTrans                 inventTrans;     InventTransOrigin           inventTransOrigin;     PurchId                     purchId;     Num     ...

Save SSRS report in PDF and send email attachemnt x++

public void SaveSSRStoPDF() {     SrsReportRunController              ssrsController = new SrsReportRunController();     PayslipContract                 Contract = new PayslipContract();     SRSPrintDestinationSettings         printerSettings;     Filename                            ReportPath;       while select HcmWorker     {                       ReportPath = "C:\\"+ int2str(yearName) +"\\"+ int2str(monthName) +"\\"+ HcmWorker.PersonnelNumber +".pdf";             ssrsController.parmReportName(ssrsReportStr(WorkerPayslip, Report));             ssrsController.parmExecutionMode(SysOperationExecutionMode::Synchronous);     ...

Send Email with Attachment x++ for port 465 or 587

This code is also useful for below error. Method 'send' in COM object of class 'CDO.Message' returned error code 0x8004020E (<unknown>) which means: <unknown>.  For SSL enabled mail servers. Like: gmail, or office365 smtp.gmail.com with port 465 or 587 you can use below code public void email(filename ReportPath) {     System.Net.Mail.MailMessage             mailMessage;     System.Net.Mail.SmtpClient              myMail;     System.Net.Mail.MailAddressCollection   mailcoll;     System.Net.Mail.MailAddress             mailFrom;     System.Net.Mail.MailAddress             mailTo;     System.Net.Mail.Attachment              attachment;     System.Net.Mail.AttachmentCollection    attachementCollection;    ...