Как применять пользовательскую бизнес-логику для управления правами доступа
Вы можете изменять права доступа пользователей на записи системы при помощи бизнес-процессов. Каждое событие может автоматически запустить процесс по определенному условию.
Пример
В результате, каждый раз, когда тип контакта будет изменяться на "Сотрудник", процесс будет забрать права на редактирование и удаление этой записи у всех пользователей системы, кроме роли “HR. Группа руководителей“, которые смогут просматривать, редактировать и удалить запись.
Общая схема бизнес-процесса (Рис. 378):
Начальное событие [Сигнал] срабатывает при изменении значения в поле [Тип] страницы контакта на "Сотрудник" и сохраняет уникальный идентификатор измененной записи.
Элемент процесса [Изменить права доступа] устанавливает права доступа на изменение или удаление записи. Этот элемент получает значение уникального идентификатора записи контакта из начального события.
Добавьте на диаграмму процесса Начальное событие [Сигнал] и укажите для него следующие параметры (Рис. 379).
[Объект] укажите “Контакт”.
В полеИзменение записи”.
Выберите тип события “[Любого поля из выбранных] и добавьте колонку “Тип”.
В области [Ожидать изменения] выберитеТип = Сотрудник".
Укажите условие "
Добавьте Элемент процесса [Изменить права доступа] на диаграмму процесса и настройте для него следующие параметры (Рис. 381).
[Для записей какого объекта изменить права доступа?] укажите “Контакт”.
В поле[Изменить доступ на все записи, соответствующие условию] настройте фильтр по колонке Id (”Id=Изменен тип контакта.Уникальный идентификатор записи”) (Рис. 380):
В поле[+ Добавить условие], чтобы добавить новое условие фильтрации.
НажмитеId”.
В открывшемся окне выберите из списка значение ”Сравнить с параметром”.
Кликните <?> и выберите “[Элементы процесса] выберите начальное событие (в левой части окна).
В открывшемся окне на вкладке[Уникальный идентификатор записи].
В правой части окна выберите параметр
На заметку
Подробно о передаче значения уникального идентификатора записи между элементами процесса читайте в статье ”Как настроить передачу параметров между элементами бизнес-процесса”.
[Какие права забрать?]нажмите кнопку и выберите ”Для всех ролей и пользователей”. Снимите признак под изображением , чтобы забрать у пользователей права на редактирование и удаление записи, но оставить право на чтение.
В поле[Какие права добавить?] нажмите кнопку и выберите ”Для роли”.
В поле[Роль] нажмите кнопку и выберите “Значение справочника“.
В появившемся полеВ открывшемся окне выбора значения справочника укажите “HR. Группа руководителей“.
После настройки элементов, объедините их на диаграмме в единый процесс и сохраните.
В результате, каждый раз, когда тип контакта будет изменяться на "Сотрудник", процесс будет забрать права на редактирование и удаление этой записи у всех пользователей системы, а у организационной роли "HR.Группа руководителей" будет полный доступ к записи и они смогут ее просмотреть, отредактировать или удалить.
На заметку
Убедитесь, что в разделе [Права доступа на объекты] дизайнера системы настроены права доступа на выполнение операций в нужном объекте (в данном случае в объекте "Контакт"). Настройка прав доступа на объекты описана в статье “Права доступа на объекты”.
Смотрите также
•Элемент процесса [Изменить права доступа]
•Как настроить передачу параметров между элементами бизнес-процесса