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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2020, 10:37   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
В итоге сделал так - в начале получаются остатки из InventSum
X++:
    while select sum(AvailPhysical), sum(PhysicalInvent), sum(OnOrder), sum(ReservOrdered), sum(ReservPhysical) from inventSum
        group by ItemId
        where inventSum.ClosedQty           == NoYes::No
    join InventLocationId from inventDim
        group by InventLocationId
        where inventDim.InventDimId         == inventSum.InventDimId
        &&    inventDim.InventLocationId    == _inventLocationId
Потом получаются остатки из WHSInventReserve и в цикле объединяются с теми что есть в InventSum (через временную таблицу)
X++:
    while select sum(AvailPhysical), sum(ReservOrdered), sum(ReservPhysical) from WHSInventReserve
        group by ItemId
    join  WHSReservationHierarchyItem
        group by ItemId
        where WHSReservationHierarchyItem.ItemId      == WHSInventReserve.ItemId &&
              WHSReservationHierarchyItem.ItemDataAreaId  == WHSInventReserve.dataAreaId
    join WHSReservationHierarchyElement
        group by DimensionFieldId
        where WHSReservationHierarchyElement.DimensionFieldId          == fieldNum(InventDim, InventLocationId) &&
              WHSReservationHierarchyElement.ReservationHierarchy      == WHSReservationHierarchyItem.ReservationHierarchy &&
              WHSReservationHierarchyElement.ReservationHierarchyLevel == WHSInventReserve.HierarchyLevel
    join InventLocationId from inventDim
        group by InventLocationId
        where inventDim.InventDimId         == WHSInventReserve.InventDimId
        &&    inventDim.InventLocationId    == _inventLocationId
...
Второй цикл работает в 6 раз медленнее чем первый, но все равно в целом получается в 10 раз быстрее чем получать остатки по каждой номенклатуре
За это сообщение автора поблагодарили: fed (5), EVGL (5), raz (5), sukhanchik (8), Logger (5), SRF (1).
Теги
документация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Контроль остатков на складе поставщика при планировании Starling DAX: Функционал 10 07.03.2013 12:13
Статья о новом механизме блокировок складских остатков в Ax 4.0 lev DAX: Программирование 3 01.06.2011 10:56
Критический минимум остатков на складе Pustik DAX: Функционал 2 25.07.2005 15:48
Красные остатки на складе ERx DAX: Функционал 7 01.07.2004 15:18
Учет остатков сырья на складе akvi DAX: Функционал 7 02.04.2003 00:11

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

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

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