Monday, November 17, 2025

To get all tax document values

To get all tax document values 

 private container GetAllTaxDocumentValues(LedgerJournalTrans _ledgerJournalTrans) 

    { 

        Common                                  transactionTable; 

        ITaxableDocument                        taxableDocumentObject; 

        TaxableDocumentDescriptor               taxable; 

        ITaxDocument                            taxableDoc; 

        ITaxDocumentLine                        taxableDocLine; 

        TaxEngineLedgerJournalTransHeader       TaxEngineLedgerJournalTransHeader; 

        TaxComponent_IN                         taxComponent; 

        ITaxDocumentComponentLineEnumerator     componentLineEnumerator; 

        ITaxDocumentComponentLine               componentLineObject; 

        ITaxDocumentMeasureEnumerator           measureEnumerator; 

        real                                    TaxableAmt,RCMValue,RCMValue1,_CGST,_CRate,_SGST,_SRate,_IGST,_IRate; 

        boolean                                 LineWithRCM; 

        container                               TaxDocumentValues; 

  

        if(_ledgerJournalTrans) 

        { 

            select TaxEngineLedgerJournalTransHeader where TaxEngineLedgerJournalTransHeader.Voucher == _ledgerJournalTrans.Voucher 

        && TaxEngineLedgerJournalTransHeader.JournalNum==_ledgerJournalTrans.JournalNum; 

            if(TaxEngineLedgerJournalTransHeader) 

            { 

                transactionTable        = TaxEngineLedgerJournalTransHeader; 

                taxable                 = TaxableDocumentDescriptorFactory::getTaxableDocumentDescriptor(transactionTable); 

                taxableDocumentObject   = TaxableDocumentObject::constructServer(taxable); 

                taxableDoc              = TaxBusinessService::getTaxDocumentBySource(transactionTable.TableIdtransactionTable.RecId); 

                if(taxableDoc != null) 

                { 

                    taxableDocLine = taxableDoc.findLineBySource(_ledgerJournalTrans.TableId,_ledgerJournalTrans.RecId); 

                    if(taxableDocLine!=null) 

                    { 

                        componentLineEnumerator = taxableDocLine.componentLines(); 

                        while(componentlineenumerator.movenext()) 

                        { 

  

                            componentlineobject = componentlineenumerator.current(); 

                            measureEnumerator = componentlineobject.measures(); 

  

                            taxcomponent = componentlineobject.metadata().taxcomponent(); 

                            if(taxcomponent == #CGST || taxcomponent == #SGST || taxcomponent ==#IGST) 

                            { 

                                RCMValue    +=componentlineobject.getmeasure(#RCM).value().value() * 100; 

                                RCMValue1    +=componentlineobject.getmeasure(#RCM1).value().value(); 

                                TaxableAmt  = componentlineobject.getmeasure(#BaseAmount).value().value(); 

                                if(taxcomponent == #CGST) 

                                { 

                                    _CGST=componentLineObject.getMeasure(#TaxAmount).value().value(); 

                                    _CRate=componentLineObject.getMeasure(#GSTRate).value().value() * 100; 

                                } 

                                if(taxcomponent == #SGST) 

                                { 

                                    _SGST=componentLineObject.getMeasure(#TaxAmount).value().value(); 

                                    _SRate=componentLineObject.getMeasure(#GSTRate).value().value() * 100; 

                                } 

                                if(taxcomponent == #IGST) 

                                { 

                                    _IGST = componentLineObject.getMeasure(#TaxAmount).value().value(); 

                                    _IRate=componentLineObject.getMeasure(#GSTRate).value().value() * 100; 

                                } 

                            } 

                        } 

                    } 

  

                } 

            } 

        } 

        LineWithRCM = (RCMValue > 0 || RCMValue1 > 0) ? true : false; 

  

        TaxDocumentValues =[LineWithRCM,TaxableAmt,_CGST,_CRate,_SGST,_SRate,_IGST,_IRate]; 

  

        return  TaxDocumentValues; 

    } 

 

No comments:

Post a Comment