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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2012, 14:07   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Расчёт сумм при печати доп. листа книги продаж/покупок
Печатаем дополнительный лист книги продаж, содержащий исправления предыдущего месяца. В столбец "В том числе продажи, облагаемые налогом по ставке 18 процентов (5) сумма НДС(5б)" выводится завышенная сумма.
Запрос "Итоги" на форме книги продаж отображает коректные значения. Также в этом запросе видно, что присутствует не нулевое значение поля "Восстановление НДС > НДС 18% > Стоимость без НДС"
При печати именно на эту величину не идёт указанное значение. Т.е. эта величина дважды учитывается при расчёте значении колонки 5б.

Анализ кода показал, что в SalesBook_AddList_PrintExcel_RU.calcTotal():
X++:
...
    bookAmountsEngine.fetchTaxMap();
    sumTotalAmount          += bookAmountsEngine.getAmountInclVAT();
    salesAmountExclVAT20    += bookAmountsEngine.getAmountVATStandard().amountLiableToVAT();
    taxAmountVAT20          += bookAmountsEngine.getAmountVATStandard().taxAmountVAT();
    salesAmountExclVAT20Tmp += bookAmountsEngine.getAmountVATStandard20().amountLiableToVAT();
    taxAmountVAT20Tmp       += bookAmountsEngine.getAmountVATStandard20().taxAmountVAT();
    salesAmountExclVAT10    += bookAmountsEngine.getAmountVATReduced().amountLiableToVAT();
    taxAmountVAT10          += bookAmountsEngine.getAmountVATReduced().taxAmountVAT();
...
метод bookAmountsEngine.getAmountVATStandard() выполняется дважды.

Внутри этого метода происходит приращение значений переменных:
X++:
public BookStructSmallVATAmounts_RU getAmountVATStandard()
{
    amountVATStandardDomestic.addAmounts2(amountVATStandardExport);
    amountVATStandardDomestic.addAmounts2(amountVATStandardRestored);
    return amountVATStandardDomestic;
}
Естественно при повторном вызове значения увеличиваются ещё раз.

Что это? Корявая реализация механизма отложенных вычислений?

Подскажите у кого в приложении в каком состоянии присутствуют эти классы? Может в каком KB это уже пофикшено?
За это сообщение автора поблагодарили: Pustik (2), iCloud (2).
Теги
ax2009, ru8, баг, доп лист, локализация, ошибка, печатная форма, счет-фактура

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Включить в Доп.лист книги покупок фактуру по накладной поставщика meerkat DAX: Функционал 15 25.07.2013 11:09
DAX2009: Корректирующие СФ: Печать дополнительного листа книги продаж malex DAX: Программирование 2 18.06.2013 18:15
Книги покупок и продаж: Электронная и печатная формы Opolik DAX: Функционал 1 17.12.2009 13:09
Книги покупок/продаж dtsymbal DAX: Программирование 9 27.07.2009 08:16
Проводка предоплаты в книге продаж и книге покупок aevi82 DAX: Функционал 4 23.06.2005 16:35

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

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

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