Calculations in view (Computed column)

-------------------------------------------------------------Addition-------------------------------------------

  private static str compLineAmountMethod()

    {

        str                 sFirstLine, sLineAmount, sReturn, sReturn1, sSetItemAttr, sCostTotal, sSumLineDisc;


        sFirstLine          = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), #DataSourceName, fieldStr(SetComponents_ABC, FirstLine));

        sLineAmount         = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), #DataSourceName1, fieldStr(CustInvoiceTrans, LineAmount));

        sSetItemAttr        = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), identifierStr(ItemAttributeValueView_SetItem), fieldStr(ItemAttributeValueView_ABC, TextValue));

        sCostTotal          = SysComputedColumn::sum(SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), #DataSourceName3, fieldStr(MarkupTrans, Value)));

        sSumLineDisc        = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), #DataSourceName1, fieldStr(CustInvoiceTrans, SumLineDisc));


        sReturn1            = SysComputedColumn::if(SysComputedColumn::notEqualExpression(sCostTotal, SysComputedColumn::comparisonLiteral(0)),

                                                    SysComputedColumn::add(sLineAmount, sCostTotal), sLineAmount);


        //sReturn1            = SysComputedColumn::if(SysComputedColumn::notEqualExpression(sSumLineDisc, SysComputedColumn::comparisonLiteral(0)),

        //                                                SysComputedColumn::subtract(sReturn1, sSumLineDisc), sReturn1);


        sReturn             = SysComputedColumn::if(SysComputedColumn::equalExpression(sSetItemAttr, SysComputedColumn::comparisonLiteral('SET')), SysComputedColumn::if(

                                                    SysComputedColumn::notEqualExpression(sFirstLine, SysComputedColumn::comparisonLiteral(0)),

                                                    sReturn1, SysComputedColumn::returnLiteral(0)), sReturn1);


        return sReturn;


    }


-------------------------------------------------Multiplication------------------------------------------------------- 

private static str compExportQtyMethod()

    {

        str                 sFirstLine, sQty,  sReturn, sComponentQty;


        sQty                = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), #DataSourceName1, fieldStr(CustInvoiceTrans, Qty));

        sComponentQty       = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), identifierStr(SetComponents_ABC), fieldStr(SetComponents_ABC, ComponentQuantity));


        sReturn             = SysComputedColumn::if(SysComputedColumn::notEqualExpression(sComponentQty, SysComputedColumn::comparisonLiteral(0)), 

                                        SysComputedColumn::multiply(sComponentQty, sQty), sQty);

                    


        return sReturn;

    }


--------------------------------------------Subtraction---------------------------------------------------------------

 private static str compInvoiceAmountMethod()

    {

        str                 sInvoiceAmount, sTaxAmount, sReturn;

    

        sInvoiceAmount      = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), identifierStr(CustInvoiceJour), fieldStr(CustInvoiceJour, InvoiceAmount));

        sTaxAmount          = SysComputedColumn::returnField(tableStr(ExportInvoicesDataCustomsView_ABC), identifierStr(CustInvoiceJour), fieldStr(CustInvoiceJour, SumTax));

    

        return SysComputedColumn::if(SysComputedColumn::notEqualExpression(sTaxAmount, SysComputedColumn::comparisonLiteral(0)),

                                        SysComputedColumn::subtract(sInvoiceAmount, sTaxAmount),

                                        sInvoiceAmount);

    

    }


Comments

Popular posts from this blog

On clicked event of form button in D365 X++

Finding unit price of item from trade agreement through code AX X++

Create Sales Line Through Code AX X++ D365 Finance & Operations