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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2005, 13:47   #8  
slava09_imported is offline
slava09_imported
Участник
 
67 / 10 (1) +
Регистрация: 01.06.2004
Вобщем-то разобрались где, что и как считается.
Итак есть класс InventCostItemDim и у него есть метод метод CreateErrorAdjustment. Этот метод исполняется до пересчета расходных проводок. И делает проводку по сопоставлению, на проводку прихода. Сумму для проводки он получает так:

сначала пересчет вычисляет следующую дельту для складского прихода (из примера в ворде):

дельта = (1009,33/101)*39 - 389,7
дельта = 0,04

(т.е. вычисляется стоимость прихода за единицу, умножается на уже сопоставленное количество, из этого всего вычитается уже сопоставленная сумма)

затем вычисляется такая же дельта для каждого складского сопоставления отдельно и суммируется.

затем находится разница этих дельт и делается:
CreateErrorAdjustment(разница дельт).

Говоря по простому, пересчет сравнивает два параметра:
1. Ошибку округления общим скопом (проводка прихода)
2. Суммарную ошибку округления отдельно по проводкам
И если они не равны то делает коррекцию прихода.

В чем проблема с нашим примером:
Вычисляя ошибку округления по проводкам, он каждое полученное значение, перед суммирование округляет, а так как значения там очень маленькие то суммируется каждый раз 0.
Сейчас мы "убрали" это округление и пытаемся пересчитать заново.
Ждем результата.
Если че не понятно - спрашивайте.
 


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

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

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