Показать сообщение отдельно
Старый 05.05.2021, 20:25   #1  
DAX is offline
DAX
Участник
 
28 / 18 (1) ++
Регистрация: 03.12.2008
D365 Query Range на Datasource с Outer join
D365 Создаю батч джоб (с помощью SysOperation - Сервис клас и дата контракт) c Query.

Query создан в AOT - два datasource с Outer join. Range добавленный в AOT на второй datasource (child) не отображается при первом запуске. Точнее отображается в диалоге самого батча, но не отображается в настройках фильтров (кнопка Filter).

В ручную пользователь может добавить этот range и оно вроде даже работает.

В коде нашел что все range на Outer join datasource делаются невидимыми.

Что это такое? Лучше вообще не использовать Outer join и просто добавить поля для фильтров в сам диалог? Не понимаю для чего сделано такое ограничение

Class: SysQueryForm.getRangeVisible
X++:
dictTable = new DictTable(queryBuildDataSource.table());
        if (dictTable && dictTable.isView() && SysQueryForm::isSFK(tableId, fieldId))
        {
            isVisible = NoYes::No;
        }
        else if (joinMode == JoinMode::OuterJoin)
        {
            isVisible = NoYes::No;
        }
        else
        {