AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 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.
Старый 17.11.2008, 09:39   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от offenmeier Посмотреть сообщение
в этом случае я пользуюсь классом TaxRegulation.
ИМХО, правильный выбор. Мы так же пользуемся при закачке из 1С. Только у нас посложнее будет, т.к. возможен разный налог (10% и 18%) в одном заказе.
Старый 17.11.2008, 11:41   #3  
Tays is offline
Tays
Участник
 
165 / 17 (1) ++
Регистрация: 18.07.2003
Добрый день.

2 raz. Возникла проблема, когда данные по закупке приходят от поставщика в формате екселя. Система поставщика - 1С. Суммы налогов иногда имеют расхождения, как и описано в первом сообщении.

Цитата:
offenmeier

довольно часто происходит, что внешняя система округляет налоги для каждой линии заказа, и в результате, когда аксапта делает invoice update появляется разница между тем, что пришло из внешней системы, и тем, что считает аксапта.
Расскажите, как вы решили эту проблему вышеуказанным кодом с условием разных ставок налогов ?

Спасибо!
Старый 17.11.2008, 12:51   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
2 Tays
примерно так:

X++:
        PurchFormLetter                = PurchFormLetter::construct(DocumentStatus);

        purchParmUpdate.clear();
        purchParmUpdate.SpecQty        = _purchUpdate;
        purchParmUpdate.DocumentStatus = DocumentStatus;
        purchParmUpdate.SumBy          = AccountOrder::Account;
        purchParmUpdate.ParmId         = PurchFormLetter.parmId();

        PurchFormLetter.purchTable(localPurchTable);
        PurchFormLetter.purchParmUpdate(purchParmUpdate);
        PurchFormLetter.initLinesQuery();

        PurchTotals = PurchTotals::construct(localPurchTable, _purchUpdate, AccountOrder::Account, PurchFormLetter.parmId(), '', DocumentStatus);
        PurchTotals.calc();

        tmpTaxWorkTrans.setTmpData(PurchTotals.tax().tmpTaxWorkTrans());
        taxRegulation = taxRegulation::NewTaxRegulation(tmpTaxWorkTrans);
        tmpTaxRegulationWork.setTmpData(taxRegulation.tmpTaxRegulation());

        while select sum(SourceTaxAmountCur) from tmpTaxRegulationBase group by TaxCode
        {
            select forupdate firstonly tmpTaxRegulationWork where
                tmpTaxRegulationWork.TaxCode == tmpTaxRegulationBase.TaxCode;

            if (tmpTaxRegulationWork.RecId &&
                tmpTaxRegulationWork.SourceRegulateAmountCur != tmpTaxRegulationBase.SourceTaxAmountCur)
            {
                tmpTaxRegulationWork.SourceRegulateAmountCur = tmpTaxRegulationBase.SourceTaxAmountCur;
                tmpTaxRegulationWork.update();
                taxRegulation.calcAndSaveTaxInCostPrice(tmpTaxRegulationWork);
            }
        }

        taxRegulation.saveTaxRegulation();
ЗЫ. В tmpTaxRegulationBase и tmpTaxRegulationWork записаны построчно данные от поставщика: налоговый код и сумма.
Старый 17.11.2008, 14:36   #5  
Tays is offline
Tays
Участник
 
165 / 17 (1) ++
Регистрация: 18.07.2003
Спасибо.
Старый 18.12.2008, 07:41   #6  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
А у меня не регулируется выдает ошибку ((
Миниатюры
Нажмите на изображение для увеличения
Название: taxerror.jpg
Просмотров: 444
Размер:	54.1 Кб
ID:	4067  
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 18.12.2008, 09:16   #7  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от kalex_a Посмотреть сообщение
А у меня не регулируется выдает ошибку ((
Если регламентирован налог, то:
1. нельзя обрабатывать группу документов;
2. параметр в обработке "Суммарная обработка" должен иметь значение "Нет"
Старый 18.12.2008, 09:58   #8  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от raz Посмотреть сообщение
Если регламентирован налог, то:
1. нельзя обрабатывать группу документов;
2. параметр в обработке "Суммарная обработка" должен иметь значение "Нет"
"Суммарная обработка" имеет значение "Нет"
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 18.12.2008, 10:44   #9  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
все равно не работает ((
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 19.12.2008, 08:48   #10  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
хотя если вызвать purchFormLetter.prompt(), то все срабатывает
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Теги
закупка, интеграция, налоги, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Закупка и коррекция налогов... Anais DAX: Функционал 5 24.11.2010 19:03
Коррекция налогов в DAX 4.0 sp2 fp1 EE Lokki DAX: Программирование 1 16.12.2008 16:51
Коррекция налогов в журнале ГК Anna_G DAX: Функционал 10 10.10.2005 15:14
Коррекция налогов и сопоставление Hezl DAX: Программирование 0 10.02.2005 15:41
Коррекция или сторно налогов. Ann DAX: Функционал 9 09.11.2004 07:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:10.