![]() |
#1 |
Участник
|
ax2009, ax2012: как правильно отобразить фильтр на форме?
обратите внимание:
= версия аксапты - 2009, 2012 = вопрос сформулирован "как правильно?", поэтому воздержитесь от "быстрых и грязных" решений при обсуждении. Итак, типовая задача от пользователей - отобразить фильтр на форме. Вы уже показывали Ctrl+F3, рассказали о возможности сохранения фильтров и даже показали как добавлять новые таблицы к стандартным фильтрам. Вы даже добавили пункт меню, который позволяет копировать настроенные фильтры другим пользователям. Но пользователи все равно хотят фильтр на форме. С одной стороны, добавлять таблицы в Ctrl+F3 - действительно утомляет. С другой стороны, есть такие пользователи, что ну его нафиг, пусть будет фильтр на форме. =============== Требования к фильтру: = это должен быть критерий, а не единственное значение для фильтрации = поле должно показывать текущий фильтр при входе на форму и при изменении критерия стандартными средствами (тот же Ctrl+F3) = фильтр должен изменять только свой range, не изменяя другие критерии в запросе = фильтр должен работать и по добавленным таблицам. ============== типичный пример - добавить фильтр по дате в Партии на форме складских проводок. если фильтр не задан, то показываем все проводки если фильтр задан, то показываем проводки для которых партии заданы И дата в партии подходит под критерий ============== типичный сценарий использования: 1. пользователь открывает форму складских проводок [скриншот 1] 2. пользователь выполняет поиск, фильтрацию сортировку (по номенклатуре, по датам, по статусам и т.п.) 3. в какой-то момент пользователь хочет отфильтровать и по дате, которая указана в партии. при этом он понимает, что после фильтрации он НЕ увидит проводок, для которых партия не включена в складских аналитиках. [в стандартном функционале] пользователь нажимает Ctrl+F3, добавляет таблицу InventBatch, добавляет range. получает проводки, отфильтрованные еще и по полю Expired Date 4. затем пользователь может убрать фильтр по номенклатуре, а фильтр по полю Expired Date оставить ============== вопрос: как правильно реализовать подобный функционал при помощи фильтра на форме аксапты 2009, 2012? внимание: важно не только добавлять фильтр по Expired Date, но и убирать его, когда пользователь очищает критерий. бонус вопрос: предположим мы реализовали подобный фильтр. как отобразить поле Expired Date в гриде, когда фильтр задан? |
|