March 19, 2015

X++ code for Creating and invoicing Sales order in AX 2012

static void SOAutoConfirmAndInvoice(Args _args)
{
SalesTable salesTable;
SalesLine salesLine;
CustTable custTable= CustTable::find("US-101");
AxSalesTable axsalesTable;
AxSalesLine axSalesLine;
SalesFormLetter salesFormLetter;
;

//Create Sales order

salesTable.initFromCustTable();

axsalesTable = AxSalesTable::newSalesTable(salesTable);
axsalesTable.parmCustAccount("US-004");
axsalesTable.parmSalesType(SalesType::Sales);

axsalesTable.parmDocumentStatus(DocumentStatus::Confirmation);

axsalesTable.parmDeliveryDate(str2Date("03/18/2015",213));
axsalesTable.parmSalesStatus(SalesStatus::Backorder);

axsalesTable.doSave();

salesLine.initFromSalesTable(salesTable);

axSalesLine = AxSalesLine::newSalesLine(salesLine);
axSalesLine.parmItemId("T0001");
axSalesLine.parmInventDimId("000458");
axSalesLine.parmCurrencyCode("USD");
axSalesLine.parmSalesQty(2);
axSalesLine.parmSalesPrice(10.00);
axSalesLine.doSave();



//SO confirmation
salesTable = axSalesTable.salesTable(salesTable);
salesFormLetter = SalesFormLetter::construct(DocumentStatus::Confirmation);
salesFormLetter.update(salesTable);

// SO invoicing
salesFormLetter = salesFormLetter::construct(DocumentStatus::Invoice);
salesFormLetter.update(salesTable);
info(strFmt("Sales order %1 invoiced",salesTable.SalesId));
}


No comments:

Post a Comment