How to calculate charge (MarkupTrans) amount from code

static void calculateMarkupTrans(Args _args)
    SalesTable              salesTable = SalesTable::find('000854');
    SalesLine               salesLine;
    AmountCur               markupAmount;
    MarkupTrans             markupTrans;
    CurrencyExchangeHelper  curCurrencyExchangeHelper;
    while select salesLine
        where salesLine.SalesId == salesTable.SalesId
        while select markupTrans
            where markupTrans.TransTableId  == salesLine.TableId
                &&markupTrans.TransRecId    == salesLine.RecId
            markupAmount = Markup::calcTrans(markupTrans, salesLine.SalesQty, salesLine.LineAmount);
            if (markupTrans.CurrencyCode != salesTable.CurrencyCode)
                // To automatically conver amount Markup::calcMarkupAmount can be used
                curCurrencyExchangeHelper = CurrencyExchangeHelper::newExchangeDate(Ledger::primaryLedger(CompanyInfo::findDataArea(, systemDateGet());
                markupAmount = curCurrencyExchangeHelper.calculateAccountingToTransaction(salesTable.CurrencyCode, markupAmount, true);


About is free platform that allows you to quickly store and reuse snippets, notes, articles related to Dynamics AX.

Authors are allowed to set their own AdSense units.
Join us.

Blog Tags