Тормоза в динамическом списке, RLS, не пойму как применяется

1. user1532282 13.08.23 12:40 Сейчас в теме
Всем привет! думал что понимаю как работает RLS, но оказалось что это не так) Прошу подсказать
Имеем отраслевую конфиуграцию Два пользователя, Администратор, и Пользователь (ограниченный по RLS)
Форма списка реалзиций с произвольным простым запросом
ВЫБРАТЬ
	ДокументРеализацияТоваровУслуг.Ссылка,
	ДокументРеализацияТоваровУслуг.ПометкаУдаления,
	ДокументРеализацияТоваровУслуг.Номер,
	ДокументРеализацияТоваровУслуг.Дата,
	ДокументРеализацияТоваровУслуг.Проведен,
	ДокументРеализацияТоваровУслуг.ТорговаяТочка,
	ДокументРеализацияТоваровУслуг.Контрагент,
	ДокументРеализацияТоваровУслуг.Валюта,
	ДокументРеализацияТоваровУслуг.СуммаДокумента,
	ДокументРеализацияТоваровУслуг.ДатаПлатежа,
	ДокументРеализацияТоваровУслуг.Организация,
	ДокументРеализацияТоваровУслуг.Договор,
	ДокументРеализацияТоваровУслуг.ДокументОснование,
	ДокументРеализацияТоваровУслуг.Комментарий,
	ДокументРеализацияТоваровУслуг.Менеджер,
	ДокументРеализацияТоваровУслуг.Подразделение,
	ДокументРеализацияТоваровУслуг.ЦенаВключаетНДС,
	ДокументРеализацияТоваровУслуг.Агент,
	ДокументРеализацияТоваровУслуг.Скидка,
	ДокументРеализацияТоваровУслуг.Склад,
	ДокументРеализацияТоваровУслуг.ИспользоватьНДС,
	ДокументРеализацияТоваровУслуг.ВремяДоставки,
	ДокументРеализацияТоваровУслуг.МоментВремени,
	ДокументРеализацияТоваровУслуг.Источник как Источник,
	ЗНАЧЕНИЕ(Перечисление.СтатусыДокументов.ЗагруженИзМУ) КАК СтатусДокумента

ИЗ
	Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
Показать

Для администратора форма отрывается мгновенно, для Пользователя 2 минуты. При этом срабатывает RLS и пользователь видит только нужные реализации. Собствеенно вопрос, как именно и где применяется RLS если в запросе нет "РАЗРЕШЕННЫЕ"?
Задержка при этом возникает на "КонецПроцедуры" в ПриСозданииНаСервере
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
КонецПроцедуры
Показать

Т.е. в итоге, имеем, что каким то образом при выходе из ПриСозданииНаСервере отрабатыввается условия RLS, но при этом в основном запросе они не определены. Прошу пояснить в двух словах как это работает то.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. odinsmot 14.08.23 08:52 Сейчас в теме
(1)
в запросе нет "РАЗРЕШЕННЫЕ"

Если поставить "РАЗРЕШЕННЫЕ", что получится?
11. user1532282 14.08.23 09:42 Сейчас в теме
(10) так же, без изменений, что с РАЗРЕШЕННЫЕ что нет. Пару минут тормозов, и открыается форма тлллько разрешенных документов
2. user1532282 13.08.23 12:41 Сейчас в теме
Отборы, Группировки для дин.списка пустые на выходе из ПриСозданииНаСервере
4. spacecraft 13.08.23 14:18 Сейчас в теме
(2) все события дин.списка отрабатывают отдельно. Эти события не формы, а самого дин.список (завязанные на элементе формы, который связан с ним).
Соответственно выполнение запроса дин.списка происходит уже после события формы ПриСозданииНаСервере
5. user1532282 13.08.23 17:33 Сейчас в теме
(4) Обработчики событий таблицы списка не определены, дело не в них.
8. spacecraft 13.08.23 18:59 Сейчас в теме
(5) в чем собственно вопрос?
То что не определили обработчики, не означает, что их нет. Они выполняются в любом случае, но без вашего доп. кода.
Сам запрос выполняется не сразу после обработчика ПриСозданииНаСервере.
Затем выполняются обработчики ДС:
- ПередЗагрузкойПользовательскихНастроекНаСервере
- ПриЗагрузкеПользовательскихНастроекНаСервере

Только после этого выполняется запрос ДС.

И еще, отборы могут быть наложены в настройках списка.
3. -AI- 13.08.23 12:54 Сейчас в теме
добавлю - ещё сортировка по непроиндексированному полю может тормозить список
6. user1532282 13.08.23 17:33 Сейчас в теме
(3) порядок только один элемент по полю Дата, дело не в этом
9. -AI- 13.08.23 21:42 Сейчас в теме
(6) речь про настройки пользователя - там может быть что угодно...
7. testerpro1 13.08.23 18:40 Сейчас в теме
А платформа случаем не 22 и выше с postgres?
12. user1532282 14.08.23 09:45 Сейчас в теме
Создал новую форму списка, вообще без обработчиков. поведение тоже. под ограниченным пользователем форма открывается долго, и с отбором по разрешенным документам. Наличеи или отсутсвие РАЗРЕШЕННЫЕ никак не влияет. Вопрос в сабже можно перефразировать, каким в принципе образом применяются правила RLS в запросе динамического списка. тут дело не в тормозах, а вообще, в механике, как это работает
13. SlavaKron 14.08.23 10:09 Сейчас в теме
(12) Запрос динамического списка преобразуется в соответствии с RLS, например, соединяется с каким-нибудь регистром сведений, реализующим подсистему ограничения доступа, в запрос подставляются параметры из параметров сеанса.
Чтобы понять причину тормозов, нужно изучить результирующий запрос динамического списка на стороне СУБД. Это можно сделать через стандартную консоль запросов. Только пользователю с ограниченными правами нужно дать права на интерактивное открытие внешних обработок, чтобы под ним можно было запустить консоль через Файл - Открыть.
14. alexey123perm 21 14.08.23 10:14 Сейчас в теме
1. в Консоли отчетов этот запрос быстро выполняется под ограниченным пользователем?
2. RLS по каким полям? Может, там возникает неявное соединение, например?
15. user1532282 14.08.23 10:30 Сейчас в теме
(14)
RLS по каким полям? Может, там возникает неявное соединение, например?

п.1 проверю
п.2 конф на БСП, но достаточно дико написана, пока не лез в RLS, думаю там ничего хорошего) Интересует пока сама механика. Как платофрма применяет ограничение. Я ожидал, что компилируется запрос в окогнчательны, только по наличию РАЗРЕШЕННЫЕ, но получается чтто нет. для запроса в динамическим списке это не так, кажется)
16. user1532282 14.08.23 10:38 Сейчас в теме
(14)
такой запрос в консоли ожидаемо получаем ошибку "недостаточно прав"
ВЫБРАТЬ ПЕРВЫЕ 100
	РеализацияТоваровУслуг.Ссылка КАК Ссылка
ИЗ
	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

а такой выполняется 2 минуты
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 100
	РеализацияТоваровУслуг.Ссылка КАК Ссылка
ИЗ
	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
17. alexey123perm 21 14.08.23 11:44 Сейчас в теме
насколько я помню/знаю, если RLS по полям, то данные ограничения накладываются внутри SQL запроса. Смотрите, какие RLS накладываются на поле Ссылка...
18. cdiamond 235 14.08.23 16:07 Сейчас в теме
в БСП есть еще настройка режима "Стандартный" и "Производительный". Во втором случае вообще другой механизм, вроде даже и не использует механизм платформы с РАЗРЕШЕННЫЕ -может это оно? Глубоко я не вникал, пишу только что видел как админ )
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот