Настройка RLS для нетиповой роли в ERP

1. user1120498 24.06.20 22:49 Сейчас в теме
Добрый день!

Возможно где-то уже было, но никак не могу найти решения.

Делаем настройку RLS в ERP 2.4.12.61 для нетиповой (собственной) роли.

Берем типовую роль, допустим "ЧтениеСверкиВзаиморасчетов", смотрим RLS для права "Чтение" для документа "Сверка взаиморасчетов".

Добавляем собственную роль, в ней добавляем те же шаблоны, что и у типовой роли - копируем один-в-один.
Далее для новой роли добавляем для документа "Сверка взаиморасчетов" право "Чтение", добавляем RLS аналогичный тому, что есть в типовой роли, один-в-один.

Запускаем Предприятие, обновляем справочник идентификаторов объектов метаданных, создаем новый профиль - добавляем новую роль, создаем новую группу доступа для этого профиля, пользователю назначаем данную группу доступа. Как итог - RLS блокирует все, не видно пользователю ничего. Ради эксперимента в профиль добавляем типовую роль, на основании которой была создана собственная - и, о чудо, все работает как надо. Второй эксперимент - из собственной роли убираем настройку RLS, проверяем - пользователь видит все, с RLS - ничего.

Где в ERP как всегда что-то неочевидное зарыто для собственных объектов? Куда что нужно прописать, где данную собственную роль добавить, какие обновления запустить, чтобы RLS для нее работал так же, как и для типовой роли?

Сразу отвечу на вопрос зачем нужна новая роль: в ней будут прописаны ограничения свои, типовая роль трогаться не будет. Но для того, чтобы это работало для начала необходимо чтобы в ней RLS в принципе заработал так же, как и в типовой роли.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PerlAmutor 158 17.07.20 07:34 Сейчас в теме
а) Можно переносить шаблоны из одной роли в другую 1 в 1. Но нельзя переносить сами запросы RLS для "Чтения", "Добавления", "Изменение" 1 в 1, т.к. требуется переименовать объекты метаданных, которые используются в запросах.

б) Недостаточно обновить только идентификаторы объектов метаданных. Надо запускать полное обновление вспомогательных данных. Может длится несколько часов.

в) В профилях необходимо выбрать один из вариантов ограничений и место настройки конкретных значений. Если ограничение по Подразделению, то в профиле надо задать настройку "Все подразделения запрещены, значения указываются в группе доступа". Переходим в группу доступа и добавляем конкретное подразделение, которое будет доступно всем пользователям входящим в группу.
3. user1120498 30.07.20 13:04 Сейчас в теме
(2)

по п.а - естественно, так и сделано, иначе бы прямо была бы ошибка еще на этапе ввода запроса RLS

по п.б - а можно поподробнее, где и какими процедурами это делается, не слышал ранее

по п.в - да, это понятно
4. PerlAmutor 158 31.07.20 21:33 Сейчас в теме
Есть параметр командной строки для БСП:

/С ЗапуститьОбновлениеИнформационнойБазы


И где-то была обработка, в которой можно более точечно выбрать то, что необходимо обновить.
5. konstantinvasenev 99 14.10.22 10:21 Сейчас в теме
Надо копать в сторону РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра();
И чтобы нетиповая роль появилась в регистре Таблицы групп доступа.
И да, вероятно /С ЗапуститьОбновлениеИнформационнойБазы и вправду помогает.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот