group by там похоже, потому что они что-то считают (судя по промелькнувшему SysQuery::count)
похоже просто код не полный.
да, проблема как раз в нескольких existsJoin в подчиненных таблицах.
с одним existsJoin никаких проблем
Цитата:
Сообщение от
dim-gin
X++:
// можно объединить 2 DS в одну конструкцию
qbdsIT = qbdsIJT.addDataSource(tableNum(InventLocation));
qbdsIT.fetchMode(QueryFetchMode::One2One);
qbdsIT.joinMode(JoinMode::ExistsJoin);
qbdsIT.relations(false);
// это на самом деле relation
qbr = qbdsIT.addRange(fieldNum(InventLocation, InventLocationId));
qbr.value(strFmt('(%1.%2 = %4.%5) || (%1.%3 = %4.%5)',
qbdsIJT.name(), fieldStr(InventJournalTable, InventLocationId), fieldStr(InventJournalTable, InventLocationIdTo),
qbdsIT.name(), fieldStr(InventLocation, InventLocationId)) );
// прочие условия (на справочник складов)
чё-то стрёмно такой workaruond применять.
опять же скорее всего, нам не все условия показали, а только самое тривиальное.
и если условия в ТЗ будут углублены и расширены (а они будут углублены)
то такой маневр будет оооочень сильно мешать.