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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.01.2002, 15:29   #1  
Алексей Контев is offline
Алексей Контев
Участник
 
118 / 31 (2) +++
Регистрация: 28.12.2001
Адрес: Барнаул
? Расчет физических остатков по складу
В аксапте расчет остатков (допустим финансовых) на конкретную дату производистся
следующим образом:
1. Получаем остатки и себестоимость по товару из InventSum на текущий момент
2. Отнимаем из полученных данных данные по документам, обработанным после даты, на которую надо получить остатки.

Данная процедура реализована в классе Class\InventSumFinancial\setValueQty

Для получения физических остатков на текущий момент, т.е. с учетом проведенных накладных, необходимо после получения финансовых остатков, скорректировать их на величину сумм по этим проведенным накладным (прибавить приход и отнять расход. )

Есть два пути:
1. собрать проводки напрямую из InventTrans:
select sum(costAmountPhysical), sum(qty) from inventTrans index hint TransIdIdx
where inventTrans.itemId == itemId &&
inventTrans.configId == configId &&
inventTrans.dateFinancial > perDate

2. Как это сделано Class\InventSumFinancial\setValueQty сначала идти по физическим проводкам из InventTransPosting и, затем по InventTrans

select tableId from inventTransPosting index hint ItemTypeDateIdx where inventTransPosting.itemId == itemId &&
inventTransPosting.configId == configId && inventTransPosting.inventTransPostingType == InventTransPostingType::Physical && inventTransPosting.transDate > perDate
join sum(costAmountPhysical),sum(qty) from inventTrans index hint TransIdIdx
where inventTrans.voucherPhysical == inventTransPosting.voucher &&
inventTrans.datePhysical == inventTransPosting.transDate &&
inventTrans.inventTransId == inventTransPosting.inventTransId &&
inventTrans.packingSlipReturned == NoYes::No

Только не ищите ошибки в select-ах, это для примера

Кто-нибудь может сказать принципиальную разницу в этих двух подходах?
Предположительно, какая форма должна быстрее работать?
Во втором варианте используется индекс ItemTypeDateIdx в InventTransPosting насколько это увеличивет скорость работы select при получении данных за период?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расчет ЕСН AB_ DAX: Функционал 1 26.07.2006 14:31
Оборотная ведомость по складу twilight DAX: Функционал 8 05.04.2005 12:47
Как организовать среднюю себестоимость по разделенному складу Елена Сысовская DAX: Функционал 27 29.08.2003 20:01
Неправильный расчет отпускных листов Artild DAX: Функционал 1 14.07.2003 11:02
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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