Как в 1С:ЗУП 3.1 скрыть оклады руководителей от кадровиков, сохранив возможность ввода кадровых документов?

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

В крупных организациях с разветвленной филиальной структурой часто возникает задача разграничения конфиденциальной информации: рядовые кадровики на местах должны вести рутинный кадровый учет по всем сотрудникам компании, включая топ-менеджеров, но при этом не должны иметь доступа к размерам окладов руководства. Если просто закрыть доступ к карточкам руководителей через подразделения или организации, кадровики потеряют возможность оформлять невыходы, отпуска, а в печатных формах приказов на месте руководителя появится ошибка «Объект не найден».

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

Принцип решения: пересечение двух групп доступа

Стандартная логика работы прав в платформе «1С:Предприятие» при объединении нескольких групп доступа заключается в сложении прав (логическое «ИЛИ»). Чтобы пользователь мог видеть карточку руководителя, но не видел его плановых начислений, разделим зоны ответственности на уровне физических лиц и профилей групп доступа.

Разберем по шагам, как настроить такую схему:

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

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

  4. Создание второй группы доступа (без доступа к зарплате для всех):

    Создадим вторую группу доступа — Кадровик без доступа к зарплате (руководители) на базе предопределенного профиля Кадровик (без доступа к зарплате). В ограничениях доступа для вида Группы физических лиц укажем значение Все разрешены (или явно разрешим обе группы: Сотрудники и Руководители).

  5. Назначение прав пользователю: включим учетную запись кадровика одновременно в обе созданные группы доступа.

Посмотрим на результат такой настройки: при открытии карточки сотрудника-руководителя пользователь получает права на чтение объекта через второй профиль, однако права на зарплатные регистры для группы Руководители у него отсутствуют. В результате в поле Оклад кадровик видит 0,00, при этом сохраняется возможность оформлять общие кадровые документы (например, график отпусков или командировки).

Организация двухэтапного проведения кадровых документов

При приеме на работу или кадровом переводе руководителя возникает коллизия: документ требует назначения начислений, но у кадровика нет прав на ввод финансовых показателей. В 1С:ЗУП 3.1 заложен типовой механизм двухэтапной работы с документами:

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

Уязвимости решения и способы их устранения

При использовании только стандартного механизма RLS остаются потенциальные каналы обхода ограничений, которые необходимо заблокировать.

  1. Самостоятельная смена группы физлица: если кадровик имеет права на изменение карточки физического лица, он может временно перенести руководителя из группы Руководители в группу Сотрудники, просмотреть зарплату и вернуть группу обратно.

    Для предотвращения этой ситуации разработаем небольшое расширение конфигурации, блокирующее изменение реквизита на клиенте и сервере:

    
    &ВРасширении
    Процедура Расш_ПередЗаписью(Отказ)
        // Проверяем, изменилась ли группа физического лица
        Если Модифицированность() И Не РольДоступна("ПолныеПрава") Тогда
            СсылкаНаФизЛицо = ЭтотОбъект.Ссылка;
            Если ЗначениеЗаполнено(СсылкаНаФизЛицо) Тогда
                СтараяГруппа = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаФизЛицо, "ГруппаДоступа");
                Если ЭтотОбъект.ГруппаДоступа <> СтараяГруппа Тогда
                    ВызватьИсключение "У вас недостаточно прав для изменения группы доступа физического лица!";
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
    КонецПроцедуры
    

    Также в расширении для справочника ФизическиеЛица в обработчике ОбработкаЗаполнения пропишем автоматическую подстановку группы Сотрудники по умолчанию при создании новых карточек, чтобы кадровикам не приходилось выбирать ее вручную.

  2. История версионирования объектов: если в информационной базе включена подсистема версионирования (раздел Администрирование → Общие настройки → История изменений), кадровик может открыть историю изменений документа или справочника и увидеть старые значения оклада. Для исключения утечки следует ограничить право чтения версий объектов для роли кадровика либо отключить версионирование по зарплатным документам.
  3. Штатное расписание: если ведется штатное расписание с утвержденными тарифными ставками, кадровик увидит оклад должности руководителя в самом штатном расписании. Чтобы скрыть эти цифры, оклад в позиции штатного расписания топ-менеджеров оставляют незаполненным (или равным нулю), а фактический размер оплаты труда назначают персонально при приеме или переводе силами расчетчика зарплаты.
  4. Регистрация доступа к персональным данным: в разделе Администрирование → Защита персональных данных рекомендуется включить функционал Регистрация событий доступа к персональным данным. Это позволит службе безопасности фиксировать каждый факт открытия карточек руководства конкретными пользователями.
← На главную