4. Конструкторы
#53

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

В конструкторе ограничений доступа к данным (RLS) на платформе 1С при настройке правила, какие вкладки реально участвуют в формировании итогового условия ограничения?

Учитываются настройки и на вкладке «Связи», и на вкладке «Условия» - обе влияют на итоговое ограничение.
Правильно: Вкладка «Связи» задает, как источники данных соединяются между собой (по каким полям «связывать» таблицы/наборы), а вкладка «Условия» задает фильтр (что именно разрешать/запрещать). В итоге ограничение формируется как единое выражение, где используются и связи, и условия.
Правило ограничения задается только на вкладке «Условия», вкладка «Связи» на доступ не влияет.
Неправильно: Если используются несколько источников, без корректных связей условие может либо не отработать, либо отработать неверно (например, даст лишние строки из-за некорректного соединения). «Связи» участвуют в построении выражения ограничения наравне с обычными условиями фильтрации.
Правило ограничения задается только на вкладке «Связи», а вкладка «Условия» не участвует.
Неправильно: «Связи» определяют лишь соответствие между источниками (аналог соединения таблиц), но сами по себе не задают, какие записи разрешены пользователю. Ограничение доступа задается фильтрующими условиями, которые вводятся на вкладке «Условия» и дополняются связями при необходимости.

Пояснение

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