10.11.2003, 12:05 | #1 |
Участник
|
Баг в расширенном фильтре
Привет All.
Есть такая проблема - может кто сталкивался - Axapta 2.5sp5 Не работает фильтр по полю связанной таблицы, добавленным пользователем в режиме расширенного фильтра (CtrlF3 -> расширенно -> n:1 -> ...) Пример: форма InventTable - фильтр по полю "Складская модель" таблицы Группа складских моделей. Причем такое поведение фильтра наблюдается только в формах, где в исходном запросе учавствуют несколько таблиц. Если таблица одна (например CustTable) - все работает. Вопрос: это ошибка ядра или можно поправить классы SysQueryBuild / SysQueryEdit Если можно, то где копать??? |
|
10.11.2003, 13:59 | #2 |
Участник
|
Докопался сам
Все оказалось достаточно просто - в методе SysQueryEdit::unpackDataSource()
надо после строки childDataSource.joinMode(JoinMode::ExistsJoin); добавить childDataSource.fetchMode(0); |
|
10.11.2003, 14:10 | #3 |
Administrator
|
Я бы на Вашем месте сначала посмотрел бы на 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 |
Участник
|
Спасибо за совет. Я посмотрел. До моих испралений 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 |
Administrator
|
Хм, странно. Похоже действительно на ошибку в ядре. Причем, ошибка эта видимо уже исправленная.
Если интересно, попробуйте посмотреть еще и на структуру 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 |
Участник
|
В 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 |
Участник
|
Цитата:
Изначально опубликовано DenisS
Все-таки интересно - что же такое fetchMode ??? В axapta 3.0 есть enum QueryFetchMode с элементами One2one (0) и One2Many (1) |
|
04.03.2005, 15:29 | #8 |
Участник
|
Нет, все таки проблема таким способом не решается.
|
|
04.03.2005, 18:46 | #9 |
Участник
|
что то никак не могу сообразить - где баг
ошибка вылезла в отчете \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 |
Участник
|
Первый раз, за все время наткнулся на эту ошибку. Хотел уточнить решения найдено или нет?
|
|