Удалить права доступа при изменении контакта

Продукты
Все продукты

Вы можете изменять права доступа пользователей на записи системы при помощи бизнес-процессов. Каждое событие может автоматически запустить процесс по определенному условию.

Пример. Необходимо настроить бизнес-процесс, в ходе выполнения которого каждый раз, когда тип контакта будет изменяться на "Сотрудник", процесс будет забирать права на редактирование и удаление этой записи у всех пользователей системы, кроме роли “HR. Группа руководителей“, которые смогут просматривать, редактировать и удалить запись.

Общая схема бизнес-процесса (Рис. 1):

  1. Начальное событие Сигнал срабатывает при изменении значения в поле Тип страницы контакта на "Сотрудник" и сохраняет уникальный идентификатор измененной записи.

  2. Элемент процесса Изменить права доступа устанавливает права доступа на изменение или удаление записи. Этот элемент получает значение уникального идентификатора записи контакта из начального события.

    Рис. 1— Бизнес-процесс "Изменение прав доступа на редактирование новой записи сотрудника"
    chapter_process_creation_designer_access_rights_process.png

 

Для настройки:

  1. Добавьте на диаграмму процесса начальное событие Сигнал и укажите для него следующие параметры (Рис. 2).
    1. В поле Объект укажите “Контакт”.

    2. Выберите тип события “Изменение записи”.

    3. В области Ожидать изменения выберите “Любого поля из выбранных” и добавьте колонку “Тип”.

    4. Укажите условие "Тип = Сотрудник".

      Рис. 2 — Параметры начального события Сигнал
      chapter_process_creation_designer_employee_type.png
  2. Добавьте элемент процесса Изменить права доступа на диаграмму процесса и настройте для него следующие параметры (Рис. 4).
  3. В поле Для записей какого объекта изменить права доступа? укажите “Контакт”.

  4. В поле Изменить доступ на все записи, соответствующие условию настройте фильтр по колонке Id (”Id=Изменен тип контакта.Уникальный идентификатор записи”) (Рис. 3):

    На заметку. Подробно о передаче значения уникального идентификатора записи между элементами процесса читайте в статье Параметры процесса.

    1. Нажмите + Добавить условие, чтобы добавить новое условие фильтрации.

    2. В открывшемся окне выберите из списка значение ”Id”.

    3. Кликните <?> и выберите “Сравнить с параметром”.

    4. В открывшемся окне на вкладке Элементы процесса выберите начальное событие (в левой части окна).

    5. В правой части окна выберите параметр ”Уникальный идентификатор записи”.

      Рис. 3— Настройка фильтра по колонке Id
      chapter_process_creation_designer_access_rights_element_id_filter.GIF
  5. В поле Какие права забрать? нажмите кнопку btn_com_add_tab00021.png и выберите ”Для всех ролей и пользователей”. Снимите признак под изображением icn_chapter_process_designer_read_access.png, чтобы забрать у пользователей права на редактирование и удаление записи, но оставить право на чтение.

  6. В поле Какие права добавить? нажмите кнопку btn_com_add_tab00022.png и выберите ”Для роли”.

    1. В появившемся поле Роль нажмите кнопку btn_process_element_settings_lookup00023.png и выберите “Значение справочника“.

    2. В открывшемся окне выбора значения справочника укажите “HR. Группа руководителей“.

      Рис. 4 — Параметры элемента процесса Изменить права доступа
      chapter_process_creation_designer_access_rights_element_paramters.png
  7. После настройки элементов, объедините их на диаграмме в единый процесс и сохраните.
    В результате, каждый раз, когда тип контакта будет изменяться на "Сотрудник", процесс будет забирать права на редактирование и удаление этой записи у всех пользователей системы, а у организационной роли "HR.Группа руководителей" будет полный доступ к записи и они смогут ее просмотреть, отредактировать или удалить.

На заметку. Убедитесь, что в разделе Права доступа на объекты дизайнера системы настроены права доступа на выполнение операций в нужном объекте (в данном случае — в объекте "Контакт"). Настройка прав доступа на объекты описана в статье Настроить доступ по операциям.