Добрый день.
Есть справочник с полями(Имя, Описание, Показывать(логическое)).
Подскажите, как сделать фильтр, если Показывать = фолс то не отображать запись в справочнике.
(при нажатии на лупу в всплывающем окне не отображались такие записи)
Прикреплю скриншоты.
Нравится
Здравствуйте!
Есть два варианта решения:
1) Программированием
2) Распределением прав
Программированием Вы можете создать список элементов для отображения. Пример Вы можете найти в схеме ActivityPageV2 (пакет UIV2). Поле "Результат" фильтруется. Доступные для выбора записи определяются кодом:
[javascript]
"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;
}
]
}
},
[/javascript]
Правами Вы можете включить администрирование по записям для объекта справочника. Далее, Вам необходимо:
1) Определить права для пользователей, чтобы все видели все записи
2) Удалить содержимое справочника
3) Создать значения, которые должны видеть все пользователи
4) Изменить права по умолчанию - раздать права таким образом, чтобы записи не видели пользователи, у которых Пользователь = false (например, добавив пользователей, которые могут видеть записи в функциональную роль)
5) Создать значения, которые должны видеть пользователи, входящие в функциональную роль с четвертого пункта.