calculate total sales order or sales quotation amount / discounts / tax etc., through code( X++ ) in AX
this can be achieved through code using SalesTotals class.
Check out the below code snippet.
Check out the below code snippet.
SalesTotals salesTotals;
SalesTable salesTable;
container displayFields;
str totalTax, amountWithoutTax, amountInclTax;
salesTable = salesTable::find('SO-1112345');
salesTotals = SalesTotals::construct(salesTable, salesUpdate::All);
salesTotals.calc();
displayFields = salesTotals.displayFieldsCurrency(salesTotals.currencyCode());
amountWithoutTax = conpeek(displayFields, TradeTotals::posBalance());
amountInclTax = conpeek(displayFields, TradeTotals::posTotalAmount());
totalTax = conpeek(displayFields,TradeTotals::posTaxTotal());
In the above way, we can get all the values available in the totals form in the Sales Order Form by changing the TradeTotals values.
We can get the values in the desired currency by providing a valid currency as a parameter to the displayFieldsCurrency method.
In the same way we can apply it to get the Sales Quotation totals also but instead of salestotals we need to use SalesQuotationTotals class.