|
Как настроить RLS к табличной части | ☑ | ||
---|---|---|---|---|
0
vde69
18.10.21
✎
21:28
|
есть справочник А у него ТЧ с реквизитами ПВХ и ЗначениеПВХ
есть где-то регистр аналогичной структуры в котором у каждого пользователя проставлены разрешенные ему типы и значения ПВХ необходимо состряпать запрос (для RLS, а там есть ограничения) который будет выдавать элементы А у которого все возможные виды ПВХ имеют хотя-бы по одному разрешенному значению, видов ПВХ ограниченое количество, по этому можно на каждый вид делать отдельный джойн. хитрость в том, что 1. нельзя делать вложенный запрос с группировкой (справочник большой...) 2. нельзя использовать агрегатные функции в условиях ждойна (это ограничения RLS) 3. соединения выходят многое ко многим и не выходит собрать вместе даже пару разных типов примерно это так эл справочника А имеет ТЧ в которой есть такие записи Размер-Средний Размер-Маленький Цвет-Зеленый Цвет-Красный регистр прав для пользователя содержит Размер-Средний Цвет-Синий Цвет-Зеленый Цвет-Красный совпадают размер и цвет Штатно задача вроде не решается, нужно придумать что-то хитрое, |
|||
1
pechkin
18.10.21
✎
21:47
|
Если есть 1 недоступный, то вся тч и с ней документ недоступен?
|
|||
2
H A D G E H O G s
18.10.21
✎
22:09
|
ВЫБРАТЬ
НоменклатураХарактеристики.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура.Характеристики КАК НоменклатураХарактеристики ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Фильтр КАК Фильтр ПО (Фильтр.Свойство = НоменклатураХарактеристики.Свойство) И (Фильтр.Значение = НоменклатураХарактеристики.Значение) СГРУППИРОВАТЬ ПО НоменклатураХарактеристики.Ссылка ИМЕЮЩИЕ СУММА(1) = &КоличествоХарактеристик КоличествоХарактеристик вычислять в Модуле сеанса, хранить в параметрах сеанса |
|||
3
RomanYS
18.10.21
✎
22:09
|
Если количество свойств известно заранее
Справочник ГДЕ Справочник.Ссылка В (ВЫБРАТЬ ТЧ.Ссылка КАК Ссылка ИЗ Справочник.Справочник4.ТЧ КАК ТЧ ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений2 КАК Рег ПО ТЧ.А = Рег.А И ТЧ.Б = Рег.Б СГРУППИРОВАТЬ ПО ТЧ.Ссылка ИМЕЮЩИЕ СУММА(1) = &КоличествоСвойств) |
|||
4
H A D G E H O G s
18.10.21
✎
22:09
|
Но план запроса надо смотреть
|
|||
5
pechkin
18.10.21
✎
22:16
|
Может лучше вычислять доступные, как в "быстром" рлс?
|
|||
6
vde69
19.10.21
✎
09:01
|
(1) да
(2) ИМЕЮЩИЕ - разве можно использовать в RLS? |
|||
7
Ненавижу 1С
гуру
19.10.21
✎
09:02
|
(6) это обычный оператор SQL, почему нет?
|
|||
8
vde69
19.10.21
✎
09:04
|
пока рассматриваю такой вариант
делаем доп регистр, измерение 1. ссылка реквизиты 1. размер 2. цвет 3. 4. - другие виды при записи жлемента справочника записывать все возможные комбинации в этот регистр |
|||
9
vde69
19.10.21
✎
09:18
|
(3) не пойдет, в примере (0) вернет 3 а не 2, то есть если доступ будет по нескольким полям одного типа то будет врать
|
|||
10
RomanYS
19.10.21
✎
11:47
|
(9) ну значит Сумма(1) заменить на количество(различные ТЧ.Свойство)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |