Как найти роль, которая дает право на создание документа или справочника в 1С?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Торговля и дистрибуция
← На главную

Часто в работе администратора или программиста 1С возникает задача: пользователь имеет право на совершение действия (например, создание соглашения), но вы не можете найти, какая именно роль или профиль группы доступа наделяют его этим правом. Перебор ролей вручную — путь долгий и неэффективный. Давайте разберем, как системно подойти к поиску источника прав, используя встроенные инструменты конфигурации.

Шаг 1: Использование отчета по правам доступа

В современных конфигурациях, таких как 1С:ERP, УТ или КА, существует мощный встроенный инструмент, который позволяет увидеть иерархию прав пользователя. Чтобы воспользоваться им, выполните следующие действия:

  1. Перейдите в раздел НСИ и администрирование (или Администрирование).
  2. Выберите пункт Настройки пользователей и прав.
  3. Перейдите в справочник Пользователи.
  4. Откройте карточку нужного пользователя и перейдите на вкладку Права доступа.
  5. Нажмите кнопку Отчет по правам доступа.

В открывшемся окне установите режим Подробные сведения. Этот отчет покажет вам пообъектно, какой профиль и какая конкретная роль дают доступ к объекту. Именно этот инструмент помог нам в аналогичной ситуации увидеть, что право на соглашения «зашито» в более широкую роль, связанную с продажами.

Шаг 2: Анализ групп доступа и профилей

Если отчет показывает, что права приходят через профиль, в котором содержится много ролей, необходимо проанализировать состав этого профиля. Иногда право на создание объекта является «побочным эффектом» включения функциональной роли.

Рассмотрим порядок действий:

Шаг 3: Проверка ограничений на уровне записей (RLS)

Если после удаления ролей право все равно остается, возможно, дело не в ролях, а в механизме ограничения доступа на уровне записей (RLS). В 1С права могут «залипать» из-за того, что кэш прав доступа не был обновлен после внесения изменений.

Чтобы исключить этот фактор, выполните принудительное обновление доступа:

  1. Перейдите в НСИ и администрирование.
  2. Найдите раздел Поддержка и обслуживание или Группы доступа.
  3. Запустите обработку Обновление доступа на уровне записей.
  4. После завершения операции проверьте наличие права у пользователя снова.

Шаг 4: Анализ функциональных опций и кода

Если отчет по правам подтверждает наличие доступа, но вы не можете его убрать, не нарушив работу других механизмов (например, создание заказов), значит, права связаны программно или архитектурно. В таких случаях разберем следующие причины:

Что делать, если права «сцеплены»?

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

  1. Создание своего профиля: Скопируйте типовой профиль, создайте из него свой и удалите лишние роли. Это «чистый» путь с точки зрения обновлений.
  2. Использование расширений: Если необходимо тонкое управление правами, можно создать расширение конфигурации, в котором изменить права доступа или переопределить обработку прав в соответствующих модулях (например, в УправлениеДоступом), добавив дополнительные проверки.

Помните, что анализ прав в 1С — это процесс исключения. Начните с самого простого (отчет по правам), затем переходите к обновлению кэша и только в крайнем случае приступайте к анализу программного кода и созданию собственных ролей.

← На главную