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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.10.2010, 11:06   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Не работает корректировка налога в стандартной AX2009
Попробуйте создать Заказ на продажу, в котором будет 2 номенклатуры т.е. 2 строки, облагаемые налогом. Затем перейдите в Настройка->Налог и откорректируйте общий налог на какую-нибудь сумму. Нажмите кнопку "Применить". Закройте форму корректировки налога. И посмотрите Запрос->Итоги или опять откройте форму корректировки налога и там и там Налог будет уже другой.

В классе TaxRegulation в методе saveTaxRegulation вместо

X++:
        if (taxWorkRegulation)
        {
            taxWorkRegulation.HeadingTableId                = headingTableId;
            taxWorkRegulation.HeadingRecId                  = headingRecId;
            taxWorkRegulation.TaxCode                       = tmpTaxWorkTrans.TaxCode;
            taxWorkRegulation.vatDueDate_W                  = _dateOfVatRegister;
            taxWorkRegulation.VatExchRate_W                 = _exchRateSales;
            taxWorkRegulation.TaxDirection                  = tmpTaxWorkTrans.TaxDirection;
            taxWorkRegulation.ManualInsertedTax             = tmpTaxWorkTrans.ManualInsertedTax;
            taxWorkRegulation.TaxRegulationAmountCur        = tmpTaxWorkTrans.SourceRegulateAmountCur;
            taxWorkRegulation.SourceBaseAmountCurRegulated  = tmpTaxWorkTrans.SourceBaseAmountCurRegulated;
            taxWorkRegulation.SourceRegulateAmount_W        = tmpTaxWorkTrans.SourceRegulateAmount_W;
            taxWorkRegulation.SourceBaseAmountRegulated_W   = tmpTaxWorkTrans.SourceBaseAmountRegulated_W;
            taxWorkRegulation.update();
        }
поставил
X++:
        if (taxWorkRegulation)
        {
            taxWorkRegulation.HeadingTableId                = headingTableId;
            taxWorkRegulation.HeadingRecId                  = headingRecId;
            taxWorkRegulation.TaxCode                       = tmpTaxWorkTrans.TaxCode;
            taxWorkRegulation.vatDueDate_W                  = _dateOfVatRegister;
            taxWorkRegulation.VatExchRate_W                 = _exchRateSales;
            taxWorkRegulation.TaxDirection                  = tmpTaxWorkTrans.TaxDirection;
            taxWorkRegulation.ManualInsertedTax             = tmpTaxWorkTrans.ManualInsertedTax;
            // kos 3 - 2009
            taxWorkRegulation.TaxRegulationAmountCur        += tmpTaxWorkTrans.SourceRegulateAmountCur;
            // kos 3 - 2009
            taxWorkRegulation.SourceBaseAmountCurRegulated  = tmpTaxWorkTrans.SourceBaseAmountCurRegulated;
            taxWorkRegulation.SourceRegulateAmount_W        = tmpTaxWorkTrans.SourceRegulateAmount_W;
            taxWorkRegulation.SourceBaseAmountRegulated_W   = tmpTaxWorkTrans.SourceBaseAmountRegulated_W;
            taxWorkRegulation.update();
        }
и заработало правильно.
За это сообщение автора поблагодарили: EVGL (3), M.Ruslan (1), raz (5), Кирен (1), Logger (1).
Старый 07.10.2010, 14:00   #2  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Зарегистрируйте, пожалуйста, ошибку в службе поддержки, на текущий момент это единственный способ добиться её исправления в текущей версии.

Сделать это можно по ссылке:
https://mbs.microsoft.com/support/newstart.aspx

Дополнительную информацию/контакты можно найти по ссылкам:
https://mbs.microsoft.com/partnersou...pport+Contacts (для партнеров)
https://mbs.microsoft.com/customerso...ntacts_eng.htm (для клиентов)
__________________
You should use Bing before asking dumb questions.
Старый 18.11.2010, 15:55   #3  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Да. Есть еще маленький нюанс. Если в форме корректировки налога кнопку "Применить" нажать 2,3.. раза, то код увеличит откорректированный налог в 2,3.. раза.Т.е. Работает неправильно.
Гайку для запрета двойного нажатия кнопки "Применить" я закрутил в самой форме корректировки налога TaxTmpWorkTrans.

В методе формы setAllowEdit() в самом конце надо поставить
if (taxRegulation.taxRegulationTotal())
Apply.enabled(false);

В методе clicked() кнопки Apply в самом конце надо поставить
Apply.enabled(false);

В методе clicked() кнопки Reset в самом конце надо поставить
Apply.enabled(true);

Т.е. нажал один раз Применить и кнопка для нажатия больше не доступна. Нажал Сброс - снова доступна.
Старый 18.11.2010, 16:15   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
В описании 6-го роллапа как раз было упомянуто про исправление расчета налогов.
Вы на какой версии все пробовали ?
Старый 25.11.2010, 21:25   #5  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
да, вчера тестировали это на 6-ке все исправлено. Но это вещи, которые нельхзя прощать, люди из-за таких вот ошибок теряют премии.Сколько простите времени прошло от начала продаж 9-ки 5-го роллапа и выпуска 6-го?....
Старый 26.11.2010, 11:01   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Pustik Посмотреть сообщение
да, вчера тестировали это на 6-ке все исправлено. Но это вещи, которые нельхзя прощать, люди из-за таких вот ошибок теряют премии.Сколько простите времени прошло от начала продаж 9-ки 5-го роллапа и выпуска 6-го?....
Все выявленные вами проблемы с налогами исправились ?
Старый 27.11.2010, 20:51   #7  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
да все исправилось, на 6-м роллапе работает корректно
Старый 27.11.2010, 21:33   #8  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Pustik Посмотреть сообщение
да все исправилось, на 6-м роллапе работает корректно
Когда вы переходили на RU-6, случайно, не обратили внимание на то, что изменилось в иерархии классов InventSumDate. Просто по теме:
Epic Fail Остатки на дату InventSumDateValueReportDim
Вроде бы как должна быть ошибка, но у нас она не проявляется. Хотелось бы выяснить что там за причина ошибки и способ её устранения (вдруг у нас ошибка не проявляется не из-за того, что мы такие хорошие, а из-за того, что у нас не было такого сочетания данных, в которых она проявляется).
Старый 15.04.2011, 16:50   #9  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Когда вы переходили на RU-6, случайно, не обратили внимание на то, что изменилось в иерархии классов InventSumDate.


Мы не переходили на RU6. Мы это загрузили на тестовую стандартную базу без модификаций, и я занимался изучением только корректировкой налога. Не только конечно, но именно получением остатков на дату - нет. Хотя меня тоже пугает этот вопрос, может быть и у нас сформируется такая комбинация данных, которую Аксапта не поймет.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 14.12.2011, 17:15   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Спасибо, всем за предоставленную информацию.

Я тут еще один глюк нашел.
Проверял на RU5 и на RU7 с установленным хотфиксом по корректировочной накладной (KB2620178).

Похоже при расчете суммы налога по строке заказа - величина налога зависит от других строчек в заказе

Пример :
Создаем заказ на продажу.
Параметр salestable.inclTax = 0

Создаем 2 строки.
1. Номенклатура 1. Количество 3 Цена 131,84 Чистая сумма по строке 395,52
2. Номенклатура 2. Количество 12 Цена 175,95 Чистая сумма по строке 2111,40

Смотрим Настройка - Налог -
по второй строке сумма налога 380,06

Далее удаляем 1-ю строку.
Смотрим
по второй строке сумма налога 380,05

Т.е. сумма налога посчитанного по номенклатуре 2 зависит от того, есть ли в заказе строки по другой номенклатуре или нет.

Похоже что при расчете налогов не затираются внутренние переменные и ошибки округления переходят с одной строки на другую (это только предположение, - ошибку пока не нашел)

При тестировании мне встретились случаи когда сумма расхождения по одной строке была не 1 копейка как в этом простом примере, а 21 копейка. Но в таком заказе было много строк, из чего я и сделал предположение о накоплении ошибок округления.

Кто нибудь с таким встречался ?
Может уже известно исправление ?
За это сообщение автора поблагодарили: Pustik (5).
Старый 14.12.2011, 17:41   #11  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Чего прелесть ?
Скажите хоть глюк воспроизводится или нет.

Еще есть слабая надежда, может это я проглючил, а не Аксапта.
Старый 14.12.2011, 17:49   #12  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
В ax 3.0 то же самое.
Старый 14.12.2011, 18:32   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Похоже этой мой глюк.
Судя по всему алгоритм расчета пытается скомпенсировать ошибки округления сумм налога в строках. Собирает их все и относит на строку с самой большой суммой.
В итоге получается что в целом по документу ошибка округления минимальна. Но по одной строке расхождение может получиться значительным.
Например если в накладной 1000 строк, то 0,5 копейки * 1000 = 5 рублей
За это сообщение автора поблагодарили: Aquarius (1).
Старый 14.12.2011, 20:16   #14  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Logger Посмотреть сообщение
Чего прелесть ?
Скажите хоть глюк воспроизводится или нет.
Под рукой с обеда нет Аксапты чтобы проверить. Верю Вам на слово.
Цитата:
Сообщение от Logger Посмотреть сообщение
Похоже этой мой глюк.
Судя по всему алгоритм расчета пытается скомпенсировать ошибки округления сумм налога в строках. Собирает их все и относит на строку с самой большой суммой.
В итоге получается что в целом по документу ошибка округления минимальна. Но по одной строке расхождение может получиться значительным.
Например если в накладной 1000 строк, то 0,5 копейки * 1000 = 5 рублей
Спасибо за разбирательство.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 11.02.2012, 12:02   #15  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Pustik Посмотреть сообщение
что это было?
Спам
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: Pustik (2).
Старый 27.07.2012, 14:15   #16  
Shmel_83 is offline
Shmel_83
Участник
 
74 / 25 (1) +++
Регистрация: 08.04.2009
Добрый день.
Заметил сегодня еще одну ошибку с налогами. Например, если в заказе 100 строк. Помечаем одну позицию как "Немедленная поставка". Смотрим итоги по заказу, выбрав в поле "Количество" = "Немедленная поставка", видим что Сальдо верное для одной строки, а вот сумма налога все равно рассчитывается для всех открытых строк, соответственно и плывет при этом "Сумма накладной". Разносить не пробовал, но предварительная печатная форма накладной показала тот же неверный результат.
(AX2009Ru8)
За это сообщение автора поблагодарили: Logger (3).
Старый 27.07.2012, 14:27   #17  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Вот чертовщина, Дожили до 8-го роллапа и не избавились от детских болезней системы.
Старый 23.11.2012, 15:00   #18  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
! Фактуры опасносте
Вот еще результаты раскопок по этой теме - есть в системе такой класс CalcPostedTaxes_RU. Метод calc:

X++:
taxCur_*     += taxTrans.taxAmountCur_W();
taxBaseCur_* += taxTrans.SourceBaseAmountCur;
Хотя можно (да и наверное нужно) было написать что-то подобное:

X++:
taxCur_*     += taxTrans.TaxAutogenerated ? taxTrans.SourceTaxAmountCur  : taxTrans.SourceRegulateAmountCur;
taxBaseCur_* += taxTrans.TaxAutogenerated ? taxTrans.SourceBaseAmountCur : taxTrans.SourceBaseAmountCurRegulated;
Иначе суммы налогов в фактуре по такой скорректированной накладной получаются просто невероятные )
__________________
Axapta non erubescit
За это сообщение автора поблагодарили: Pustik (5), Logger (10).
Теги
tax, коррекция налогов, налоги

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax2009 cu5: не работает с зарплатой? mazzy DAX: Прочие вопросы 8 02.08.2010 11:28
Корректировка налога в закупке sao DAX: Функционал 1 20.10.2009 16:13
Корректировка налога kalex_a DAX: Программирование 3 15.12.2008 10:00
Корректировка суммы налога в закупке ymv2000 DAX: Функционал 4 26.10.2006 09:19
Корректировка суммы налога в закупке Anders DAX: Функционал 4 09.08.2005 18:46
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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