Как скрыть от табельщика документ Данные для расчета зарплаты в 1С:ЗУП 3?

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

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

Анализ причин доступа

Прежде чем приступать к настройкам, выясним, почему доступ к данным открыт. Архитектура ЗУП 3 предполагает, что кадровые и расчетные данные тесно связаны. Формы документов (например, ПриемНаРаботу или КадровыйПеревод) часто требуют доступа к подсистеме расчета зарплаты для корректного отображения состава начислений и окладов. Простое удаление ролей из профиля Табельщик часто приводит к тому, что формы документов перестают открываться или выдают критические ошибки отрисовки из-за отсутствия прав на компоненты ГруппаПоказатели или общие модули.

Решение через использование расширений

Наиболее безопасным и поддерживаемым способом ограничения интерфейса является использование расширений конфигурации. Это позволяет не вмешиваться в код типовой конфигурации и упрощает процесс обновления базы.

  1. Создайте новое расширение конфигурации.
  2. Добавьте в него формы документа Данные для расчета зарплаты.
  3. В модуле формы переопределите процедуру ПриСозданииНаСервере.
  4. Добавьте условие, которое программно закрывает форму, если у текущего пользователя нет необходимых прав на просмотр финансовых данных.

Этот метод позволяет полностью скрыть документ из списков и интерфейса, не нарушая работу других механизмов.

Настройка прав доступа на уровне записей (RLS)

Если задача стоит жестче и необходимо ограничить не только визуальное отображение, но и физическое чтение данных из базы, обратимся к механизму RLS (Record Level Security). В ЗУП 3 доступ регулируется через РегистрСведений.ТаблицыГруппДоступа.

Разберем процесс корректировки доступа:

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

Программное управление профилями через БСП

Для того чтобы настройки прав не «слетали» после каждого обновления конфигурации, используйте механизмы Библиотеки стандартных подсистем (БСП). Вместо того чтобы вручную править типовые роли, внесите изменения в ОбщийМодуль.УправлениеДоступомПереопределяемый.

Пример программной реализации дополнения профилей:


Процедура ПриЗаполненииПоставляемыхПрофилейГруппДоступа(ОписанияПрофилей, ПараметрыОбновления) Экспорт
    // Добавляем или исключаем роли программно
    // Это гарантирует сохранение настроек при обновлениях
КонецПроцедуры

Этот подход является эталонным при автоматизации прав в 1С, так как он делает процесс прозрачным для сопровождающего программиста.

Организационные выводы

При настройке прав помните, что ЗУП 3 — это сложная система, где «кадры» и «расчет» сильно переплетены. Попытки изолировать данные могут привести к необходимости передачи кадровых функций по вводу окладов непосредственно в отдел расчета зарплаты. Если требования безопасности высоки, рассмотрите пересмотр бизнес-процессов: пусть кадровик вводит только табельные данные, а расчетчик — суммы начислений. Это избавит вас от необходимости поддерживать сложную систему RLS и «костылей» в расширениях.

← На главную