РЛС

1. HIVvich 06.12.24 13:45 Сейчас в теме
Всем привет, подскажите, как реализовать рлс, мне нужно чтобы у созданной мною роли у пользователей не было доступа к банк.счету, если у того Владелец = Физ.лицо, например, если Владелец=Контрагент, тогда должен быть доступ, т.к. к банковским счетам физ.лиц доступа нет, а к банковским счетам контрагентов доступ есть.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2109808 06.12.24 14:16 Сейчас в теме
3. HIVvich 06.12.24 14:26 Сейчас в теме
(2) да что-то не понимаю, какое условие писать в рлс, какую конструкцию использовать
4. HIVvich 06.12.24 14:29 Сейчас в теме
Роль была скопирована с типовой и у нее есть типовая рлс:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Справочник.БанковскиеСчетаКонтрагентов","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИерархияПартнеров КАК Т2
ПО Т2.Родитель = Т.Владелец.Партнер",
"(",
"","ТипЗначения(Т.Владелец) = Тип(Справочник.Контрагенты)","И",
"ГруппыПартнеров","Т2.Партнер",")ИЛИ(",
"","ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)","И(",
"ГруппыФизическихЛиц","Т.Владелец","",
"","","))", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" )
#КонецЕсли

теперь сюда надо добавить условие по Владельцу
5. Оберон 17 06.12.24 14:30 Сейчас в теме
// ПоЗначениям(Таблица, -, Модификатор, В1,П1, В2,П2, ...,  В(n), П(n)).
// № параметра:      1, 2,           3,  4, 5,  6, 7, ..., 2+n*2,3+n*2.
// Читается так: "ограничение доступа по значениям".
// Параметры:
//     Таблица   - Имя текущей таблицы, например "Документ.ПоступлениеТоваровИУслуг".
//     Модификатор - изменяет шаблон.
//                 1-й модификатор - строка "НеОграничиватьДоступКГруппам" указывает
//                  безусловно выбирать группы иерархического справочника. 
//                 Других модификаторов в этой версии шаблона не предусмотрено.
//     В(n)      - Вид доступа - имя вида доступа, например, "Организации". Для полей составного типа, с целью повышения
//                  производительности, лучше указать несколько имен, например, "Организации,ГруппыФизическихЛиц",
//                  чем использовать несколько блоков параметров, с одним и тем же именем поля.
//                  Специальные виды доступа "Условие", "НастройкиПрав", "ПравоЧтения", "ПравоИзменения",
//                  "ПравоЧтенияПоИдентификатору", "ПравоИзмененияПоИдентификатору" можно использовать только отдельно.
//                 Когда В(n) = "Условие" (или ""), тогда П(n) содержит строку условия на языке запросов, например
//                  "Т.Автор = &АвторизованныйПользователь",
//                  "ТИПЗНАЧЕНИЯ(Т.Владелец) = ТИП(Справочник.Организации)", где Т - псевдоним текущей таблицы.
//                 Когда В(n) = "ПравоЧтения" Или "ПравоИзменения",
//                  выполняется проверка наличия права на таблицу значения Т.П(n).
//                 Когда В(n) = "ПравоЧтенияПоИдентификатору" или "ПравоИзмененияПоИдентификатору",
//                  выполняется проверка наличия права на таблицу по идентификатору в значении Т.П(n).
//     П(n)      - Поле проверяемого значения, кроме случая В(n) = "Условие" (или "").
//  Примечение: максимальное количество одновременно проверяемых значений полей можно увеличить, изменив шаблон, но
// необходимо будет указывать все параметры шаблона, т.е. указывать пустые строки, когда количество полей меньше максимального.
//  Шаблон имеет структуру:
//     <Общая часть условий> <Условие по группе параметров 1> И <Условие по группе параметров 2> И ... <Условие по группе параметров(n)>
//  Пример:
//      ПоЗначениям("Документ.ПоступлениеТоваровИУслуг", "", "",
//      "Организации","Организация",
//      "Поставщики","Контрагент", "","", ...)
Показать



#ПоЗначениям("Справочник.БанковскиеСчета", "Чтение", "",  
"Условие", "Т.Владелец.ЮрФизЛицо<> Значение(Перечисление.ЮрФизЛица.Юрлицо) ",,)
6. HIVvich 06.12.24 14:53 Сейчас в теме
(5) подскажите, после условия:
"Т.Владелец.ЮрФизЛицо<> Значение(Перечисление.ЮрФизЛица.Юрлицо) "
(я переделала его на условие: "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)") сколько запятых?
не получается вставить конструкцию, пишет ошибку. Делаю так:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)",,)
#КонецЕсли

Ошибка: ожидается параметр.
13. Оберон 17 09.12.24 08:46 Сейчас в теме
(6) #Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)")
#КонецЕсли
7. HIVvich 06.12.24 15:33 Сейчас в теме
Переписала на такую конструкцию:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли

Правда пользователь с ролью из ЗРДС все равно свободно заходит в банковский счет и контрагента и физ.лица
8. Sashares 35 06.12.24 15:35 Сейчас в теме
(7) Если используется производительный вариант РЛС, то править надо код в модуле менеджера справочника.
То что вы правите - это для варианта Стандартный вариант РЛС.

И если используется производительный вариант РЛС, то надо после изменения кода пересчитать права.
Например, запустить с параметром запуска ЗапуститьОбновлениеИнформационнойБазы.
9. HIVvich 06.12.24 15:39 Сейчас в теме
(8) вариант работы - стандартный
10. Sashares 35 06.12.24 15:41 Сейчас в теме
(9) Тогда вы правите там где нужно.
Но Стандартный это устаревший вариант, и от него со временем планируют отказаться в типовых.
Всем рекомендуют использовать Производительный.
11. HIVvich 06.12.24 16:07 Сейчас в теме
(10) они в последствии перейдут на производительный, но пока стандарт, и пока у меня не работает как надо
12. Sashares 35 06.12.24 16:11 Сейчас в теме
(11) С настройкой РЛС к сожалению не помогу.
Оставьте свое сообщение

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