При разграничении прав доступа на уровне записей (RLS) в конфигурации 1С:Зарплата и Управление Персоналом 3.1 администраторы часто сталкиваются с нестандартным поведением системы. Типичная ситуация: кадровому специалисту назначается профиль с разрешением видеть все организации и группы физических лиц без исключений, однако при входе в программу список сотрудников оказывается полностью пустым.
При этом, если в настройках группы доступа явно указать исключения (например, запретить пару конкретных организаций), сотрудники по оставшимся юрлицам неожиданно становятся видимыми. Проанализируем, почему возникает этот сбой, как работает механизм ключей доступа БСП и какими способами можно восстановить корректную работу прав.
Разберем внутренние механизмы 1С:ЗУП 3.1, влияющие на расчет прав доступа на уровне записей:
Организации и Группы физических лиц). Если логика профиля диктует требование явно задавать исключения в группах, а в самой группе доступа указано «Все разрешены, без исключений», алгоритм расчета может давать сбой.Группа доступа у физлиц блокирует показ сотрудников в интерфейсе.Посмотрим на практический случай: если в программе были созданы тестовые или дублирующие организации, в которых еще нет оформленных кадровых документов и сотрудников, алгоритм RLS может давать сбой при формировании таблицы ключей.
Выполним следующие шаги для проверки:
Организации и проанализируем список юридических лиц.Сотрудники под пользователем с проблемой.После удаления организаций без сотрудников стандартная форма настройки прав «Все разрешены, без исключений» начинает отрабатывать корректно.
Рассмотрим наиболее надежный с точки зрения производительности вариант. Если кадровику по его должностным обязанностям положен доступ ко всем юридическим лицам и всем физическим лицам базы, нет необходимости пропускать его запросы через механизмы RLS по этим разрезам.
Проанализируем порядок действий:
Старший кадровик).Организации и Группы физических лиц.При такой настройке система вообще не будет накладывать ограничения по организациям для данного пользователя, что полностью исключит ошибки формирования ключей и ускорит работу программы.
Если структура организаций сложная и удалять объекты нельзя, вызовем процедуру принудительного обновления RLS. Регламентное задание Заполнение данных для ограничения доступа обрабатывает данные порциями, поэтому короткого запуска может быть недостаточно.
Для полного перерасчета выполним следующие операции:
Ограничивать доступ на уровне записей.Ограничивать доступ на уровне записей повторно.Выясним причину, связанную со справочником физических лиц. Поле Группа доступа у физического лица напрямую влияет на видимость записи в справочнике Сотрудники.
Разберем процесс исправления:
Физические лица.Группа доступа у записей. Если после переноса данных реквизит остался не заполнен, RLS блокирует к ним доступ.