Показать сообщение отдельно
Старый 19.06.2017, 22:32   #47  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
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 применять.
опять же скорее всего, нам не все условия показали, а только самое тривиальное.

и если условия в ТЗ будут углублены и расширены (а они будут углублены)
то такой маневр будет оооочень сильно мешать.
__________________
полезное на axForum, github, vk, coub.