
Итак, суть проблемы: если на предприятии необходимо ограничить права пользователей в разрезе подразделений, то типовой механизм, реализованный в «1С:ЗУП КОРП», нам не поможет, так как полноценное ограничение доступа по подразделениям в программе не поддерживается, и на данный момент ограничения доступа по подразделениям распространяются только на штатное расписание.
Авторы:

Елена Мордовина,
консультант-аналитик по «1С:ЗУП» Внедренческого центра «Раздолье»

Айрат Файзрахманов,
руководитель проектов Внедренческого центра «Раздолье»
При применении типового механизма разграничения прав доступа пользователей на уровне записей (RLS) при переводе сотрудника из одного подразделения в другое (группа доступа при этом также меняется) мы неизбежно столкнёмся с подобной проблемой: например, расчётчику того подразделения, из которого был переведён сотрудник, станут недоступны некоторые документы с начислениями.
Дело в том, что в программе заложен алгоритм: если в табличной части документа находится хотя бы один сотрудник, к которому нет доступа, то становится недоступен весь документ.
Для решения этой проблемы приходится создавать промежуточные группы доступа и администрировать их вручную (добавлять/удалять участников группы доступа).
Чтобы исправить эту ситуацию, мы разработали и внедрили механизм разграничения прав по подразделениям на уровне RLS, который позволяет, например, ограничить права расчётчиков с привязкой к определённому подразделению [при этом учитывается тот факт, что сотрудники могут перемещаться между подразделениями].
Цепочка из групп доступа по сотруднику (физическому лицу) формируется автоматически в момент проведения кадровых документов. В справочниках и отчётах сотрудники с действующей группой доступа выводятся для каждого определённого расчётчика.
Приведём пример запроса заказчика с численностью сотрудников более 8 000
Задача: разграничить доступ пользователей по подразделениям. Расчётчику в базе для работы необходимо видеть тол��ко сотрудников своих подразделений, при этом сотрудники могут перемещаться между подразделениями.
Справочник «Штатное расписание» доступен для просмотра без ограничений доступа, но без возможности вывода на форму списка колонок «Оклад тариф» и «ФОТ». Документы «Утверждение ШР», «Изменение ШР» доступны с учётом ограничения доступа по подразделениям.
Отчёты формируются по сотрудникам с учётом действующей группы доступа.
Реализация:
Включаем механизм «Ограничение доступа на уровне записей»:
Доступ с точностью до физических лиц,
Доступ к штатному расписанию по подразделению.

Описываем группы доступа физических лиц.

3. Присваиваем группы доступа подразделениям/физическим лицам.

При приёме нового сотрудника группа доступа назначается вручную. Если в программе включен раздел «Подбор персонала», группа доступа будет назначаться автоматически в момент утверждения кандидата.

При перемещении сотрудника из одного подразделения в другое физическому лицу автоматически присваивается группа доступа действующего подразделения, и образуется цепочка групп доступа -двойная, -тройная и т.д., в зависимости от количества переводов между подразделениями.

Настройка прав доступа пользователям
Права доступа для пользователей настраиваем в справочнике «Профили групп доступа». В профилях настраиваем роли пользователей (т.е какие действия они могут совершать в программе).
Настраиваем группы доступа в справочнике «Группы доступа», где указываем: кто из пользователей с какими группами доступа имеет право работать и с какими ограничениями. При перемещении сотрудника из одного подразделения в другое цепочки, созданные по группам доступа, автоматически добавляются в «Группу доступа» для подразделения до и после перевода.
Это позволяет пользователю подразделения до перевода «видеть» документы по сотруднику, введенные ранее, но при этом все документы с заполненной табличной частью (т.е те, в которых есть и другие работники), введенные в программу после перевода, будут ему не доступны, и наоборот – для пользователя подразделения после перевода.

При таких настройках (с учётом доработок) в программе удалось в полном объёме реализовать задачу по автоматизации функционала ограничения прав доступа пользователей в разрезе подразделений с учётом перемещений между подразделениями.