Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по RLS

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.