Готовишься к экзамену?
Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.
В конструкторе ограничений доступа к данным (RLS) на платформе 1С при настройке правила, какие вкладки реально участвуют в формировании итогового условия ограничения?
Учитываются настройки и на вкладке «Связи», и на вкладке «Условия» - обе влияют на итоговое ограничение.
Правильно: Вкладка «Связи» задает, как источники данных соединяются между собой (по каким полям «связывать» таблицы/наборы), а вкладка «Условия» задает фильтр (что именно разрешать/запрещать). В итоге ограничение формируется как единое выражение, где используются и связи, и условия.
Правило ограничения задается только на вкладке «Условия», вкладка «Связи» на доступ не влияет.
Неправильно: Если используются несколько источников, без корректных связей условие может либо не отработать, либо отработать неверно (например, даст лишние строки из-за некорректного соединения). «Связи» участвуют в построении выражения ограничения наравне с обычными условиями фильтрации.
Правило ограничения задается только на вкладке «Связи», а вкладка «Условия» не участвует.
Неправильно: «Связи» определяют лишь соответствие между источниками (аналог соединения таблиц), но сами по себе не задают, какие записи разрешены пользователю. Ограничение доступа задается фильтрующими условиями, которые вводятся на вкладке «Условия» и дополняются связями при необходимости.
Пояснение
Конструктор ограничений доступа (RLS) обычно имеет две ключевые вкладки: «Связи» и «Условия». Они используются вместе и обе участвуют в формировании итогового выражения ограничения.
Какую роль играет каждая вкладка:
- «Связи» - это настройка соединения источников данных, когда ограничение строится не только по самой таблице/объекту, к которому применяется правило, но и по дополнительным данным (например, «разрешенные подразделения пользователя», «доступные склады», «организации по роли»). Здесь задают, по каким полям связывать наборы данных, чтобы ограничение применялось корректно.
- «Условия» - это фильтры, которые описывают, какие записи должны быть доступны. Например: «Склад В (&ДоступныеСклады)» или «Организация = &ТекущаяОрганизация».
Почему нельзя ограничиться только одной вкладкой:
- Если вы зададите только «Условия», но источник данных берется из другой таблицы, вам нужно корректно связать ее с основной, иначе фильтр может дать неверный результат.
- Если вы зададите только «Связи», вы просто соедините данные, но не ограничите выборку (не будет критерия “разрешено/запрещено”).
Практический пример:
Вы хотите ограничить доступ к документам по складам пользователя.
1) На вкладке «Связи» связываете документы (поле «Склад») с таблицей/набором «ДоступныеСкладыПользователя».
2) На вкладке «Условия» задаете правило, что документ доступен, когда склад документа входит в набор разрешенных складов.
Итог: при настройке RLS используйте обе вкладки - «Связи» для корректной привязки источников и «Условия» для самого фильтра доступа.