08.12.2005, 15:42 | #1 |
Участник
|
Странное поведение формы Создание строк
Захожу заказ. Открываю форму создание строк. Очищаю все галочки в форме Отображение аналитики, и запоминаю это состояние. Далее устанавливаю фильтр по конкретному коду номенклатуры - для которой известно, что товар, скажем, находится на разных складах (я указываю АППС в демобазе). Ожидаю увидеть в форме единственную строчку с общей суммой - получаю пять строчек (по всем комбинациям складских аналитик). Если теперь сохранить фильтр, закрыть форму и открыть ее снова - показывается как и хотелось одна строчка. Это известный глюк? Может быть известно, как он правится?
Русская демобаза. Axapta 3.0 SP3. Без доработок |
|
10.12.2005, 16:03 | #2 |
Участник
|
Поправить удалось такой функцией
Код: void setQuery() { queryFilter = inventTable_ds.queryRun(); queryFilter.prompt(); inventTable_ds.query(queryFilter.query()); element.inventDimSetupObject().initFromCaller(); element.inventDimSetupObject().initQuery(inventtable_ds); element.inventDimSetupObject().buildQuery(); } |
|
19.01.2006, 09:23 | #3 |
Участник
|
VC, а где вызывается Ваша функция? Действительно не работает корректно.
А как остальные справляются? Последний раз редактировалось NAST; 19.01.2006 в 09:29. |
|
21.03.2006, 12:33 | #4 |
Программер
|
Та же проблема в той же форме.
Выбираем в Отображение аналитики, например, Склад + сохранение настроек. В форме отображается поле склад. Удаляем фильтр. Сортировка по полю склад удаляется, при этом поле Склад остается видимым. При попытке отсортировать данные по данному полю возникает ошибка. Подскажите как это лечиться? |
|
21.03.2006, 13:30 | #5 |
Участник
|
Мне кажется это лечиться отбиванием рук пользователям...
Сталкивался с подобным, когда пользователи использовали настройки полей на форме и добавляли склад, а не пользовались кнопкой "Отображение аналитики". Попробуйте сбросить пользовательские настройки и научите пользоваться кнопкой "Отображение аналитики" Последний раз редактировалось linney; 21.03.2006 в 14:36. |
|
21.03.2006, 14:18 | #6 |
Программер
|
Они вроде и не пользуются "пользовательскими настройками". Все через эту кнопку.
|
|
21.03.2006, 14:20 | #7 |
Программер
|
Вопрос. Как при сбросе фильтра сохранить, добавленную через кнопку "Отображение аналитики", сортировку по выбранной аналитике?
|
|
21.03.2006, 14:39 | #8 |
Участник
|
Цитата:
Сообщение от vasiliy
Они вроде и не пользуются "пользовательскими настройками". Все через эту кнопку.
Вопрос про фильтр не понял - простите. Но, видимо, прийдется просто сбросить все пользовательские настройки, и настроить все правильно с 0 |
|
21.03.2006, 15:04 | #9 |
Программер
|
Настройки сбросил. Все равно криво работает. При чем на стандартном приложении глючит так же.
Про фильтр: По Ctrl+F3 открываем форму фильтра. На вкладке Сортировка задано поле Склад (появляется когда по кнопке "Отображение аналитики" добавляем Склад). После добавления Склада жмем Ctrl+Shift+F3. Из выше описанной сортировки пропадает Склад. Надо чтобы не пропадал |
|
22.03.2006, 09:50 | #10 |
Участник
|
Как вариант могу предложить перекрыть метод Task() на форме
X++: public int task(int _taskId) { #task #define.taskClearFilter(2840) int ret; FormDataSource ds = this.objectSet(); ; if (_taskId == #taskClearFilter && (ds.id() == InventTable_DS.id() || ds.id() == InventDim_DS.id())) { this.deleteSavedQuery(); return true; } else if (_taskId == #taskFilter && (ds.id() == InventTable_DS.id() || ds.id() == InventDim_DS.id())) { queryFilter = inventTable_ds.queryRun(); if (queryFilter) { if (queryFilter.prompt()) { inventTable_ds.queryRun().query(queryFilter.query()); element.inventDimSetupObject().initQuery(inventTable_ds); element.inventDimSetupObject().buildQuery(); } return true; } else ret = super(_taskId); } else ret = super(_taskId); return ret; }
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: vasiliy (1), Dodger (1). |
22.03.2006, 10:32 | #11 |
Программер
|
AndyD большое спасибо. Помогло.
|
|