X++ in D365 Finance and Operations: Manual prices in SalesLine/PurchLine records

To create your SalesLine/PurchLine record with manual price related fields there is a simple method to do this. You need to call the function setPriceDiscChangePolicy().

See the SalesLine code example below:

static void createSalesLine(){
SalesLine salesLine;

salesLine.salesId = "ThisIsSalesID";
salesLine.ItemId = "ThisIsAnItemId";
salesLine.SalesQty = 4;
salesLine.SalesPrice = 4.89;
salesLine.LineDisc = 5.00;
salesLine.LinePercent = 2.00;
salesLine.PriceUnit = 1.00;

salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, SalesPrice));
salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, LineDisc));
salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, LinePercent));
salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, PriceUnit));

salesLine.createLine(true, //Validate
true); //initFromSalesTable
}

Manually setting the fields means that any changes made on the form will not update the values automatically.

I hope this helps in programming your task. Happy coding!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *