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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.11.2003, 12:05   #1  
DenisS is offline
DenisS
Участник
 
65 / 24 (1) +++
Регистрация: 01.09.2003
Баг в расширенном фильтре
Привет All.
Есть такая проблема - может кто сталкивался - Axapta 2.5sp5
Не работает фильтр по полю связанной таблицы, добавленным пользователем в
режиме расширенного фильтра (CtrlF3 -> расширенно -> n:1 -> ...)
Пример:
форма InventTable - фильтр по полю "Складская модель" таблицы Группа складских моделей.
Причем такое поведение фильтра наблюдается только в формах, где в исходном запросе учавствуют несколько таблиц. Если таблица одна (например CustTable) - все работает.
Вопрос: это ошибка ядра или можно поправить классы SysQueryBuild / SysQueryEdit
Если можно, то где копать???
Старый 10.11.2003, 13:59   #2  
DenisS is offline
DenisS
Участник
 
65 / 24 (1) +++
Регистрация: 01.09.2003
Докопался сам
Все оказалось достаточно просто - в методе SysQueryEdit::unpackDataSource()
надо после строки

childDataSource.joinMode(JoinMode::ExistsJoin);

добавить

childDataSource.fetchMode(0);
Старый 10.11.2003, 14:10   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Я бы на Вашем месте сначала посмотрел бы на SQL-запросы, которые генерятся с Вашим исправлением и без. Может действительно что-то не так настроено просто.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 10.11.2003, 14:21   #4  
DenisS is offline
DenisS
Участник
 
65 / 24 (1) +++
Регистрация: 01.09.2003
Спасибо за совет. Я посмотрел. До моих испралений SQL запрос вообще не содержал
дополнительной таблицы.
Все-таки интересно - что же такое fetchMode ???
В axapta 3.0 есть enum QueryFetchMode с элементами One2one (0) и One2Many (1)
Единственное, что приходит на ум :

one2one рождает SQL-запрос вида:
select t1
join firstOnly t2
where <...>

а one2many :

select t1
join t2
where <...>

так что-ли?
Старый 10.11.2003, 14:32   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Хм, странно. Похоже действительно на ошибку в ядре. Причем, ошибка эта видимо уже исправленная.

Если интересно, попробуйте посмотреть еще и на структуру Query. Для этого очень полезен метод query.exportXML.

В любом случае, спасибо за полезную информацию.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 03.03.2005, 11:16   #6  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
В 3.0 SP 1 проблема остается.
решение немного отличается
в методе \Classes\SysQuery\unpackDataSource

childDataSource.joinMode(JoinMode::ExistsJoin);
//mit, 02.03.05, 3.0 -->
childDataSource.fetchMode(1);
// childDataSource.fetchMode(QueryFetchMode::One2One);
//mit, 02.03.05, 3.0 <--
т.е. связь должна быть все таки QueryFetchMode::One2Many
Старый 03.03.2005, 11:25   #7  
Vasilenko Alexsandr is offline
Vasilenko Alexsandr
Участник
Дети Юза
 
90 / 16 (1) ++
Регистрация: 05.09.2002
Адрес: Одесса
Цитата:
Изначально опубликовано DenisS

Все-таки интересно - что же такое fetchMode ???
В axapta 3.0 есть enum QueryFetchMode с элементами One2one (0) и One2Many (1)
Посмотрите вот эту ссылочку ! Темы пересекаются!
Старый 04.03.2005, 15:29   #8  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Нет, все таки проблема таким способом не решается.
Старый 04.03.2005, 18:46   #9  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
что то никак не могу сообразить - где баг

ошибка вылезла в отчете \Menus\Ledger\Отчеты\Список бухгалтерских проводок
(\Menu Items\Output\LedgerTransListAccount)
в запросе присоединяю таблицу LedgerJournalTrans
ввожу дополнительный критерий в поле InterCoDimension (Код аналитики в компании, используемой во внутренних расчетах)
получаю

Ошибка времени выполнения. : SysQuery (object), метод unpackDataSource вызван с неправильными параметрами.

Трассировка стека:
(S) \Classes\SysQuery\unpackDataSource
(S) \Classes\SysQuery\unpackRangeAndSortorder - line 84
(S) \Classes\RunBaseReport\unpack - line 30
(S) \Classes\LedgerReport_TransListAccount\unpack - line 11
(S) \Classes\RunBase\promptUnpack - line 4
(S) \Classes\RunBaseBatch\promptUnpack - line 7
(S) \Classes\RunBase\promptPrim - line 14
(S) \Classes\RunBase\prompt - line 10
(S) \Classes\RunBaseBatch\prompt - line 3
(S) \Classes\RunBaseReport\prompt - line 13
(S) \Classes\LedgerReport_TransListAccount\main - line 6
(S) \Classes\MenuFunction\runServer

Может кто встречался с подобной проблемой в 3.0 ?
Старый 28.11.2013, 12:09   #10  
axotnik88 is offline
axotnik88
Участник
 
82 / 18 (1) ++
Регистрация: 05.06.2012
Первый раз, за все время наткнулся на эту ошибку. Хотел уточнить решения найдено или нет?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Варианты join в расширенном фильтре Weez DAX: Программирование 10 20.07.2009 14:00
Баг SysDataImport Logger DAX: База знаний и проекты 2 16.07.2008 15:16
Нашёл баг, причем очень похоже на баг ядра (SP5 FP2 KR2) Deep Dreamer DAX: Программирование 5 10.11.2006 18:04
Как в расширенном фильтре у формы сделать, авто фильтрацию при запуске формы? miaa DAX: База знаний и проекты 4 25.05.2006 18:16
баг в 2.5. Будьте осторожнее с символом "_" подчеркивание levsha DAX: Программирование 5 07.12.2004 12:26

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

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

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