//计算采购进项税
public static void Purch_SL_PurchLineTaxCal(Args _args)
{
    PurchLine       purchline;
    TaxGroupData    taxGroupData;
    TaxOnItem       taxonItem;
    TaxTable        taxTable;
    TaxValue        taxValue;

    Amount          amountInclTax, amountExclTax, purchTax;// 详细计算税的方法---

    purchline  = PurchLine::find("HAND-000019228", 1);

    //第一种详细计算税的方法---
    while select TaxCode from taxTable
        join RecId, TaxCode from taxGroupData
         where taxGroupData.TaxGroup    == purchline.TaxGroup
         &&    taxGroupData.TaxCode     == taxTable.TaxCode
        join RecId from taxonItem
            where taxonItem.TaxItemGroup    == purchline.TaxItemGroup
            &&    taxonItem.TaxCode         == taxTable.TaxCode
    {
        taxValue += TaxData::percent(taxTable.TaxCode, systemDateGet(), 0);//含税百分比
    }

    //purchTax = purchline.PurchPrice / (1 + taxValue / 100) * purchline.PurchQty;// 未含税净额
    purchTax = purchline.PurchPrice / (1 + taxValue / 100);//未含税单价

    purchTax = purchline.PurchPrice - purchTax;//含税单价-未含税单价= 进项税

    info(strFmt("进项税百分比是%1, 采购订单行进项税是:%2", taxValue, purchTax));

    //第二种使用系统标准方法
    purchline  = PurchLine::find("HAND-000019228", 1);

    amountInclTax = purchline.calcLineAmountInclTax_RU();// 含税行净额
    amountExclTax = purchline.calcLineAmountExclTax(); //未含税净额
    purchTax      = amountInclTax - amountExclTax; //进项税
    //*/

    info(strFmt("含税行净额%1,未含税净额%2,进项税:%3", amountInclTax,amountExclTax,purchTax));

}

  

posted on 2019-10-30 11:38  Sunny_Li  阅读(216)  评论(0编辑  收藏  举报