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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.05.2004, 16:51   #1  
LCh is offline
LCh
Участник
 
104 / 10 (1) +
Регистрация: 13.11.2002
Адрес: Санкт-Петербург
! Копейка рубль дорожит
Допустим, мы пользуемся коррекцией в наличии и делим проводку.
При делении проводки на две так же делится и CostAmountAdjustment.
Соответственно, каждую строчку в InventSettlement так же надо поделить на две.
Соответственно, при коррекции в копейку и вообще при любом неудобном делении а потом округлении теряется дробная часть...
В итоге предварительно посчитаная несопоставленная сумма отличается от той, которая записывается в новую проводку в результате деления, и вся коррекция "в наличии" ломается.

Вопрос - что за нафиг? И куда это всё девать? Легко придумать ситуацию, когда с каждым делением InventSettlement будет терятся по копейке.
Старый 04.05.2004, 01:24   #2  
Тимур is offline
Тимур
Аксакал в отставке
 
2,457 / 50 (6) ++++
Регистрация: 31.01.2003
Адрес: Москва
Вот для таких вещей существуют специальные системные счета - счета округлений.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес").
Старый 04.05.2004, 09:34   #3  
LCh is offline
LCh
Участник
 
104 / 10 (1) +
Регистрация: 13.11.2002
Адрес: Санкт-Петербург
Возможно, я некорректно обьяснил. Сумма проводок с несопоставленной суммой и сопоставленной суммой равна сумме оригинальной проводки. Но пропорция, в которой делится CostAmountAdjustment между двумя итоговыми проводками, иная, чем предполагает система.

Грубо говоря, система считает, что 10% от 100 копеек будет 10 копеек (то, что попадёт в проводку по несопоставленной сумме). А в итоге получится в первой проводке 11 копеек, а во второй 89.

В любом случае я это уже исправил просто используя в предварительном расчёте тот же механизм, что и при делении. Но работу это замедлило очень сильно.
Старый 05.05.2004, 00:31   #4  
Тимур is offline
Тимур
Аксакал в отставке
 
2,457 / 50 (6) ++++
Регистрация: 31.01.2003
Адрес: Москва
Думаю, что предварительная сумма считается по "неправильному" алгоритму специально, чтобы система не тормозила.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес").
 


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

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

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