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