Имя: Пароль:
1C
 
1с 8.3 RLS Как оптимальнее сделать ограничение?
0 Alexor
 
10.05.17
16:15
Всем привет.

Есть задача сделать ограничение доступа на уровне записей.
Например к документам реализация по разрешенным складам пользователя.

Разрешенные склады у пользователя заданы в регистре сведений.
Конфигурация УТ11.

Как будет оптимальнее с точки зрения производительности?

1. в шаблоне роли написать запрос который будет вытаскивать склады из РС и производить отбор по получившемуся списку.

2. Создать параметр сеанса и заполнять при входе списком разрешенных складов, в роли делать отбор по этому параметру сеанса.

3. Другой вариант.

Раньше делал п.2, но может изменилось чего за последнее время.
1 FIXXXL
 
10.05.17
16:17
любой запрос в РЛС, даже разименование через точку от параметра сеанса - тормозища
поэтому все что можно собрать в параметр сеанса - собирай в параметр
2 Fragster
 
гуру
10.05.17
16:20
воспользоваться типовыми шаблонами RLS из БСП не предлагать? Чтобы отчеты о правах доступа работали?
Там, конечно, получается не максимальная производительность, но всё же во многих случаях достаточная.
3 AlvlSpb
 
10.05.17
17:06
(0) "1. в шаблоне роли написать запрос который будет вытаскивать склады из РС и производить отбор по получившемуся списку. "
Или выразился некорректно или неверно мыслишь. Заполнить шаблон и написать запрос ограничений в роли все-таки разные вещи. Запрос (ГДЕ..) будет действовать на всех пользователей и надо выписывать сложные конструкции ВЫБОР КОГДА, а поставить в шаблоне ограничение по складам и настроить их в профилях групп доступа - совсем другое дело.
Что касается выбора из двух вариантов - я бы настраивал RLS
4 Fragster
 
гуру
10.05.17
18:43
5 Лефмихалыч
 
10.05.17
20:32
параметр сеанса + обработчик ожидания, который раз в сколько-нибудь времени обновляет содержимое этго параметра, чтобы не выгонять пользователей при изменениях прав.