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.
Congratulations to our 2026 Super Stars!
We are thrilled to have these Champions in our Community!
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Joris dG 5
Andrew Jones a1x 2
Basit 1