← Назад к вопросам

Как используешь RLS в своей практике?

1.0 Junior🔥 241 комментариев
#RLS и права#Опыт и софт-скиллы

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Применение RLS (Row Level Security) в практике 1С

RLS — это механизм ограничения доступа на уровне записей базы данных, критический инструмент в многопользовательских системах. В своей практике используйте его для обеспечения информационной безопасности и разделения данных между подразделениями.

Основные сценарии использования

1. Разделение по структурным подразделениям

В типовых конфигурациях (УТ11, КА2) часто требуется, чтобы менеджер видел только документы своего отдела:

// В справочнике Сотрудники устанавливаем RLS
База.Таблица("Документы.ПродажиРегистр").УстановитьОграничение(
    "Подразделение",
    Пользователи.ТекущийПользователь().Подразделение,
    ОграничениеДоступа.ПоЗначению
);

2. Скрытие конфиденциальных данных

Жалование, банковские реквизиты сотрудников доступны только HR:

Если НЕ РолиПользователей.ПользовательВРоли("HR") Тогда
    Ограничение.УстановитьОграничение("Видимость", Ложь);
КонецЕсли;

Правильная реализация

Уровни применения RLS:

  1. На уровне справочников — Договоры, Контрагенты, Склады
  2. На уровне регистров — Остатки, Партии товаров
  3. На уровне документов — Приказы, Заказы клиентов

Критичные моменты:

  • RLS должен применяться в конфигураторе (режим «1С:Предприятие 8.3»), а не кодироваться в отчётах
  • Обязательно тестировать под разными пользователями и ролями
  • Помнить о производительности — сложные условия RLS замедляют запросы
  • Использовать параметры сеанса для динамического ограничения

Практический пример

Для системы управления проектами:

Процедура ПриПолученииДанных(Источник) Экспорт
    СотрудникПользователя = ПолучитьСотрудника();
    Источник.УстановитьОграничение(
        "ОтветственныйИсполнитель",
        СотрудникПользователя,
        ОграничениеДоступа.ПоРеквизиту
    );
КонецПроцедуры;

Ошибки, которых избегаю

  • ❌ Не применяю RLS только на уровне отчётов — это легко обойти
  • ❌ Не забываю про роль Администратор — обычно она RLS не подлежит
  • ❌ Не игнорирую логирование изменений при RLS

Вывод: RLS — не опциональный элемент, а обязательная часть архитектуры корпоративной системы. Правильное применение защищает данные и обеспечивает соответствие стандартам информационной безопасности.