Заменить условие с ИЛИ в RLS

1. toliman 2 08.08.24 09:48 Сейчас в теме
Как оптимизировать запрос RLS? исключая условие ИЛИ. Смотрел типовые конструкции, через ИСТИНА В (Выбрать первые 1
ИСТИНА ) но не смог реализовать.


ДоговорыКонтрагентов ГДЕ (ДоговорыКонтрагентов.ДоступноВсемФилиалам
ИЛИ ДоговорыКонтрагентов.ОсновнойЦФО В
(ВЫБРАТЬ
НастройкаДоступаКДоговорамПоРЛС.ЦФО КАК ЦФО
ИЗ
РегистрСведений.НастройкаДоступаКДоговорамПоРЛС КАК НастройкаДоступаКДоговорамПоРЛС
ГДЕ
НастройкаДоступаКДоговорамПоРЛС.Пользователь = &АвторизованныйПользователь))
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 08.08.24 09:56 Сейчас в теме
(1)
но не смог реализовать
Ну не смог, и не смог. Бывает. Смирись с этим.

Главное - продолжай в том же духе: никогда никому не рассказывай о том, что получается в результате твоей реализации. Пусть все сами догадываются и молча завидуют твоим неизвестным ошибкам или результатам.

Так победим!
3. Sashares 35 08.08.24 10:25 Сейчас в теме
(1) Ну можно так, но вообще не факт, что это что-то оптимизирует
ДоговорыКонтрагентов ГДЕ (ДоговорыКонтрагентов.ДоступноВсемФилиалам
ИЛИ ИСТИНА В
(ВЫБРАТЬ Первые 1
Истина
ИЗ
РегистрСведений.НастройкаДоступаКДоговорамПоРЛС КАК НастройкаДоступаКДоговорамПоРЛС
ГДЕ
НастройкаДоступаКДоговорамПоРЛС.Пользователь = &АвторизованныйПользователь
И НастройкаДоступаКДоговорамПоРЛС.ЦФО =  ДоговорыКонтрагентов.ОсновнойЦФО )) 
Показать
4. toliman 2 08.08.24 13:01 Сейчас в теме
(3) здесь так же используется ИЛИ, ничего не изменится
5. polax 08.08.24 13:13 Сейчас в теме
(ВЫБРАТЬ
НастройкаДоступаКДоговорамПоРЛС.ЦФО КАК Договор
ИЗ
РегистрСведений.НастройкаДоступаКДоговорамПоРЛС КАК НастройкаДоступаКДоговорамПоРЛС
ГДЕ
НастройкаДоступаКДоговорамПоРЛС.Пользователь = &АвторизованныйПользователь)
ОБЪЕДИНИТЬ ВСЕ
СправочникДоговоры.Ссылка КАК Договор
ИЗ
Справочники.ДоговорыКотрагентов КАК СправончикДоговоры
ГДЕ
СправочникДоговоры.ДоступноВсемФилиалам
)
Показать
6. toliman 2 08.08.24 13:38 Сейчас в теме
(5) в RLS нет Объединить Все
7. user1880116 08.08.24 13:55 Сейчас в теме
(6)
нет
Положи результат вот этого вот
ВЫБРАТЬ
НастройкаДоступаКДоговорамПоРЛС.ЦФО КАК ЦФО
ИЗ
РегистрСведений.НастройкаДоступаКДоговорамПоРЛС КАК НастройкаДоступаКДоговорамПоРЛС
ГДЕ
НастройкаДоступаКДоговорамПоРЛС.Пользователь = &АвторизованныйПользователь
в параметр сеанса.
8. toliman 2 08.08.24 14:58 Сейчас в теме
(7) да это ускорит запрос но как это избавит от Или? нам же все равно придется сделать условие ДоступноВсемФилиалам или основноеЦФО в (&СписокЦФО)
10. user1880116 08.08.24 16:07 Сейчас в теме
(8)
как это избавит от Или
Зачем?
9. polax 08.08.24 15:40 Сейчас в теме
Оставьте свое сообщение

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