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.TableId, transactionTable.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