|
помогите разобраться с запросом в RLS | ☑ | ||
---|---|---|---|---|
0
kosmo
11.10.11
✎
09:44
|
Стандартное ограничение доступа по чтению (в частности по справочнику Физические лица) имеет такой кусок запроса
(НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ЕСТЬNULL(ТекущаяТаблица.ГруппаДоступаФизическогоЛица, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка)) И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные) И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) не могу разобраться как оно работает. в частности почему отбрасываются не нужные элементы. |
|||
1
Axel2009
11.10.11
✎
09:49
|
а где хоть один параметр?
|
|||
2
5 Элемент
11.10.11
✎
09:50
|
Смысл такой
Ищется хотя бы один объект доступа для которого не заданы права доступа. |
|||
3
kosmo
11.10.11
✎
10:22
|
(2) насколько я понимаю строку
НастройкиПравДоступаПользователей.ОбъектДоступа = ЕСТЬNULL(ТекущаяТаблица.ГруппаДоступаФизическогоЛица, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка)) то если у элемента (физ лица) не заполнено значение, то никак не получится ничего выбрать. |
|||
4
5 Элемент
11.10.11
✎
10:37
|
Не заполнена группа доступа у физ лица?
Получится, надо дать права к пустому значению. |
|||
5
kosmo
11.10.11
✎
15:53
|
разобрался
в плане образования - в вышеописанном куске запроса что в первую очередь отрабатывается ПО или ГДЕ? |
|||
6
Кокос
11.10.11
✎
15:55
|
А это стандартный РЛС? просто меня "(НЕ 1 В" смущает. "В" в РЛС не работает
|
|||
7
kosmo
11.10.11
✎
16:04
|
(6) это из стандартного УПП. Там эта конструкция повсеместно.
А "В" обращается к результатам подзапроса (насколько я понимаю). |
|||
8
5 Элемент
11.10.11
✎
16:29
|
"В" работает, а вот "В ИЕРАРХИИ" не работает.
|
|||
9
Кокос
11.10.11
✎
16:31
|
(8) точно. звиняюсь тогда :)
|
|||
10
kosmo
11.10.11
✎
16:45
|
(9) то есть в RLS нельзя сделать выборку элементов подчиненных определенной группе?
|
|||
11
Кокос
11.10.11
✎
16:47
|
(10) приходится делать связки через родитель.родитель.родитель.... и т.д на столько уровней сколько нужно.
|
|||
12
kosmo
11.10.11
✎
16:57
|
(11) а если не известно сколько уровней? вставлять на всякий случай до предполагаемого максимального уровня?
|
|||
13
Кокос
11.10.11
✎
17:04
|
(12) угу. сколько уровней столько строк в условии. я както три поставил клиент звонил поменял на 6 больше не звонит.
|
|||
14
kosmo
11.10.11
✎
17:07
|
(13) спасибо. как раз хотел конструкцию через "В ИЕРАРХИИ" делать. хоть время не потеряю.
|
|||
15
Кокос
11.10.11
✎
17:21
|
(14) да тут тем полно про это. моя в том числе :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |