![]() |
#5 |
Участник
|
Хочу предостеречь тех, кто решит добавить поле InventLicationId в таблицу InventSum.
В ранней версии (3,0) делали такое. Это давало (наверное) какие то улучшения по производительности некоторых "самописных" отчетов, едва заметные. Но с переходом на ax2009 всплыла такая особенность. Дело в том, что для определения (например) остатков номенклатуры внутри транзакции в новых версиях Ax используются данные из двух таблиц - InventSum - InventSumDelta Поэтому делая запрос лишь к InventSum (из собственно написанного кода) внутри транзакции можно получить искаженные данные. Это конечно, не относится к работе отчетов, которые будут работать нормально. Но попытка получить остатки по номенклатуре (например при резервировании) делая прямой запрос к inventSum вернет ошибочный результат, если этот запрос делается в транзакции, в которой по данной номенклатуре были изменения в количестве... Вывод: Использовать стандартные классы inventOnHand, тогда проблем не будет. В общем от поля InventLicationId пришлось отказаться. При этом потери скорости работы старых отчетов не заметно... |
|
|
За это сообщение автора поблагодарили: Logger (6), Bega (5). |