Имя: Пароль:
1C
1С v8
Вопрос по RLS
0 Rapelsina
 
30.08.20
14:47
Добрый день!
Подскажите, пожалуйста, могу ли я настроить RLS в разрезе реквизитов документа?
Например, в зависимости от пользователя часть реквизитов должна быть доступна для редактирования, а другая часть реквизитов только на просмотр.
1 Фрэнки
 
30.08.20
15:24
Сможешь или нет - вопрос сложный.

Примеры, что такие настройки в принципе возможны в сети найти можно. Ну вот есть что-то об этом https://xn----1-bedvffifm4g.xn--p1ai/news/rls-data-access-restrictions/

Если просматривать сам код, которым записывается RLS в конфигурацию, то там тоже можно увидеть, что права указываются и для полей настраиваемого объекта метаданных, а не только к его записи.

Если рассуждать о том, насколько вообще эффективно устанавливать ограничения с настройками по полям, то в качестве альтернативы я бы смотрел на дополнительные реквизиты или сведения,
права на работу с которым тоже можно установить и отработать по назначенным ролям или группам доступа или еще как-то, не врубая RLS как таковой.
Мне подход с его применением не очень нравится, т.к. он очень резко снижает производительность.
2 Гений 1С
 
гуру
30.08.20
16:22
(0) Для контроля изменений лучше юзать не RLS, а модули.
RLS должно быть только на чтение, остальное - мастдай.
3 1Снеговик
 
гуру
30.08.20
16:45
(0) это вообще не про RLS.
Пиши код при открытии формы, в зависимости от группы доступа или профиля доступа запрещай менять реквизиты.
4 Сияющий в темноте
 
30.08.20
19:34
РЛС
Record layer security
на уровне записей,а не полей.
5 Сияющий в темноте
 
30.08.20
19:42
то,что можно получить данные RLS и как-то их анализировать для доступа к полям-это называется костыль.
в принципе,в конфигураторе у формы можно задать для любой роли доступность полей,соответсвенно,этим можно управлять

просто,RLS дает запрет,а стандартный механизм-только разрешение.
6 vde69
 
30.08.20
20:02
вполне делается, только 1с будет не быстро работать, если это запись и она не так часто идет то примерно так:

примерно так (на запись всего обьекта а не реквизита)

где (ЗащищаемыйРеквизит = Ссылка.ЗащищаемыйРеквизит) или (естьПравоЗаписыватьЭтотРеквизит)
7 vde69
 
30.08.20
20:03
(6) в типовых подобное раньше использовалось например для справочника "Пользователи"
8 rudnitskij
 
31.08.20
11:31
(0) технически можно. RLS ставится на чтение, добавление и изменение. С возможностью запрета по отдельным реквизитам, почему бы и нет?
Но лучше будет регулировать доступ через элементы формы, а то РЛС и программное изменение запрещает - что может нарушить работу регламентных заданий и обработчиков и подписок на события
9 Rapelsina
 
01.09.20
11:13
Большое всем спасибо!
Изначально больше была идея сделать как (3) (по итогу так и буду делать), но по наставлению старших коллег понесло в RLS.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn