Приветствую всех. Решил тут немного модифицировать вышеупомянутый отчет и столкнулся с необъяснымыми явлениями.
По порядку: AX 3.0, Управление запасами \ Отчеты \ В наличии \ Запасы в наличии
Из Query репорта убираю таблицу InventTableModule(хотя и с ней пробовал - все равно не работало). Запускаю отчет с параметрами - получается такой вот запрос:
Код:
SELECT A.ITEMNAME,SUM(B.POSTEDQTY),SUM(B.POSTEDVALUE),SUM(B.PHYSICALVALUE),SUM(B.DEDUCTED),SUM(B.REGISTERED),SUM(B.RECEIVED),SUM(B.PICKED),SUM(B.RESERVPHYSICAL),SUM(B.RESERVORDERED),SUM(B.ONORDER),SUM(B.ORDERED),SUM(B.ARRIVED),SUM(B.QUOTATIONRECEIPT),SUM(B.QUOTATIONISSUE),SUM(B.PHYSICALINVENT),SUM(B.POSTEDVALUESECCUR_RU),SUM(B.PHYSICALVALUESECCUR_RU),SUM(B.AVAILPHYSICAL),SUM(B.AVAILORDERED),B.ITEMID,C.INVENTCOLORID
FROM INVENTTABLE A WITH( NOLOCK),
INVENTSUM B WITH( NOLOCK),
INVENTDIM C WITH( NOLOCK)
WHERE ((A.DATAAREAID='vir')
AND ((A.ITEMID LIKE '000-02%' ESCAPE '\' )
AND (A.INVENTGROUPID1='Отделка_1')))
AND ((B.DATAAREAID='vir')
AND (A.ITEMID=B.ITEMID))
AND ((C.DATAAREAID='vir')
AND ((C.INVENTLOCATIONID LIKE 'arh%' ESCAPE '\' )
AND (B.INVENTDIMID=C.INVENTDIMID)))
GROUP BY A.ITEMNAME,B.ITEMID,C.INVENTCOLORID
ORDER BY A.ITEMNAME,B.ITEMID,C.INVENTCOLORID OPTION(FAST 6)
Отчет при этом получается на загляденье. Все траблы начинаются как только я пытаюсь в Query добавить еще одну таблицу(InventLoctaion). Новый запрос насколько я понимаю ничем принципиально от старого не отличается, но вот в отчет попадает количество строк раз в 10 меньше, чем в предыдущем варианте.
Код:
SELECT A.ITEMNAME,SUM(B.POSTEDQTY),SUM(B.POSTEDVALUE),SUM(B.PHYSICALVALUE),SUM(B.DEDUCTED),SUM(B.REGISTERED),SUM(B.RECEIVED),SUM(B.PICKED),SUM(B.RESERVPHYSICAL),SUM(B.RESERVORDERED),SUM(B.ONORDER),SUM(B.ORDERED),SUM(B.ARRIVED),SUM(B.QUOTATIONRECEIPT),SUM(B.QUOTATIONISSUE),SUM(B.PHYSICALINVENT),SUM(B.POSTEDVALUESECCUR_RU),SUM(B.PHYSICALVALUESECCUR_RU),SUM(B.AVAILPHYSICAL),SUM(B.AVAILORDERED),B.ITEMID,C.INVENTCOLORID
FROM INVENTTABLE A WITH( NOLOCK),
INVENTSUM B WITH( NOLOCK),
INVENTDIM C WITH( NOLOCK),
INVENTLOCATION D WITH( NOLOCK)
WHERE ((A.DATAAREAID='vir')
AND ((A.ITEMID LIKE '000-02%' ESCAPE '\' )
AND (A.INVENTGROUPID1='Отделка_1')))
AND ((B.DATAAREAID='vir')
AND (A.ITEMID=B.ITEMID))
AND ((C.DATAAREAID='vir')
AND ((C.INVENTLOCATIONID LIKE 'arh%' ESCAPE '\' )
AND (B.INVENTDIMID=C.INVENTDIMID)))
AND ((D.DATAAREAID='vir')
AND (C.INVENTLOCATIONID=D.INVENTLOCATIONID))
GROUP BY A.ITEMNAME,B.ITEMID,C.INVENTCOLORID
ORDER BY A.ITEMNAME,B.ITEMID,C.INVENTCOLORID OPTION(FAST 5)
Есть ли этому какое-нить логическое объяснение???