бывает у меня нередко, что интегрирую AX со всякими системами, которые поставляют в AX данные в виде: я продал этому клиенту столько-то того-то, и он заплатил мне столько-то и налогов из этого столько-то.
и, соответственно, необходимо провести по аксапте в точности так, как дано. клиент-то уже заплатил.
довольно часто происходит, что внешняя система округляет налоги для каждой линии заказа, и в результате, когда аксапта делает invoice update появляется разница между тем, что пришло из внешней системы, и тем, что считает аксапта.
в этом случае я пользуюсь классом TaxRegulation.
X++:
void setTaxAmount(SalesId _sales, Amount _tax)
{
SalesTotals stotals = SalesTotals::construct(SalesTable::find(_sales));
Tax tax = stotals.tax();
TaxRegulation tregulation = TaxRegulation::newTaxRegulation(tax);
;
tregulation.allocateAmount(_tax);
tregulation.saveTaxRegulation();
}
где _tax - это то, что пришло из другой системы. Насколько такой метод уместен? В общем, это равноценно функции Tax при постинге инвойса. чем это чревато?