Как настроить и проверить ограничение прав доступа по группам партнеров в 1С:Управление торговлей 11

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

В современных корпоративных системах на базе 1С, таких как Управление торговлей 11, вопрос разграничения прав доступа стоит очень остро. Одной из наиболее часто используемых, но при этом вызывающих вопросы функций является ограничение доступа по группам партнеров. Часто возникают ситуации, когда менеджер видит документы «чужих» клиентов или, наоборот, не видит те, за которые отвечает. В этой статье мы подробно разберем, как работает механизм RLS (Row Level Security), как правильно выстроить цепочку ограничений и как диагностировать ошибки в правах доступа.

Логика работы механизма ограничения доступа по партнерам

Для начала проанализируем, как строится внутренняя связь объектов, позволяющая системе понять, имеет ли пользователь право видеть конкретный Заказ клиента или Реализацию товаров и услуг. Механизм в УТ 11 (начиная с версий 11.2 и выше) представляет собой трехуровневую цепочку. Если хотя бы одно звено этой цепочки настроено неверно, ограничение работать не будет.

Рассмотрим эту цепочку по шагам:

  1. Пользователь и Группа доступа: Пользователь должен быть включен в конкретную Группу доступа (например, «Менеджеры по продажам»).
  2. Вид доступа в Группе доступа: Внутри этой группы, на вкладке «Ограничения доступа», должен быть добавлен вид доступа Группы партнеров. Именно здесь задаются разрешенные значения.
  3. Группа доступа партнеров: Это справочник, который является «прослойкой». Он указывается в Группе доступа (как разрешенное значение) и в карточке самого Партнера.

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

Пошаговая настройка прав доступа

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

Шаг 1. Создание групп доступа партнеров
Перейдите в раздел НСИ и администрирование — Настройка пользователей и прав — Группы доступа партнеров. Создайте здесь необходимые группы, например: «VIP-клиенты», «Регион Север», «Розничные покупатели». Это чисто классификационные сущности, которые будут связывать клиентов и права.

Шаг 2. Настройка карточки партнера
Откройте карточку партнера. На вкладке Учетная информация найдите поле Группа доступа. Выберите одну из созданных на предыдущем шаге групп. Важно: если оставить это поле пустым, доступ к такому партнеру будет регулироваться общей настройкой «Для пустых значений» в профиле доступа.

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

Выясним причину, почему настройки могут не применяться: проверьте вкладку «Ограничения доступа». Вам нужно добавить строку с видом доступа Группы партнеров. Здесь есть два режима работы:

Почему менеджер видит лишние документы?

Проанализируем ситуацию, когда все настройки вроде бы сделаны, но пользователь все равно видит документы по партнерам, к которым у него нет доступа. Рассмотрим основные причины:

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

2. Роли без поддержки RLS
В Профиле групп доступа могут быть роли, в которых ограничение RLS не прописано на уровне конфигуратора. Например, роль Просмотр всей НСИ часто игнорирует любые ограничения по партнерам. Если такая роль назначена пользователю, он увидит всех контрагентов и партнеров в справочниках, а иногда и документы по ним.

3. Поле «Ответственный» или «Менеджер»
В типовых шаблонах ограничений УТ 11 часто заложена логика: «Пользователь видит документ, если он является в нем ответственным», независимо от того, к какой группе относится партнер. Это сделано для того, чтобы сотрудник всегда мог довести до конца сделку, которую он начал, даже если партнера позже перевели в другую группу доступа.

Техническое обслуживание и обновление прав

Выясним, как система обрабатывает эти права технически. В УТ 11 данные о доступности объектов не вычисляются в реальном времени при каждом открытии списка (это было бы слишком медленно). Для этого используются специальные регистры сведений:

Когда вы меняете группу доступа у партнера или добавляете пользователя в новую группу доступа, записи в этих регистрах должны обновиться. Посмотрим на алгоритм действий, если изменения не вступили в силу немедленно:

Разберем работу регламентных заданий. За обновление прав отвечает задание Обновление прав доступа. Вы можете запустить его вручную через: НСИ и администрирование — Обслуживание — Управление доступом — Обновить.

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

Как проверить работу механизма «глазами системы»?

Чтобы не гадать, почему пользователь видит тот или иной объект, воспользуемся встроенными инструментами диагностики. Самый эффективный из них — отчет Права доступа.

Проанализируем ситуацию по шагам:

  1. Откройте карточку Пользователя.
  2. Нажмите кнопку Отчеты — Права доступа.
  3. В открывшемся окне вы увидите не только список назначенных ролей, но и итоговую таблицу по видам доступа.
  4. Найдите строку Группы партнеров. Там будет четко указано: «Все запрещены, кроме...» и перечислены разрешенные группы.

Если в этом отчете вы видите, что доступ разрешен, а менеджер все равно жалуется на отсутствие документов, проверьте поле Партнер в самих документах. Важно помнить, что в УТ 11 Контрагент и Партнер — это разные сущности. Права ограничиваются именно по Партнеру. Если в документе выбран Партнер, у которого группа доступа не заполнена, а в настройках прав для «Пустых значений» стоит «Запрещено», то документ будет скрыт.

Пример анализа прав доступа (логика запроса RLS)

Хотя в пользовательском режиме мы не видим код, внутри системы ограничение выглядит примерно так (упрощенно):


ГДЕ Документ.Партнер.ГруппаДоступа В (
    ВЫБРАТЬ РазрешенныеГруппы 
    ИЗ РегистрСведений.КлючиДоступаПользователей 
    ГДЕ Пользователь = &ТекущийПользователь
)
ИЛИ Документ.Менеджер = &ТекущийПользователь

Этот пример наглядно показывает, что доступ дается либо по группе партнера, либо по авторству документа. Если вы хотите изменить это поведение, потребуется вмешательство программиста в Профили групп доступа и изменение шаблонов RLS в конфигураторе, но для большинства бизнес-задач достаточно типовых настроек, описанных выше.

Таким образом, для корректной работы видимости документов необходимо обеспечить связку Группа доступа -> Вид доступа -> Группа доступа партнеров и следить за тем, чтобы права разных групп доступа пользователя не конфликтовали между собой.

← На главную