Добрый день.
Есть справочник с полями(Имя, Описание, Показывать(логическое)).
Подскажите, как сделать фильтр, если Показывать = фолс то не отображать запись в справочнике.
(при нажатии на лупу в всплывающем окне не отображались такие записи)
Прикреплю скриншоты.
Нравится
Здравствуйте!
Есть два варианта решения:
1) Программированием
2) Распределением прав
Программированием Вы можете создать список элементов для отображения. Пример Вы можете найти в схеме ActivityPageV2 (пакет UIV2). Поле "Результат" фильтруется. Доступные для выбора записи определяются кодом:
"Result": { lookupListConfig: { filters: [ function() { var type = this.get("ActivityCategory"); var filterGroup = Ext.create("Terrasoft.FilterGroup"); filterGroup.add("ActivityCategory", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "[ActivityCategoryResultEntry:ActivityResult].ActivityCategory", type.value)); filterGroup.add("BusinessProcessOnly", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "BusinessProcessOnly", 0)); return filterGroup; } ] } },
Правами Вы можете включить администрирование по записям для объекта справочника. Далее, Вам необходимо:
1) Определить права для пользователей, чтобы все видели все записи
2) Удалить содержимое справочника
3) Создать значения, которые должны видеть все пользователи
4) Изменить права по умолчанию - раздать права таким образом, чтобы записи не видели пользователи, у которых Пользователь = false (например, добавив пользователей, которые могут видеть записи в функциональную роль)
5) Создать значения, которые должны видеть пользователи, входящие в функциональную роль с четвертого пункта.