Войти

Как настроить фильтрацию справочников на одном экране

Зачастую при разработке услуг, где используются справочники, необходимо настроить их фильтрацию.

Чтобы настроить фильтрацию нескольких справочников между собой, важно, чтобы эти справочники имели общее значение по какому-либо атрибуту.

Для примера возьмем справочники grls_ilp_lp — справочник лекарственных средств (справочник А), grls_ilp_nd — справочник регистрационных номеров лекарственных средств (справочник B) и grls_ilp_pack — справочник упаковок (справочник С).

Справочник A имеет следующую структуру (обращаем внимание на атрибут id):

Справочник B имеет следующую структуру (обращаем внимание на атрибут id_reg, значение которого является общим с атрибутом ID первого справочника):

Справочник C имеет так же атрибут id_reg, значение которого является общим с атрибутом id первого справочника.

Настройка фильтрации

Для того, чтобы начать настраивать фильтрацию, необходимо:
1. Загрузить справочники в БД ЕПГУ, используя интерфейс ВКУ.
2. Расположить все фильтруемые справочники на форме.

3. Настроить маппинг справочника, по котому будет происходить фильтрация. В нашем случае мы будем фильтровать справочник A по атрибуту id.

4. Настроить маппинг фильтруемого справочника. В нашем случае фильтровать справочники B и C мы будем по атрибуту id_reg.

5. Далее нужно перейти в настройки поля «Установить зависимости с ранее введенными данными» справочников B и C. В поле ID атрибута указываем идентификатор справочника А. В поле Значение, для которого устанавливается некая зависимость ставим *. В поле Описание зависимости или действия управляющего зависимостью пишем filterOn.

6. После указания метода filterOn перед пользователем отображается настройка «Фильтрация по выбранному словарю».
7. В поле Наименование атрибута фильтрации из 2го словаря указываем атрибут справочника В и С, который необходимо фильтровать. В поле Тип фильтрации выбрать нужный тип фильтрации. В поле Атрибут из первого словаря вписываем originalItem.value. Можно указать и атрибут id, но т.к. в маппинге справочника А был указан этот атрибут, он будет принимать значение value. В поле Тип атрибута указываем тип атрибута справочника А (asLong — целое число, asString — строка, asDecimal — дробное число и пр.).

8. Сохранить.

Пример настройки можно посмотреть в шаблоне.

Видеодемонстрация фильтрации (справочники В и С скрыты методом displayOn):


Авторизуйтесь, чтобы оставить комментарий к статье