rls2

RLS 2.0

Мы уже рассматривали механизм разделения доступа на уровне записей (Record Level Security — RLS) в .

Прогресс не стоит на месте. Уже команда БСП (Библиотека Стандартных подсистем) выпустила встроенную подсистему с Быстрыми RLS. Среди пользователей это обновление получило неофициальное наименование «RLS 2.0».

Постановка задачи

Итак, рассмотрим такую задачу. У нас есть типовая конфигурация 1С со встроенной подсистемой БСП. Возьмём для примера 1С:ERP.Управление Холдингом версии 3.2. Требуется настроить раздельный по Организациям доступ к документу Заявка на оплату.

На скриншоте пользователю отображаются Заявки всех организаций. Ограничим доступ только к заявкам, принадлежащие организации Векселедатель.

Реализация

Создадим новую роль ТестоваяРоль.

Теперь требуется скопировать стандартный шаблон ПоЗначениям из другой типовой роли и поместить его на закладку Шаблоны ограничений.

Далее на закладке Права для документа ЗаявкаНаРасходованиеДенежныхСредств устанавливаем следующее ограничение доступа:

#ПоЗначениям( «Документ.ЗаявкаНаРасходованиеДенежныхСредств», «», «»,
«Организации», «Организация», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»»)

Здесь параметр «Документ.ЗаявкаНаРасходованиеДенежныхСредств» означает объект метаданных, по которому устанавливаются ограничения. В данном случае — Заявка на оплату.
Параметр «Организации» — способ установки ограничений. Всего в БСП определено несколько способов, рассмотрим их настройку позднее.
Параметр «Организация» — имя реквизита, из которого будет получено значения для ограничения доступа.

Далее, в режиме 1С:Предприятие необходимо включить использование RLS. Для этого устанавливаем флаг «Ограничивать доступ на уровне записей» и переключаем вариант работы в состояние «Производительный».

Далее, в нужный профиль (в нашем примеры мы создали новый профиль «Тестовый профиль», но Вы можете воспользоваться существующим — в зависимости от задачи) добавляем роль Тестовая роль.

Здесь же настраиваем ограничение. Выбираем вид доступа «Организации».  Помимо этого варианта БСП поддерживает и множество других: Склады, Пользователи, Кассы, Сценарии — всего около 20 вариантов, при необходимости можно расширить список путём доработки конфигурации. Выбираем Значение доступа «Все запрещены, исключения назначаются в профиле». Это означает, что пользователю будут доступны только объекты (в данном случае в роли такого объекта выступает документ заявка на оплату), организации которых перечислены в профиле. В завершении настройки профиля добавим целевую организацию — Векселедатель.

Нужно отметить, что подобные ограничения можно установить и для отдельного пользователя. В этом случае нужно выбрать вариант «Все запрещены, исключения назначаются в группах доступа». Далее аналогично осуществляем настройку в справочнике Пользователи.

В завершение необходимо применить выбранные RLS. Для этого можно воспользоваться иструментом «Обновление доступа на уровне записей». Либо использовать внешнюю обработку «Обновление вспомогательных данных». На скриншоте представлена нужная настройка этой обработки.

 

Результат

Зайдём под учётной записью целевого пользователя и откроем список документов Заявка на оплату. Видим, что пользователю теперь доступны только заявки по организации Векселедатель.

Возможности других шаблонов (#ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный) RLS 2.0 можно рассмотреть, например, в этой статье на ИнфоСтарт.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *