Getting CGST,SGST,IGST Amount:
public static void getTaxAmount(PurchLine _purchLine)
{
ITaxableDocument gTaxableDocument;
ITaxDocument gTaxDocument;
ITaxDocumentLine gTaxDocumentLine;
ITaxDocumentLine gTaxDocumentLineCur;
ITaxDocumentLineEnumerator gTaxDocumentLineEnum;
ITaxDocumentLineEnumerator gTaxDocumentLineEnumCur;
ITaxDocumentComponentLine gComponentLine;
ITaxDocumentComponentLineEnumerator gComponentLineEnum;
ITaxDocumentComponentLineMetaData gComponentLineMetadata;
str taxComponent;
PurchTable gPurchTable;
SalesQuotationLine gPurchLine;
real CGSTTaxValue, SGSTTaxValue, IGSTTaxValue, UGSTTaxValue,SGSTTaxAmount, CGSTTaxAmount, IGSTTaxAmount, UGSTTaxAmount;
Str1260 taxDesc;
gTaxableDocument = TaxableDocumentObject::construct(TaxableDocumentDescriptorFactory::getTaxableDocumentDescriptor(_purchLine));
gTaxDocument = TaxBusinessService::calculateTax(gTaxableDocument);
if(gTaxDocument)
{
gTaxDocumentLineEnum = gTaxDocument.subLines();
while(gTaxDocumentLineEnum.moveNext())
{
gTaxDocumentLineCur = gTaxDocumentLineEnum.current();
gTaxDocumentLineEnumCur = gTaxDocumentLineCur.lines();
// Single Document Line
while(gTaxDocumentLineEnumCur.moveNext())
{
gTaxDocumentLine = gTaxDocumentLineEnumCur.current();
gComponentLineEnum = gTaxDocumentLine.componentLines();
while(gComponentLineEnum.moveNext())
{
gComponentLine = gComponentLineEnum.current();
gComponentLineMetadata = gComponentLine.metaData();
taxComponent = gComponentLineMetadata.taxComponent();
//if (gPurchLine.RecId == _purchLine.RecId)
//{
switch (taxComponent)
{
case 'IGST':
IGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
IGSTTaxAmount = gComponentLine.getMeasure("Tax Amount").value().value();
break;
case 'CGST':
CGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
CGSTTaxAmount = gComponentLine.getMeasure("Tax Amount").value().value();
//_grnReportTmp.CGSTRate = taxvalue;
//_grnReportTmp.CGSTAmount = taxAmount;
break;
case 'SGST':
SGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
SGSTTaxAmount = gComponentLine.getMeasure("Tax Amount").value().value();
//_grnReportTmp.SGSTRate = taxvalue;
//_grnReportTmp.SGSTAmount = taxAmount;
break;
case 'UGST':
UGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
UGSTTaxAmount = gComponentLine.getMeasure("Tax Amount").value().value();
//_grnReportTmp.UGSTRate = taxvalue;
//_grnReportTmp.UGSTAmount = taxAmount;
break;
default:
break;
}
//}
}
}
}
}
}
======= to display memo field in report data CGST,SGST,ICST ===
Output ICST 9% 900
CGST 9% 800
SGST 9% 600
CGST 10% 700
SGST 9% 300
Code:
=======
public void getTaxAmount(CustInvoiceJour _custInvoiceJour)
{
ITaxableDocument gTaxableDocument;
ITaxDocument gTaxDocument;
ITaxDocumentLine gTaxDocumentLine;
ITaxDocumentLine gTaxDocumentLineCur;
ITaxDocumentLineEnumerator gTaxDocumentLineEnum;
ITaxDocumentLineEnumerator gTaxDocumentLineEnumCur;
ITaxDocumentComponentLine gComponentLine;
ITaxDocumentComponentLineEnumerator gComponentLineEnum;
ITaxDocumentComponentLineMetaData gComponentLineMetadata;
str taxComponent;
PurchTable gPurchTable;
SalesQuotationLine gPurchLine;
Str1260 taxDesc;
TaxTrans taxTrans;
str sgst,cgst,igst;
Map SGSTMap = new Map(Types::String, Types::Real);
Map CGSTMap = new Map(Types::String, Types::Real);
Map IGSTMap = new Map(Types::String, Types::Real);
Map cur = new Map(Types::String ,Types::String);
gTaxableDocument = TaxableDocumentObject::construct(TaxableDocumentDescriptorFactory::getTaxableDocumentDescriptor(_custInvoiceJour));
gTaxDocument = TaxBusinessService::calculateTax(gTaxableDocument);
if(gTaxDocument)
{
gTaxDocumentLineEnum = gTaxDocument.subLines();
while(gTaxDocumentLineEnum.moveNext())
{
gTaxDocumentLineCur = gTaxDocumentLineEnum.current();
gTaxDocumentLineEnumCur = gTaxDocumentLineCur.lines();
// Single Document Line
while(gTaxDocumentLineEnumCur.moveNext())
{
gTaxDocumentLine = gTaxDocumentLineEnumCur.current();
gComponentLineEnum = gTaxDocumentLine.componentLines();
while(gComponentLineEnum.moveNext())
{
gComponentLine = gComponentLineEnum.current();
gComponentLineMetadata = gComponentLine.metaData();
taxComponent = gComponentLineMetadata.taxComponent();
switch (taxComponent)
{
case 'IGST':
IGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
IGSTTaxAmount += gComponentLine.getMeasure("Tax Amount").value().value();
if (IGSTMap.exists(strFmt("IGST %1%", IGSTTaxValue)))
{
real amount = IGSTMap.lookup(strFmt("IGST %1%", IGSTTaxValue));
amount += gComponentLine.getMeasure("Tax Amount").value().value();
IGSTMap.insert(strFmt("IGST %1%", IGSTTaxValue), amount);
}
else
{
IGSTMap.insert(strFmt("IGST %1%", IGSTTaxValue), gComponentLine.getMeasure("Tax Amount").value().value());
}
IGSTstr = taxComponent;
break;
case 'CGST':
CGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
CGSTTaxAmount += gComponentLine.getMeasure("Tax Amount").value().value();
if (CGSTMap.exists(strFmt("CGST %1%", CGSTTaxValue)))
{
real cGSTAmount = CGSTMap.lookup(strFmt("CGST %1%", CGSTTaxValue));
cGSTAmount += gComponentLine.getMeasure("Tax Amount").value().value();
CGSTMap.insert(strFmt("CGST %1%", CGSTTaxValue), cGSTAmount);
}
else
{
CGSTMap.insert(strFmt("CGST %1%", CGSTTaxValue), gComponentLine.getMeasure("Tax Amount").value().value());
}
break;
case 'SGST':
SGSTTaxValue = gComponentLine.getMeasure("Rate").value().value() * 100;
SGSTTaxAmount += gComponentLine.getMeasure("Tax Amount").value().value();
if (SGSTMap.exists(strFmt("SGST %1%", SGSTTaxValue)))
{
real amount = SGSTMap.lookup(strFmt("SGST %1%", SGSTTaxValue));
amount += gComponentLine.getMeasure("Tax Amount").value().value();
SGSTMap.insert(strFmt("SGST %1%", SGSTTaxValue), amount);
}
else
{
SGSTMap.insert(strFmt("SGST %1%", SGSTTaxValue), gComponentLine.getMeasure("Tax Amount").value().value());
}
break;
default:
break;
}
}
}
}
if (IGSTMap.elements())
{
isgstpercentage = this.getKeyValue(IGSTMap, '', true);
isgsttotal = this.getKeyValue(IGSTMap, _custInvoiceJour.CurrencyCode);
}
if (CGSTMap.elements() || SGSTMap.elements())
{
totalpercentage = this.getKeyValue(CGSTMap, '', true) + this.getKeyValue(SGSTMap, '', true);
total = this.getKeyValue(CGSTMap, custInvoiceJour.CurrencyCode) + this.getKeyValue(SGSTMap, custInvoiceJour.CurrencyCode);
}
}
}
/// <summary>
/// This method is used to get key value.
/// </summary>
/// <param name = "_map">boolean</param>
/// <param name = "_key"></param>
/// <returns>value</returns>
public str getKeyValue(Map map,CurrencyCode currencyCode = '', boolean _key = false)
{
str value;
MapEnumerator mapEnumerator;
mapEnumerator = _map.getEnumerator();
if (_key)
{
while (mapEnumerator.moveNext())
{
value += mapEnumerator.currentKey() + "\n";
}
}
else
{
while (mapEnumerator.moveNext())
{
value += num2Str(mapEnumerator.currentValue(),-1,2,DecimalSeparator::Dot,ThousandSeparator::None) + "\n";
IGSTCur += _currencyCode + "\n";
}
}
return value;
}
/// <summary>
/// This method is used to get amount value
/// </summary>
/// <param name = "_map">Map</param>
/// <returns>value</returns>
public str getAmountValue(Map _map)
{
str value;
MapEnumerator mapEnumerator;
mapEnumerator = _map.getEnumerator();
while (mapEnumerator.moveNext())
{
value += mapEnumerator.currentValue() + "\n";
}
return value;
}
/// <summary>
/// This method is used to getValueDel
/// </summary>
/// <param name = "_map">Map</param>
/// <param name = "_currencyCode">CustCurrencyCode</param>
/// <returns>value</returns>
public str getValueDel(Map map, CustCurrencyCode currencyCode)
{
str value;
MapEnumerator mapEnumerator;
mapEnumerator = _map.getEnumerator();
while (mapEnumerator.moveNext())
{
value= strFmt("%1", _currencyCode) + "\n";
}
return value;
}
}
No comments:
Post a Comment