Изменить права доступа в рамках бизнес-процесса

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

В ходе бизнес-процесса выполняются различные операции с записями системы. В зависимости от настроек процесса эти операции могут выполняться пользователями (действия пользователя) либо автоматически (действия системы).

При выполнении пользовательских действий процесс использует права доступа того пользователя, который выполняет действие. Например, если по процессу должна быть открыта страница записи, на просмотр и редактирование которой у пользователя нет доступа, то пользователь не сможет выполнить нужные действия с записью. Соответственно, процесс не перейдет на следующий шаг и не завершится.

Эту особенность необходимо учитывать при построении процессов. Во время выполнения процесса права доступа необходимо изменить как минимум 2 раза:

  • Перед выполнением пользовательского действия следует выдать права доступа, необходимые для выполнения действия, соответствующему пользователю.

  • По завершении пользовательского действия необходимо восстановить изначальные права доступа, которыми пользователь обладал до выполнения процесса.

Для автоматического изменения прав доступа во время выполнения бизнес-процессов используется элемент Изменить права доступа. Данный элемент при выполнении устанавливает указанные права доступа на выбранные записи для определенных пользователей.

Пример. При изменении ответственного по контрагенту новому ответственному необходимо добавить права на чтение и изменение записи, а для остальных сотрудников установить только право на чтение.

  1. Добавьте элемент Изменить права доступа на схему процесса (Рис. 1).
    Рис. 1  — Схема процесса изменения прав доступа для нового ответственного по контрагенту
    scr_chapter_process_designer_change_access_process_scheme.png
  2. Перейдите к настройке свойств элемента (Рис. 2). 
    Рис. 2 — Панель настройки элемента Изменить права доступа
    scr_chapter_process_designer_change_access.png
  3. В поле Из какого объекта читать данные? укажите “Контрагент”.
  4. В области Изменить доступ на все записи, соответствующие условию настройте фильтр, в который попадут только те записи, права доступа к которым необходимо изменить. Например, чтобы выбрать контрагента, у которого изменился ответственный, настройте фильтр по колонке Id: “Id = Изменился ответственный по контрагенту.Уникальный идентификатор записи”. Для этого:
    1. Нажмите <Добавить условие> и выберите колонку “Id”.

    2. В появившемся меню выберите Сравнить с параметром.

    3. В окне определения значения параметра выберите параметр Уникальный идентификатор записи, полученный из элемента Читать данные контрагента, предварительно добавленного на схему процесса.

  5. В области  Какие права забрать? нажмите + и выберите пользователей или роли, у которых нужно забрать права на указанные записи. Например, чтобы ограничить права доступа для всех пользователей, кроме ответственного за запись:

    1. Выберите в меню Для всех ролей и пользователей.

    2. Отметьте операции, право на которые следует забрать. Чтобы оставить только право на чтение записи, отметьте icn_chapter_process_designer_edit_access.png (редактирование) и icn_chapter_process_designer_delete_access.png (удаление).

  6. В области Какие права доступа добавить? нажмите + и укажите, кому и какие именно права следует добавить. Например, чтобы при выполнении элемента новому ответственному добавлялись права на чтение и редактирование записи:

    1. Нажмите + и выберите выберите Для сотрудника.

    2. В появившемся поле укажите определенного пользователя или роль, которым будут предоставлены права доступа. Вы можете выбрать пользователя или роль из справочника либо получить соответствующее значение из параметра процесса и его элементов.

      Сотрудника, который был установлен новым ответственным по контрагенту, можно получить, прочитав данные поля Ответственный данного контрагента. Для этого в поле Сотрудник по кнопке btn_process_element_settings_lookup.png выберите пункт “Параметр процесса”.

    3. В открывшемся окне выбора параметра на вкладке Элементы процесса выберите элемент Читать данные контрагента и его параметр “Ответственный”. Нажмите “Выбрать”, чтобы сохранить значение поля.

    4. Выберите операции, на которые необходимо выдать доступ. Чтобы разрешить пользователю просматривать и изменять записи, отметьте icn_chapter_process_designer_read_access.png (чтение) и icn_chapter_process_designer_edit_access00001.png (редактирование).

  7. Если необходимо, чтобы новый ответственный мог делегировать полученные права другим пользователям, то после установки прав доступа нажмите кнопку  scr_chapter_process_designer_give_access_icon.png и выберите “Дать доступ с правом делегирования” (Рис. 3).
    Рис. 3 — Настройка доступа с правом делегирования
    scr_chapter_process_designer_change_access_level.png

    На заметку. Чтобы использовать параметры других элементов, нужные элементы и параметры должны быть предварительно добавлены в бизнес-процесс. Подробнее об использовании параметров читайте в статье “Параметры процесса”.

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