Photo by Towfiqu barbhuiya on Unsplash
Dynamics 365 Calculating Tax with Tax Values
Vergi değerleri ile vergiyi hesaplamak
Merhabalar,
Raporda vergi hesaplaması yaparken, standart vergi hesaplama kodunun inanılmaz bir yavaşlığa sebep olduğunu fark ettim. Bu nedenle, kendime bir vergi hesaplama kodu yazdım. Yeni kodumla verginin değerlerini hesaplamak, raporumun en az 20 kat daha hızlı çalışmasını sağladı.
Aşağıda standart hesaplama ve benim vergi değerlerini bulduğum kodu paylaşıyorum. Umarım yararlı olur. Bir sonraki yazımda görüşmek üzere!
GÜNCELLEME (01.02.2024)
Sizinle vergi hesaplayan yeni bir method paylaşmak istiyorum. Bu method size ilgili parametreleri verdiğinizde vergi tutarını dönmektedir.
Tax::calcTaxAmount(salesLine.TaxGroup, salesLine.TaxItemGroup, DateTimeUtil::getToday(DateTimeUtil::getUserPreferredTimeZone()), salesLine.CurrencyCode, salesLine.LineAmount, TaxModuleType::Sales);
public TaxAmountCur calculateTaxSales(SalesTable _salesTable)
{
TaxAmountCur taxAmountCur;
SalesTotals salesTotals = SalesTotals::construct(_salesTable, SalesUpdate::All);
salesTotals.calc();
taxAmountCur = salesTotals.totalTaxAmount();
return taxAmountCur;
}
public TaxValue getTaxValue(TaxGroup _taxGroup, TaxItemGroup _taxItemGroup)
{
TaxGroupData taxGroupData;
TaxOnItem taxOnItem;
TaxValue taxValue;
while select taxGroupData
where taxGroupData.TaxGroup == _taxGroup
join taxOnItem
where taxOnItem.TaxCode == taxGroupData.TaxCode
&& taxOnItem.TaxItemGroup == _taxItemGroup
{
taxValue += taxOnItem.showTaxValue();
}
return taxValue;
}