Подскажите пожалуйста, есть ли решение проблемы...
Создал наследник RunBaseBatch с целью формирования отчета.
В методе initQueryRun создал свой Query и QR. Все просто - к одному DS по Inner крепится другой, а к тому по Outer - третий.
В момент вызова диалога на один из Rang-ей третьего DS (подсоединенного по OuterJoin) накладываю фильтр "Значение1, Значение2". Накладываю не программно, а в стандартной форме Запрос, вызываемой из диалога по кнопке Выбор.
После запуска отчета Axapta ругается:
ORA-01719: операор внешнего соединения (+) не разрешен в операциях OR и IN
Проверено, что если вводить условие по другому - как Значение1 или Значение1..Значение2 - все срабатывает верно и никаких проблем.
Подскажите, можно как-то это обойти?
Кому интересно - вот метод initQueryRun():
PHP код:
qbds = query.addDataSource(tablenum(EmplTable));
qbds.addRange(fieldnum(EmplTable, rhrmSortOfWork)).value(queryValue(rhmrSortOfWork::Direct));
qbds.addRange(fieldnum(EmplTable, PayResignedDate_RU)).value(SysQuery::valueEmptyString());
vntds = qbds.addDataSource(tablenum(RHRMVirtualNetworkTable));
vntds.relations(true);
vneds = vntds.addDataSource(tablenum(RHRMVirtualNetworkEvaluation));
vneds.relations(true);
vneds.joinMode(JoinMode::OuterJoin);
vneds.addRange(fieldnum(RHRMVirtualNetworkEvaluation, EvaluationDate)).status(Rangestatus::Hidden);
vneds.addRange(fieldnum(RHRMVirtualNetworkEvaluation, hrmEvaluationCodeId));