取得税率Code:
public static TaxCode taxCodeFromSalesLine(SalesLine _salesLine)
{
TaxGroup taxGroup;
TaxItemGroup taxItemGroup;
TaxGroupData taxGroupData;
TaxOnItem taxOnItem;
Set taxCodeCombination = new Set(Types::String);
container cachedResult;
TaxCode taxCode;
taxGroup = _salesLine.TaxGroup;
taxItemGroup = _salesLine.TaxItemGroup;
cachedResult = TaxCache::getValue(
TaxCacheScope::IntersectionData,
[curext(), taxGroup, taxItemGroup]);
if (cachedResult != conNull())
{
taxCode = any2str(conPeek(conPeek(cachedResult, 1), 2));
}
else
{
while select TaxGroup, TaxCode, ExemptTax, IntracomVAT from taxGroupData
where taxGroupData.TaxGroup == taxGroup
join TaxItemGroup, TaxCode
//
,ExemptTax_BR
//
from taxOnItem
where taxOnItem.TaxItemGroup == taxItemGroup &&
taxOnItem.TaxCode == taxGroupData.TaxCode
{
taxCode = taxGroupData.TaxCode;
}
}
return taxCode;
}
取得税率的值:
public static TaxValue taxValueFromSalesLine(TaxCode _taxCode)
{
return TaxData::find(_taxCode, systemDateGet(), 0).TaxValue;
}