AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.09.2005, 17:19   #1  
Pavlo AKA Panok is offline
Pavlo AKA Panok
Участник
 
64 / 10 (1) +
Регистрация: 01.05.2002
Адрес: Москва
Ошибка выполнения в наследнике 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 код:
    qbds query.addDataSource(tablenum(EmplTable));
    
qbds.addRange(fieldnum(EmplTablerhrmSortOfWork)).value(queryValue(rhmrSortOfWork::Direct));
    
qbds.addRange(fieldnum(EmplTablePayResignedDate_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(RHRMVirtualNetworkEvaluationEvaluationDate)).status(Rangestatus::Hidden);
    
vneds.addRange(fieldnum(RHRMVirtualNetworkEvaluationhrmEvaluationCodeId)); 
Старый 27.09.2005, 17:54   #2  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
View

С уваженем, itfs.
Старый 27.09.2005, 18:05   #3  
Pavlo AKA Panok is offline
Pavlo AKA Panok
Участник
 
64 / 10 (1) +
Регистрация: 01.05.2002
Адрес: Москва
Во View нет возможности использовать OuterJoin
Старый 27.09.2005, 18:26   #4  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Увы, да. Но view можно подделать на сервере БД.
Ну или пересмотреть сам запрос, left join и or действительно плохо сочетаются.
Обычно такое условие прячется в подзапрос и уже с ним происходит соединение.
Но это не наш случай, раз мы хотим использовать стандартные фильтры ....

С уважением, itfs.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка времени выполнения Stas[SNRC] DAX: Программирование 6 12.03.2008 12:21
Ошибка времени выполнения Didukh84 DAX: Программирование 19 06.03.2008 09:11
Ошибка времени выполнения: Binary (Объект), метод string вызван с недопустимыми параметрами. mmm DAX: Программирование 4 15.05.2007 16:00
Ошибка времени выполнения. Pegiy DAX: Программирование 2 27.05.2004 16:26
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:59.