Wiki source code of Фильтрация в справочниках
Last modified by Sergey Vasilyev on 2024/09/23 23:00
Hide last authors
5.1 | 1 | Многие справочники НПР содержат большое количество записей. Для более удобной и гибкой работы с такими данными эти справочники снабжены отдельной панелью **Фильтр** в верхней части формы. | |
1.2 | 2 | ||
3 | [[image:1727093869977-257.png||height="596" width="1030"]] | ||
4 | |||
6.1 | 5 | Эта панель выполняет фильтрацию данных на входе в отличие от возможности применения универсального фильтра в панели грида **Поиск**. То есть, независимо от настройки грида его данные отфильтрованы до применения собственного фильтра. | |
1.2 | 6 | ||
6.1 | 7 | В отличие от универсального фильтра грида входной фильтр может быть исполнен более гибко и имеет следующие преимущества: | |
1.2 | 8 | ||
6.1 | 9 | * Возможно выполнение сложных условий фильтрации, по данным, отсутствующим в наборе. Например, **OEM-код** в справочнике **Товары **итд. | |
1.2 | 10 | * Возможно использование произвольных элементов управления и логики. Например, **Бренд **для фильтрации в справочнике **Производители ТГ** поддерживает множественный выбор и указание условия И/ИЛИ. | |
11 | * Входной фильтр справочника работает быстро на больших наборах, поскольку он имеет все возможности для оптимизации. | ||
12 | |||
4.1 | 13 | Указанная фильтрация применяется сразу при наборе или выборе значений фильтра. В текстовых полях при быстром наборе фильтр не применяется до тех пор, пока пользователь не прекратит ввод. | |
14 | |||
15 | **Общие элементы управления (кнопки)** | ||
16 | |||
7.1 | 17 | [[image:1727095009120-252.png||height="16" width="16"]] //Закрепить //- если кнопка нажата, указанный фильтр сохраняется в [[модели>>doc:Main.НПР.Сохранение состояния форм.WebHome]] формы. | |
4.1 | 18 | ||
7.1 | 19 | [[image:1727095026621-826.png||height="16" width="16"]] //Очистить// - все элементы управления панели **Фильтр** очищаются, данные возвращаются без фильтрации. | |
4.1 | 20 | ||
6.1 | 21 | **Особенности** | |
4.1 | 22 | ||
23 | Справочник может получать входной фильтр из контекста. Например, при выборе модели автомобиля из карточки или справочника **Модификации автомобилей, **если в контексте выбрана Марка, справочник выбора моделей открывается отфильтрованным по этой марке. Такой входной фильтр недоступен для изменения и не сохраняется в модели формы. Выбираемые значения ограничены. | ||
24 | |||
6.1 | 25 | При добавлении записей в гриде отфильтрованного справочника значения полей, по которым применена фильтрация инициализируются из фильтра. Поля, по которым данные отфильтрованы однозначно, недоступны для изменения. Если фильтр задается мягким условием, например, по вхождению текста, такие поля тоже инициализируются из фильтра, но они доступны для редактирования, чтобы иметь возможность ввести в поле набора полный текст. | |
4.1 | 26 | ||
27 | При любой модификации значений в гриде отфильтрованного справочника панель **Фильтр **недоступна до применения или отмены изменений. Это сделано во избежание исчезновения измененных записей до момента применения изменений на сервер. | ||
28 | |||
6.1 | 29 | **Внимание!** При выборе значений, лежащих вне пределов фильтрации, запись исчезнет из списка после применения изменений. Например, фильтр справочника **Производители ТГ **имеет поле **Специализация** с мягким условием фильтрации. Вы можете ввести туда часть слова и список отфильтруется по вхождению в поле. Если перейти в режим модификации данных в гриде, поле **Специализация** останется доступным для редактирования. Но если введенный текст не будет удовлетворять вхождению введенного в фильтр шаблона, примененная запись визуально исчезнет. Введите подходящий шаблон в фильтр и вы увидите эту запись со всеми изменениями. |