|
v8: RLS: Простенький, по одному регистру. По подразделениям | ☑ | ||
---|---|---|---|---|
0
Alterife
10.06.13
✎
11:12
|
В каждом документе есть реквизит "Подразделение".
Настройки пользователя из типовой УТ - план видов характеристик + регистр сведений. Добавлен регистр сведений "ОграничениеПравПользователей" со следующими измерениями: - Пользователь - подразделение Задача: создать RLS для документов по подразделениям, определённым в регистре для пользователя. ...Честно, я первый раз сталкиваюсь с созданием RLS с нуля, совсем запутался с препроцессором, со всякими "ТекущаяТаблица" и синтаксисом языка запросов в нём. Help! Заранее спасибо. |
|||
1
Maxus43
10.06.13
✎
11:18
|
возьми из типовой, скопипасти и всё. чуть подправив на измерение
|
|||
2
IШаман
10.06.13
✎
11:20
|
Я не первый раз с ними сталкиваюсь, но всегда ощущения примерно такие же.
|
|||
3
Alterife
10.06.13
✎
11:27
|
(1) Из какой типовой? По подразделениям нашёл в УПП, но там ТАКОЕ!!! О.о
|
|||
4
Maxus43
10.06.13
✎
11:30
|
(3) ну его и бери)
|
|||
5
Alterife
10.06.13
✎
11:34
|
(4) Нихачу.
|
|||
6
zladenuw
10.06.13
✎
11:34
|
(3) а что там не понятного.
а выбираешь объект. с права ограничение доступа к данным. пишешь имя шаблона например #ВШапке("УровеньДоступа") и сам шаблон ТекущаяТаблица Из #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ ВЫБОР КОГДА ТекущаяТаблица.#Параметр(1) в (&УровеньДоступа) тогда Истина иначе Ложь конец УровеньДоступа это параметр сеанса |
|||
7
zladenuw
10.06.13
✎
11:34
|
(6) хотя можно вроде и без ВЫБОР КОГДА, а просто
ГДЕ ТекущаяТаблица.#Параметр(1) в (&УровеньДоступа) |
|||
8
Alterife
10.06.13
✎
11:37
|
(6), (7) Я с шаблонами и запутался. Препроцессоры, там, параметры всякие... Как я понял, в шаблон засунуть всегда можно. Мне бы для простоты хотя бы запрос, как он должен быть в правой части таблицы "Ограничение доступа".
Ещё вопрос: для каких полей накладывать ограничение? Подозреваю, что на поле "Ссылка". Да? |
|||
9
Kreont
10.06.13
✎
11:38
|
попробуй сначала не шаблон делай, а через конструктор сделать для одного документа, а потом перенесешь
|
|||
10
zladenuw
10.06.13
✎
11:41
|
||||
11
Alterife
10.06.13
✎
11:41
|
(9) Вот это-то и надо! Что там как кого куда? Запрос "странный" получается, без заголовка. Как я понял, если по условию элементы из текущей таблицы попадают в него - они видны пользователю. Так?
|
|||
12
Alterife
10.06.13
✎
11:41
|
(10) Thanx a lot! ща пофтыкаю...
|
|||
13
zladenuw
10.06.13
✎
11:47
|
(12) а вообще погугли. статей много. может какие то из них тебе будут полезные
|
|||
14
Alterife
10.06.13
✎
11:48
|
(13) Погуглил. Создалось впечатление, что все эти статьи (за редким приведённым выше исключением) можно озаглавить "Гля, гля, как я могу! А ты - нет!".
|
|||
15
fisher
10.06.13
✎
11:51
|
(0) Хочешь добрый совет по производительности? Не делай как в типовых. Не определяй объекты доступа в самих RLS (хотя в новые типовые не заглядывал - может, там уже и не так). С группами доступа и другими наворотами (которые имеют тенденцию наслаиваться) сильно накладно получается. Как правило, результирующий список объектов доступа для пользователя относительно невелик.
Удобно определять списки объектов доступа однократно при старте системы и запихивать их в параметры сеанса типа "Фиксированный массив". А в RLS будет только простое условие на них. (11) Да. Причем условия можно делать не обязательно в ГДЕ. Можно тупо джойнить. На самом деле, платформа всю эту бодягу суёт в ВЫБОР, а уже потом по нему условие накладывает. |
|||
16
Alterife
10.06.13
✎
11:54
|
(0)
1. Конечно! Потому и "нихачу" выдёргивать из типовых. Тупо - свой "плоский" регистр и два измерения. Ну понадобится по организациям или складам - не беда, ещё измерений сделаю. 2. Вот тут-то у меня непонятки и возникают. (( |
|||
17
fisher
10.06.13
✎
11:56
|
(16) Нифига ты не понял. Ну и хрен с тобой.
|
|||
18
LehhaK
10.06.13
✎
11:57
|
Пффф.. на чтение документа пишешь "Где подразделение в &ДоступныеПодразделенияПользователя" ДоступныеПодразделенияПользователя - это параметр сеанса. Устанавливай его при начале работы системы. и все
|
|||
19
Alterife
10.06.13
✎
12:00
|
(18) О! Миленько... Спасибо!
|
|||
20
LehhaK
10.06.13
✎
12:01
|
(19) В 15 тоже самое только подробнее описано
|
|||
21
Alterife
10.06.13
✎
12:01
|
(17) А у Вас, уважаемый, если не секрет, какого числа-месяца ДР?
|
|||
22
fisher
10.06.13
✎
12:15
|
(21) Секрет. Полишинеля.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |