Производительный RLS БСП - возможно ли использование параметров запроса RLS из параметров сеанса? Как?
Вот в этом ограничении (вставляется в модуле менеджера объекта)
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК Т //Исходный объект с его реквизитами
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаспределениеПолномочий КАК Т2 //присоединяем другие объекты
| ПО Т2.Полномочия= Т.Полномочия//можем использовать необходимые поля в соединениях
| И Т2.Пользователь = &ТекущийПользователь // Вопрос об этом
|;
|РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Т.ххх) //ограничение из основного объекта
| И ЗначениеРазрешено(Т2.ххх)//ограничение через реквизиты другого объекта";
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Оказывается, есть нужная функция в тексте запроса: ЭтоАвторизованныйПользователь()
Рабочий способ:
Рабочий способ:
Ограничение.Текст =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК Т
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаспределениеПользователейПоРабочимГруппам КАК Распределение
| ПО Распределение.РабочаяГруппа = Т.РабочаяГруппа
|
|;
|РазрешитьЧтениеИзменение
| ГДЕ
| ЗначениеРазрешено(Т.Ссылка)
| И ЭтоАвторизованныйПользователь(Распределение.Пользователь)";
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
такого вида ограничения нужна вставлять в права ролей. Из описания в ИТС внутреннее соединение нельзя сделать, только левое. А если делать левое, даже если параметры сеанса передадутся, то ограничение не сработает.
Оказывается, есть нужная функция в тексте запроса: ЭтоАвторизованныйПользователь()
Рабочий способ:
Рабочий способ:
Ограничение.Текст =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК Т
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаспределениеПользователейПоРабочимГруппам КАК Распределение
| ПО Распределение.РабочаяГруппа = Т.РабочаяГруппа
|
|;
|РазрешитьЧтениеИзменение
| ГДЕ
| ЗначениеРазрешено(Т.Ссылка)
| И ЭтоАвторизованныйПользователь(Распределение.Пользователь)";
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот