При внедрении бизнес-процессов и согласований в конфигурациях 1С:ERP Управление предприятием, 1С:Управление торговлей (УТ) или 1С:Комплексная автоматизация (КА) часто возникает неприятная ситуация: бизнес-процесс успешно запускается, задачи маршрутизируются и приходят адресатам, однако любой пользователь системы может открыть и выполнить абсолютно любую чужую задачу, даже если он не назначен исполнителем и у него нет соответствующей роли.
Рассмотрим подробно причины такого поведения программы, выясним, почему стандартное заполнение регистра адресации не блокирует доступ к объектам, и разберем по шагам правильную настройку прав доступа на уровне записей (RLS).
Проанализируем архитектуру подсистемы Бизнес-процессы и задачи на базе Библиотеки стандартных подсистем (БСП). В типовых конфигурациях за распределение задач отвечают два ключевых механизма:
Исполнители задач (регистр адресации): определяет логику маршрутизации задач. На основе этого регистра система решает, кому отправить уведомление и чьи списки «Мои задачи» пополнить новыми элементами. Однако сам по себе этот регистр не является механизмом ограничения прав доступа.Добавление и изменение задач (в некоторых версиях — Добавление изменение заданий): дает право на чтение, изменение и выполнение объектов метаданных типа Задача.По умолчанию в поставляемых «из коробки» решениях 1С механизм RLS (Record-Level Security — ограничение доступа на уровне записей) отключен из соображений максимальной производительности СУБД. При выключенном RLS роль Добавление и изменение задач дает полнотекстовый доступ ко всем задачам в базе. Система видит, что у пользователя есть эта роль, и разрешает ему интерактивно открыть и выполнить задачу любого другого сотрудника, даже если тот не указан в качестве исполнителя.
Чтобы программа начала физически проверяют права каждого пользователя при попытке открыть задачу, необходимо включить механизм RLS. Выполним следующие действия в пользовательском режиме:
После включения этой опции платформа 1С начнет автоматически добавлять к SQL-запросам дополнительные условия проверки прав. Пользователь сможет увидеть и выполнить задачу только при выполнении одного из условий:
1. Пользователь указан как персональный исполнитель задачи в поле Исполнитель.
2. Пользователь является автором бизнес-процесса или самой задачи.
3. Пользователь входит в ролевую группу исполнителей согласно регистру Исполнители задач (с учетом уточняющих объектов адресации, таких как организация или подразделение).
4. На пользователя оформлено официальное замещение (делегирование) от имени основного исполнителя.
Выясним, как правильно распределить роль Добавление и изменение задач между сотрудниками, чтобы исключить пересечение прав.
Роль Добавление и изменение задач содержится во многих стандартных типовых профилях (например, у менеджеров продаж, закупщиков, кладовщиков). Чтобы ограничение по пользователям работало корректно, эта роль должна находиться в профиле, где включено ограничение по видам доступа.
Рассмотрим два основных варианта настройки групп доступа:
Это наиболее простой и быстрый вариант, не требующий создания множества дублирующих групп под каждого сотрудника:
Добавление и изменение задач.Пользователи выберем значение Все запрещены, исключения назначаются в группах.При такой настройке система разрешает каждому конкретному пользователю видеть и редактировать только те записи, где он явно указан автором или исполнителем. Чужие задачи полностью исчезнут из списков и журналов.
Если требуется оставить пользователям широкие права на справочники и документы, но жестко ограничить именно задачи, выполним следующие шаги:
Добавление и изменение задач.Добавление и изменение задач.Если сотруднику необходимо временно передать право выполнения своих задач коллеге (на период отпуска или болезни), не нужно править профили прав или снимать RLS. Для этого в типовых решениях предусмотрен штатный механизм органайзера:
Замещение.Механизм RLS автоматически учтет действующую запись замещения и предоставит временно назначенному коллеге доступ к задачам отсутствующего сотрудника без нарушения общей системы безопасности.
Проанализируем важные нюансы, о которых следует помнить при включении RLS: