Всем привет, подскажите, как реализовать рлс, мне нужно чтобы у созданной мною роли у пользователей не было доступа к банк.счету, если у того Владелец = Физ.лицо, например, если Владелец=Контрагент, тогда должен быть доступ, т.к. к банковским счетам физ.лиц доступа нет, а к банковским счетам контрагентов доступ есть.
По теме из базы знаний
- Загрузка цен ЖНВЛП напрямую с сайта ГРЛС для конфигурации “Управление аптечной сетью”
- Ускоряем полнотекстовый поиск в динамических списках
- Негативное влияние большого количества ролей на производительность 1С
- Распространенные ошибки разработчиков, приводящие к проблемам производительности
- Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Роль была скопирована с типовой и у нее есть типовая рлс:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Справочник.БанковскиеСчетаКонтрагентов","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИерархияПартнеров КАК Т2
ПО Т2.Родитель = Т.Владелец.Партнер",
"(",
"","ТипЗначения(Т.Владелец) = Тип(Справочник.Контрагенты)","И",
"ГруппыПартнеров","Т2.Партнер",")ИЛИ(",
"","ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)","И(",
"ГруппыФизическихЛиц","Т.Владелец","",
"","","))", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" )
#КонецЕсли
теперь сюда надо добавить условие по Владельцу
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Справочник.БанковскиеСчетаКонтрагентов","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИерархияПартнеров КАК Т2
ПО Т2.Родитель = Т.Владелец.Партнер",
"(",
"","ТипЗначения(Т.Владелец) = Тип(Справочник.Контрагенты)","И",
"ГруппыПартнеров","Т2.Партнер",")ИЛИ(",
"","ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)","И(",
"ГруппыФизическихЛиц","Т.Владелец","",
"","","))", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" )
#КонецЕсли
теперь сюда надо добавить условие по Владельцу
// ПоЗначениям(Таблица, -, Модификатор, В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)>
// Пример:
// ПоЗначениям("Документ.ПоступлениеТоваровИУслуг", "", "",
// "Организации","Организация",
// "Поставщики","Контрагент", "","", ...)
Показать#ПоЗначениям("Справочник.БанковскиеСчета", "Чтение", "",
"Условие", "Т.Владелец.ЮрФизЛицо<> Значение(Перечисление.ЮрФизЛица.Юрлицо) ",,)
(5) подскажите, после условия:
"Т.Владелец.ЮрФизЛицо<> Значение(Перечисление.ЮрФизЛица.Юрлицо) "
(я переделала его на условие: "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)") сколько запятых?
не получается вставить конструкцию, пишет ошибку. Делаю так:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)",,)
#КонецЕсли
Ошибка: ожидается параметр.
"Т.Владелец.ЮрФизЛицо<> Значение(Перечисление.ЮрФизЛица.Юрлицо) "
(я переделала его на условие: "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)") сколько запятых?
не получается вставить конструкцию, пишет ошибку. Делаю так:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)",,)
#КонецЕсли
Ошибка: ожидается параметр.
Переписала на такую конструкцию:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
Правда пользователь с ролью из ЗРДС все равно свободно заходит в банковский счет и контрагента и физ.лица
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям("Справочник.БанковскиеСчетаКонтрагентов", "Чтение", "",
"Условие", "ТипЗначения(Т.Владелец) = Тип(Справочник.ФизическиеЛица)", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
Правда пользователь с ролью из ЗРДС все равно свободно заходит в банковский счет и контрагента и физ.лица
(7) Если используется производительный вариант РЛС, то править надо код в модуле менеджера справочника.
То что вы правите - это для варианта Стандартный вариант РЛС.
И если используется производительный вариант РЛС, то надо после изменения кода пересчитать права.
Например, запустить с параметром запуска ЗапуститьОбновлениеИнформационнойБазы.
То что вы правите - это для варианта Стандартный вариант РЛС.
И если используется производительный вариант РЛС, то надо после изменения кода пересчитать права.
Например, запустить с параметром запуска ЗапуститьОбновлениеИнформационнойБазы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот