Почему не работают ограничения доступа на уровне записей (RLS) по физическим лицам в 1С:ЗУП 3?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

При настройке разграничения прав доступа на уровне записей (RLS) в 1С:Зарплата и Управление Персоналом 3 специалисты часто сталкиваются с ситуацией, когда после корректного заполнения профилей и групп доступа пользователи (например, расчетчики) перестают видеть каких-либо сотрудников и физических лиц. Рассмотрим, почему возникает эта проблема и как правильно настроить систему для ее устранения.

Правильная настройка профилей и групп доступа

Для корректного разграничения доступа по группам физических лиц необходимо соблюдать двухуровневую схему настройки Библиотеки Стандартных Подсистем (БСП):

  1. Настройка в профиле групп доступа: В профиле (например, типовом профиле Расчетчик) для вида доступа Группы физических лиц необходимо установить значение Все запрещены, исключения назначаются в группах доступа.
  2. Настройка в группе доступа: В конкретной группе доступа пользователей устанавливается правило Все запрещены, кроме N значений и добавляются конкретные разрешенные группы физических лиц.
  3. Назначение групп физическим лицам: В справочниках Физические лица или Сотрудники проверяем, что нужные элементы действительно включены в соответствующую группу физических лиц.

Основная причина сбоя: отключенные регламентные задания

Выясним причину, почему при корректных настройках пользователь всё равно ничего не видит. В производительном режиме RLS платформа 1С не рассчитывает права пользователей динамически при каждом запросе. Вместо этого используются заранее сформированные таблицы с ключами доступа и наборами значений доступа.

Формирование и актуализация этих служебных таблиц выполняются автоматически с помощью регламентных заданий БСП. Если в информационной базе выключены регламентные задания (например, при копировании базы на тестовый контур или при разворачивании демо-базы), таблицы ключей доступа остаются пустыми или некорректными. В результате пользователь с ограниченными правами не получает доступ ни к одной записи.

Способы решения проблемы

Разберем по шагам варианты восстановления работы механизма ограничений доступа:

  1. Включение регламентных заданий: Проверим, разрешено ли выполнение фоновых и регламентных заданий в информационной базе. В клиент-серверном режиме убедимся, что в консоли администрирования кластера 1С:Предприятия не установлена галочка блокировки регламентных заданий. После включения заданий система автоматически рассчитает ключи доступа.
  2. Ручной запуск обновления данных БСП: Если регламентные задания выключены и их нельзя включить на постоянной основе, пересчет прав можно запустить программно с помощью служебной процедуры БСП: УправлениеДоступомСлужебный.ЗаполнениеДанныхДляОграниченияДоступа();
  3. Принудительное обновление информационной базы: Обновление вспомогательных данных БСП также можно запустить при старте базы, используя параметр командной строки: /c ЗапуститьОбновлениеИнформационнойБазы

Важные особенности применения RLS по физическим лицам

Проанализируем особенности работы производительного режима RLS в 1С:ЗУП 3, которые стоит учитывать при проектировании прав:

  1. Скрытие документов с несколькими сотрудниками: Если в документе (например, в ведомости или кадровом переводе) присутствует хотя бы один сотрудник, к которому у пользователя нет доступа, платформа скрывает весь документ целиком.
  2. Формирование регламентированной отчетности: Ограничения по физическим лицам могут заблокировать корректную сборку отчетов (6-НДФЛ, РСВ), так как учет НДФЛ и взносов ведет расчеты в целом по физическому лицу.
  3. Кадровые перемещения: При переводе сотрудника из одной группы доступа в другую расчетчик исходного подразделения может потерять доступ к историческим документам по этому сотруднику, если для него не настроена перекрестная группа доступа.
← На главную