Notifications
Announcements
No record found.
Sir how can we create sales order in AX 2012 using classes and class declaration,using different classes related to sales order.
*This post is locked for comments
You can refer below code . If you know how to create classes (which you can easily search on the web ),you can utilize below code
community.dynamics.com/.../how-to-create-sales-order-through-code
Hi Jamil,
Here’s the code you can use to create a sales order in Dynamics AX 2012 through X++.
static void CreateSalesOrder(Args _args) { //declaring variables SalesTable salesTable; SalesLine salesLine; NumberSeq numberSeq; SalesFormLetter salesFormLetter;; ttsBegin; //creating sales order header //getting sales order id from number sequence numberSeq = NumberSeq::newGetNum(SalesParameters::numRefSalesId()); numberSeq.used(); salesTable.SalesId = numberSeq.num(); salesTable.initValue(); salesTable.CustAccount = ‘US-001’; salesTable.initFromCustTable(); //validate if (!salesTable.validateWrite()) { throw Exception::Error; } salesTable.insert(); //creating sales order line salesLine.SalesId = salesTable.SalesId; salesLine.ItemId = ‘D0001’; salesLine.SalesQty = 2; salesLine.LinePercent = 1; salesLine.createLine(true, // Validate true, // initFromSalesTable true, // initFromInventTable true, // calcInventQty true, // searchMarkup true // searchPrice ); ttsCommit; //confirm sales order salesFormLetter = SalesFormLetter::construct(DocumentStatus::Confirmation); salesFormLetter.update(salesTable); //displaying sales order id info(salesTable.SalesId); }
Best Regards,
Blue Wang
I need such a code that are using the ax classes to create a sales order,This code is asking for (literator.more()) but I don't know what is the type of literator they ask for declaration.I was using my own aurguments and giving static value in place of _SOContract.custAccount().
private SalesId createAXSO(AMSSalesOrderContract _SOContract){ SalesTable salesTable;SalesLine salesLine;AxSalesTable axsalesTable;AxSalesLine axSalesLine;SalesFormLetter salesFormLetter;; //Create Sales order custTable = CustTable::find( _SOContract.custAccount()); salesTable.initFromCustTable(); axsalesTable = AxSalesTable::newSalesTable(salesTable); axsalesTable.parmCustAccount( _SOContract.custAccount()); axsalesTable.parmSalesType(SalesType::Sales); axsalesTable.parmDocumentStatus(DocumentStatus::Confirmation); axsalesTable.parmDeliveryDate(systemDateGet()+ 30); axsalesTable.parmSalesStatus(SalesStatus::Backorder); axsalesTable.doSave(); while (literator.more()) { lSalesLineContract = literator.value(); salesLine.initFromSalesTable(salesTable); axSalesLine = AxSalesLine::newSalesLine(salesLine); axSalesLine.parmItemId(lSalesLineContract.itemId()); //////Mandatory Values inventDim.InventSiteId = "AUS"; inventDim.InventLocationId = "EPH"; inventDim = InventDim::findOrCreate(inventDim); axSalesLine.parmInventDimId(inventDim.inventDimId); axSalesLine.parmCurrencyCode("AUD"); axSalesLine.parmSalesQty(4); axSalesLine.parmSalesPrice(20.00); axSalesLine.doSave(); literator.next(); } //SO confirmation salesTable = axSalesTable.salesTable(salesTable); salesFormLetter = SalesFormLetter::construct(DocumentStatus::Confirmation); salesFormLetter.update(salesTable);// SO invoicingsalesFormLetter = salesFormLetter::construct(DocumentStatus::Invoice);salesFormLetter.update(salesTable); return salesTable.SalesId;}
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 4 Most Valuable Professional
Priya_K 4
MyDynamicsNAV 2