![]() |
#4 |
Участник
|
А чем union не устраивает ? В том плане, что как писал Евгений - для номенклатуры используется ИЛИ, т.е. остатки либо по inventsum считать, либо по WHSInventReserve.
Интересует сам запрос по WHSInventReserve ? C WHS опыта мало, но я бы смотрел в сторону следующих методов(если уровень склада одинаков во всех иерархиях) WhsInventOnHand\getReserveAvailQty WhsInventOnHand\getAvailPhysicalForLevel Либо запрос из SP, в случае, если до склада есть другие аналитики (например у вас иерархия [статус, сайт, склад]), возможно запрос можно использовать и более универсально - для всех данных, правда по производительности может быть хуже чем из классов AX 2012 R3. Ускорение sp_WHSOnHand и sp_WHSOnHandWithDelta В итоге должно получится примерно следующее : X++: //ваш запрос по inventsum union //думаю здесь запрос по inventReserve в реальности будет по сложнее select ItemId, minOf(AvailPhysical) from inventReserve group by ItemId where inventReserve.HierarchyLevel >= locationLevel join InventLocationId from inventDim group by InventLocationId where inventReserve.InventDimId == inventDim.InventDimId //или select ItemId, sum(AvailPhysical) from inventReserve group by ItemId where inventReserve.HierarchyLevel == locationLevel join InventLocationId from inventDim group by InventLocationId where inventReserve.InventDimId == inventDim.InventDimId // или запрос из SP
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: trud (1). |