For PO Line
public static container GstCalculation(RefRecId purchRecid, TableId tableId, refRecId purchLineRecId)
{
vendPurchOrderJour vendPurchOrderJour;
PurchLineAllVersions ObjPurchLineAllVersions;
ITaxDocument taxDocument;
ITaxDocumentComponentLineEnumerator componentLineEnumerator;
ITaxDocumentComponentLine componentLineObject;
ITaxDocumentMeasureEnumerator measureEnumerator;
ITaxDocumentLine line;
ITaxDocumentLineEnumerator lineEnumerator;
container taxValue;
TaxComponent_IN taxComponent;
;
//vendPurchOrderJour = vendPurchOrderJour::findRecId(VendPurchOrderJour::findByPurchId(purchId).RecId);
taxDocument = TaxBusinessService::getTaxDocumentBySource( tableId,purchRecid);
if(taxDocument != null)
{
componentLineEnumerator = taxDocument.componentLines();
lineEnumerator = taxDocument.lines();
if (taxDocument)
{
//lineEnumerator for Current line taxDocument start
lineEnumerator = taxDocument.lines();
while(lineEnumerator.moveNext())
{
line = lineEnumerator.current();
line.setTaxDocument(taxDocument);
if(line.originSourceRecId() != 0 && line.getInvoiceTax().value() != 0 )
{
while(componentLineEnumerator.moveNext())
{
componentLineObject = componentLineEnumerator.current();
taxComponent = componentLineObject.metaData().taxComponent();
if(taxComponent == "CGST")
{
if( line.sourceRecId() == purchLineRecId)
{
taxValue += componentLineObject.getMeasure("Rate").value().value() * 100;
}
// taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();
}
if(taxComponent == "SGST")
{
if( line.sourceRecId() == purchLineRecId)
{
taxValue += componentLineObject.getMeasure("Rate").value().value() * 100;
}
// taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();
break;
}
if(taxComponent == "IGST")
{
if(conLen(taxValue)<1)
{
if( line.sourceRecId() == purchLineRecId)
{
taxValue += componentLineObject.getMeasure("Rate").value().value() * 100;
}
}
// taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();
break;
}
}
}
}
}
}
return taxValue;
}
For Header level
public static container GstCalculation(RefRecId purchRecid, TableId tableId)
{
vendPurchOrderJour vendPurchOrderJour;
PurchLineAllVersions ObjPurchLineAllVersions;
ITaxDocument taxDocument;
ITaxDocumentComponentLineEnumerator componentLineEnumerator;
ITaxDocumentComponentLine componentLineObject;
ITaxDocumentMeasureEnumerator measureEnumerator;
ITaxDocumentLine line;
ITaxDocumentLineEnumerator lineEnumerator;
container taxValue;
TaxComponent_IN taxComponent;
;
//vendPurchOrderJour = vendPurchOrderJour::findRecId(VendPurchOrderJour::findByPurchId(purchId).RecId);
taxDocument = TaxBusinessService::getTaxDocumentBySource( tableId,purchRecid);
if(taxDocument != null)
{
componentLineEnumerator = taxDocument.componentLines();
lineEnumerator = taxDocument.lines();
if (taxDocument)
{
//lineEnumerator for Current line taxDocument start
lineEnumerator = taxDocument.lines();
while(lineEnumerator.moveNext())
{
line = lineEnumerator.current();
line.setTaxDocument(taxDocument);
if(line.originSourceRecId() != 0 && line.getInvoiceTax().value() != 0)
{
while(componentLineEnumerator.moveNext())
{
componentLineObject = componentLineEnumerator.current();
taxComponent = componentLineObject.metaData().taxComponent();
if(taxComponent == "CGST")
{
taxValue += componentLineObject.getMeasure("Rate").value().value() * 100;
// taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();
}
if(taxComponent == "SGST")
{
taxValue += componentLineObject.getMeasure("Rate").value().value() * 100;
// taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();
break;
}
if(taxComponent == "IGST")
{
if(conLen(taxValue)<1)
{
taxValue += componentLineObject.getMeasure("Rate").value().value() * 100;
}
// taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();
break;
}
}
}
}
}
}
return taxValue;
}
Top comments (0)