Одной из частых задач при настройке прав доступа в 1С:Зарплата и Управление Персоналом 3 является ограничение видимости конфиденциальных данных для пользователей с ограниченными функциями, таких как табельщики. Стандартные профили доступа в ЗУП 3 зачастую дают избыточные права, позволяя сотрудникам, ответственным только за учет рабочего времени, видеть суммы начислений и премий в документе Данные для расчета зарплаты. Рассмотрим пошагово, как решить эту проблему.
Прежде чем приступать к настройкам, выясним, почему доступ к данным открыт. Архитектура ЗУП 3 предполагает, что кадровые и расчетные данные тесно связаны. Формы документов (например, ПриемНаРаботу или КадровыйПеревод) часто требуют доступа к подсистеме расчета зарплаты для корректного отображения состава начислений и окладов. Простое удаление ролей из профиля Табельщик часто приводит к тому, что формы документов перестают открываться или выдают критические ошибки отрисовки из-за отсутствия прав на компоненты ГруппаПоказатели или общие модули.
Наиболее безопасным и поддерживаемым способом ограничения интерфейса является использование расширений конфигурации. Это позволяет не вмешиваться в код типовой конфигурации и упрощает процесс обновления базы.
Данные для расчета зарплаты.ПриСозданииНаСервере.Этот метод позволяет полностью скрыть документ из списков и интерфейса, не нарушая работу других механизмов.
Если задача стоит жестче и необходимо ограничить не только визуальное отображение, но и физическое чтение данных из базы, обратимся к механизму RLS (Record Level Security). В ЗУП 3 доступ регулируется через РегистрСведений.ТаблицыГруппДоступа.
Разберем процесс корректировки доступа:
ТаблицыГруппДоступа.Данные для расчета зарплаты.Важно: При таком подходе необходимо также закрыть доступ к сопутствующим регистрам, например, Значения разовых показателей расчета зарплаты (для сотрудников), иначе пользователь сможет получить информацию через отчеты или другие формы.
Для того чтобы настройки прав не «слетали» после каждого обновления конфигурации, используйте механизмы Библиотеки стандартных подсистем (БСП). Вместо того чтобы вручную править типовые роли, внесите изменения в ОбщийМодуль.УправлениеДоступомПереопределяемый.
Пример программной реализации дополнения профилей:
Процедура ПриЗаполненииПоставляемыхПрофилейГруппДоступа(ОписанияПрофилей, ПараметрыОбновления) Экспорт
// Добавляем или исключаем роли программно
// Это гарантирует сохранение настроек при обновлениях
КонецПроцедуры
Этот подход является эталонным при автоматизации прав в 1С, так как он делает процесс прозрачным для сопровождающего программиста.
При настройке прав помните, что ЗУП 3 — это сложная система, где «кадры» и «расчет» сильно переплетены. Попытки изолировать данные могут привести к необходимости передачи кадровых функций по вводу окладов непосредственно в отдел расчета зарплаты. Если требования безопасности высоки, рассмотрите пересмотр бизнес-процессов: пусть кадровик вводит только табельные данные, а расчетчик — суммы начислений. Это избавит вас от необходимости поддерживать сложную систему RLS и «костылей» в расширениях.