Как используешь RLS в своей практике?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Применение RLS (Row Level Security) в практике 1С
RLS — это механизм ограничения доступа на уровне записей базы данных, критический инструмент в многопользовательских системах. В своей практике используйте его для обеспечения информационной безопасности и разделения данных между подразделениями.
Основные сценарии использования
1. Разделение по структурным подразделениям
В типовых конфигурациях (УТ11, КА2) часто требуется, чтобы менеджер видел только документы своего отдела:
// В справочнике Сотрудники устанавливаем RLS
База.Таблица("Документы.ПродажиРегистр").УстановитьОграничение(
"Подразделение",
Пользователи.ТекущийПользователь().Подразделение,
ОграничениеДоступа.ПоЗначению
);
2. Скрытие конфиденциальных данных
Жалование, банковские реквизиты сотрудников доступны только HR:
Если НЕ РолиПользователей.ПользовательВРоли("HR") Тогда
Ограничение.УстановитьОграничение("Видимость", Ложь);
КонецЕсли;
Правильная реализация
Уровни применения RLS:
- На уровне справочников — Договоры, Контрагенты, Склады
- На уровне регистров — Остатки, Партии товаров
- На уровне документов — Приказы, Заказы клиентов
Критичные моменты:
- RLS должен применяться в конфигураторе (режим «1С:Предприятие 8.3»), а не кодироваться в отчётах
- Обязательно тестировать под разными пользователями и ролями
- Помнить о производительности — сложные условия RLS замедляют запросы
- Использовать параметры сеанса для динамического ограничения
Практический пример
Для системы управления проектами:
Процедура ПриПолученииДанных(Источник) Экспорт
СотрудникПользователя = ПолучитьСотрудника();
Источник.УстановитьОграничение(
"ОтветственныйИсполнитель",
СотрудникПользователя,
ОграничениеДоступа.ПоРеквизиту
);
КонецПроцедуры;
Ошибки, которых избегаю
- ❌ Не применяю RLS только на уровне отчётов — это легко обойти
- ❌ Не забываю про роль Администратор — обычно она RLS не подлежит
- ❌ Не игнорирую логирование изменений при RLS
Вывод: RLS — не опциональный элемент, а обязательная часть архитектуры корпоративной системы. Правильное применение защищает данные и обеспечивает соответствие стандартам информационной безопасности.