Показать сообщение отдельно
Старый 17.11.2008, 03:34   #1  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
Lightbulb коррекция налогов
бывает у меня нередко, что интегрирую 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 при постинге инвойса. чем это чревато?
__________________
our sharp bitter vitriol is not that of the vulgar.