Имя: Пароль:
1C
1С v8
Не работает RLS в УТ 11.3
0 NortT
 
13.08.17
19:02
Добрый день.
Не могу понять как работает RLS.
Есть роль, например Менеджер, которая присваивается пользователю, ответственному за Подразделение. Создал параметр сеанса Подразделение.  
Далее, есть документ РеализацияТоваровУслуг, у которого есть реквизит Склад, а у склада есть реквизит подразделение. Мне необходимо, чтобы менеджер видел только документы, принадлежащие своему подразделению. Написал такое ограничение для права Чтение у роли Менеджер для документа РеализацияТоваровУслуг:
РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Склад.Подразделение = &Подразделение, но это не работает, записи в списке никак не ограничены.
Почему это так?
1 sdf
 
13.08.17
19:12
есть же штатная роль ЧтениеРеализацийТоваровУслуг где уже и подразделение и склад можно задать.

зачем городить огород?
2 Фрэнки
 
13.08.17
19:13
скорей всего, что на этот же объект установлена еще одна Роль, в которой ограничение не прописано и по этой еще одной роли Пользователь имеет доступ без ограничения
3 Фрэнки
 
13.08.17
19:19
и еще, если уж лепить свое казино с блэк-джеком и шлюхами, то надо бы завести в параметрах сеанса фиксированный массив и заполнять его всеми РазрешенныеСклады для нужных элементов из фиксированного массива РазрешенныеПодразделения.
4 NortT
 
13.08.17
19:21
Хорошо, тогда такой вопрос. Если у одной роли есть ограничения RLS, а у второй роли нет, и пользователю дать обе этих роли, то ограничение будет или нет?
5 Фрэнки
 
13.08.17
19:24
(4) Отвечу риторическим вопросом на вопрос:

Дай пользователю с Полными правами еще какую-то роль в нагрузку, как думаешь, будет введенное ограничение действовать на Полные права или нет?
6 NortT
 
13.08.17
19:27
(5) Я про это и спрашиваю, имеет ли RLS приоритет перед правами роли или нет.
7 Фрэнки
 
13.08.17
19:32
(6) ссылки не дам на ИТС или еще куда-то, но я читал и сам проверял, как оно работает. Получается на пальцах так:
когда у Пользователя есть хотя бы две Роли, то более слабое ограничение ослабит более сильное, а если найдется роль без установленных ограничений на объект, то ограничения будут сняты совсем.
8 NortT
 
13.08.17
19:45
Спасибо, понятно.
(1) По поводу штатной роли, сейчас там вот так:

#ПоЗначениям( "Документ.РеализацияТоваровУслуг","Чтение","",
"Организации","Организация",
"Склады","Склад",
"Подразделения","Подразделение",
"ГруппыПартнеров","Партнер", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )

Как изменить так, чтобы отображались документы только с тем подразделением, что и у текущего пользователя? Что вообще означают слова "ПодразделениЯ" и "ПодразделениЕ"? ПодразделениЕ это я так понимаю реквизит документа? А что такое ПодразделениЯ? Массив подразделений? Если так, откуда он берется и как в него записать? Или это что-то другое?
9 Фрэнки
 
13.08.17
20:34
() ПодразделениЯ - Это визуально Вид доступа на вкладке в форме для изменения Профиль групп доступа
10 Фрэнки
 
13.08.17
20:43
Организации
Все разрешены, исключения назначаются в группах доступа

Подразделения
Все разрешены, исключения назначаются в группах доступа

Склады
Все разрешены, исключения назначаются в группах доступа

Заходишь затем в Группу доступа, которая у тебя уже есть на вкладку с Ограничениями доступа и там останавливаешься на нужном тебе Подразделения, например - смотришь в нижнюю половинку формы и пробрасываешь туда именно те элементы из справочника "Структура предприятия", которые в данном случае НЕ нужны.

Если созданная группа доступа с установленными ограничениями  только индивидуальная... ну значит так тому и быть - будет индивидуальная Группа доступа.

з.ы. Текст написан максимально упрощенно, но это так получилось - тут нет умысла чем-то оскорбить.
11 AlvlSpb
 
14.08.17
00:31
(8) Дополню (9). ПодразделениЯ - имя  (название) ограничения. ПодразделениЕ - имя поля (реквизита документа) на которое накладывается это ограничение. Открой в роли закладку Шаблоны ограничений, там в самом начале кода все подробно описано под ремарками //
Независимо от того, куда вы едете — это в гору и против ветра!