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;
}