Как применять пользовательскую бизнес-логику для управления правами доступа
Вы можете изменять права доступа пользователей на записи системы при помощи бизнес-процессов. Каждое событие может автоматически запустить процесс по определенному условию.
Пример
При изменении типа контакта на "Сотрудник" необходимо забрать права на редактирование и удаление записи у всех пользователей, кроме роли “HR. Группа руководителей“, которые смогут просматривать, редактировать и удалить запись.
Общая схема бизнес-процесса (Рис. 364):
1.Начальное событие [Сигнал] срабатывает при изменении значения в поле [Тип] страницы контакта на "Сотрудник" и сохраняет уникальный идентификатор измененной записи.
2.Элемент процесса [Изменить права доступа] устанавливает права доступа на изменение или удаление записи. Этот элемент получает значение уникального идентификатора записи контакта из начального события.
Рис. 364 — Бизнес-процесс "Изменение прав доступа на редактирование новой записи сотрудника"
Добавьте на диаграмму процесса Начальное событие [Сигнал] и укажите для него следующие параметры (Рис. 365).
1.В поле [Объект] укажите “Контакт”.
2.Выберите тип события “Изменение записи”.
3.В области [Ожидать изменения] выберите [Любого поля из выбранных] и добавьте колонку “Тип”.
4.Укажите условие “Тип = Сотрудник”.
Рис. 365 — Параметры начального события [Сигнал]
Добавьте Элемент процесса [Изменить права доступа] на диаграмму процесса и настройте для него следующие параметры (Рис. 367).
1.В поле [Для записей какого объекта изменить права доступа?] укажите “Контакт”.
2.В поле [Изменить доступ на все записи, соответствующие условию] настройте фильтр по колонке Id (”Id=Изменен тип контакта.Уникальный идентификатор записи”) (Рис. 366):
a.Нажмите [+ Добавить условие], чтобы добавить новое условие фильтрации.
b.В открывшемся окне выберите из списка значение ”Id”.
c.Кликните <?> и выберите “Сравнить с параметром”.
d.В открывшемся окне на вкладке [Элементы процесса] выберите начальное событие (в левой части окна).
e.В правой части окна выберите параметр [Уникальный идентификатор записи].
Рис. 366 — Настройка фильтра по колонке Id
На заметку
Подробно о передаче значения уникального идентификатора записи между элементами процесса читайте в статье “Как настроить передачу параметров между элементами бизнес-процесса”.
3.В поле [Какие права забрать?] нажмите кнопку и выберите ”Для всех ролей и пользователей”.
a.Снимите признак под изображением , чтобы забрать у пользователей права на редактирование и удаление записи, но оставить право на чтение.
4.В поле [Какие права добавить?] нажмите кнопку и выберите ”Для роли”.
a.В появившемся поле [Роль] нажмите кнопку и выберите “Значение справочника“.
b.В открывшемся окне выбора значения справочника укажите “HR. Группа руководителей“.
Рис. 367 — Параметры элемента процесса [Изменить права доступа]
После настройки элементов, объедините их на диаграмме в единый процесс и сохраните.
В результате, каждый раз, когда тип контакта будет изменяться на “Сотрудник”, процесс будет забрать права на редактирование и удаление этой записи у всех пользователей системы, кроме тех, кто входит в роль “HR. Группа руководителей“.
Смотрите далее
•Элемент процесса [Изменить права доступа]
•Как настроить передачу параметров между элементами бизнес-процесса