27.09.2005, 17:19 | #1 |
Участник
|
Ошибка выполнения в наследнике RunBaseBatch при использовании фильтра вида val1,val2
Подскажите пожалуйста, есть ли решение проблемы...
Создал наследник RunBaseBatch с целью формирования отчета. В методе initQueryRun создал свой Query и QR. Все просто - к одному DS по Inner крепится другой, а к тому по Outer - третий. В момент вызова диалога на один из Rang-ей третьего DS (подсоединенного по OuterJoin) накладываю фильтр "Значение1, Значение2". Накладываю не программно, а в стандартной форме Запрос, вызываемой из диалога по кнопке Выбор. После запуска отчета Axapta ругается: ORA-01719: операор внешнего соединения (+) не разрешен в операциях OR и IN Проверено, что если вводить условие по другому - как Значение1 или Значение1..Значение2 - все срабатывает верно и никаких проблем. Подскажите, можно как-то это обойти? Кому интересно - вот метод initQueryRun(): PHP код:
|
|
27.09.2005, 17:54 | #2 |
Участник
|
View
С уваженем, itfs. |
|
27.09.2005, 18:05 | #3 |
Участник
|
Во View нет возможности использовать OuterJoin
|
|
27.09.2005, 18:26 | #4 |
Участник
|
Увы, да. Но view можно подделать на сервере БД.
Ну или пересмотреть сам запрос, left join и or действительно плохо сочетаются. Обычно такое условие прячется в подзапрос и уже с ним происходит соединение. Но это не наш случай, раз мы хотим использовать стандартные фильтры .... С уважением, itfs. |
|