Как настроить права пользователей (часть третья)
В данном видеоуроке показано, как на практике применить механизм ограничения доступа на уровне записей RLS (record level security) в 1С:Предприятие 8 (на примере Бухгалтерии предприятия 3.0 и Управления торговлей 11).
В предыдущей части урока мы рассмотрели процесс создания нового профиля группы доступа в 1С:Предприятие 8 (на примере Бухгалтерии предприятия 3.0).
В данном видеоуроке покажем, как на практике применить механизм ограничения доступа на уровне записей RLS (record level security) в 1С:Предприятие 8 (на примере Бухгалтерии предприятия 3.0 и Управления торговлей 11).
RLS (Record Level Security) — это механизм, который позволяет ограничивать доступ пользователей к отдельным записям в базах данных, а не ко всему объекту целиком. Это позволяет настроить доступ к конфиденциальной информации, например, чтобы сотрудники могли видеть только данные своей организации или только те документы, с которыми они работают. Ограничения RLS применяются к таким действиям, как чтение, добавление, изменение и удаление данных, и распространяются не только на сами записи, но и на отчеты и формы.
В рамках урока создадим ограничение доступа пользователей к документам в зависимости от выбранной организации в Бухгалтерии 3.0, а также к справочнику Партнеры и Номенклатура в Управлении торговлей 11 (из-за ошибок текущего релиза конфигурации ограничение доступа к номенклатуре не сработало).
Принцип работы RLS
- Ограничение доступа: вместо того, чтобы давать доступ ко всем контрагентам, RLS позволяет ограничить видимость только теми контрагентами, с которыми работает пользователь.
- Распространение на другие объекты: если пользователю закрыт доступ к конкретному контрагенту, ему также не будут видны все связанные с этим контрагентом документы и отчеты.
- Настройка прав: ограничения создаются на основе ролей и настраиваются в виде запроса (условия) на уровне конфигурации, а в пользовательском режиме 1С никаких дополнительных действий не требуется.
Стоит отметить, что чрезмерное использование RLS может снизить производительность системы, особенно если пользователь входит в несколько групп доступа.
Настройка RLS в БП3.0
В качестве примера настроим ограничение доступа пользователей к документам в зависимости от выбранной организации.
Для этого перейдем в раздел Администрирование - Настройки пользователей и прав - Группы доступа и установим галку Ограничивать доступ на уровне записей. Система выдаст предупреждение о том, что включение данного функционала может замедлить работу программы (будут дольше формироваться отчеты, открываться журналы документов и справочников ввиду наличия проверок на доступы к объектам системы). Соглашаемся и нажимаем кнопку Да.


Перейдем в Профили групп доступа и создадим новый профиль копированием существующего, к примеру, копируем профиль Бухгалтер.

Выделяем нужный профиль и нажимаем кнопку Копировать (или через контекстное меню, вызванное правой кнопкой мыши).

В карточке профиля перейдем на закладку Ограничения доступа и нажмем кнопку Добавить. Система предлагает несколько видов доступа, по которым можно настроить ограничения:
- Пользователи - настройка позволяет ограничить добавление пользователей в профиль,
- Внешние пользователи - настройка позволяет ограничить добавление внешних пользователей в профиль,
- Дополнительные отчеты и обработки - настраивается выборочный доступ к внешним отчетам и обработкам,
- Учетные записи электронной почты - настраивается выборочный доступ к учетным записям в системе,
- Дополнительные сведения - можно разграничить права пользователей на использование дополнительных сведений,
- Организации - настройка ограничения доступа к документам по различным организациям,
- Виды поступления наличных - настраиваются права пользователей на использование тех или иных операций в ПКО.
В значениях доступа можно выбрать один из вариантов:
- Все запрещены, исключения назначаются в группах доступа;
- Все разрешены, исключения назначаются в группах доступа;
- Все запрещены, исключения назначаются в профиле;
- Все разрешены, исключения назначаются в профиле.

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

Добавим созданный профиль пользователю и проверим корректность работы нашей настройки ограничения по организациям.
Для этого переходим в список пользователей и для пользователя _Новый добавляем созданный профиль Бухгалтер Тест.

Запустим программу под пользователем _Новый и проверим журналы документов. Видим, что пользователю доступны документы только по организации Торговый дом "Комплексный". Т.е. настройка RLS отрабатывает корректно.

При создании новых документов под данным пользователем, в списке организаций будет только разрешенная организация.

Таким образом, если в системе ведется учет по нескольким организациям, можно для каждой организации создать отдельный профиль и добавить его пользователям, которые будут работать с документами конкретной организации (или нескольких организаций, в зависимости от настроек RLS).
Настройка RLS в УТ11, КА2, ERP
Рассмотрим настройки ограничения доступа пользователей к справочнику Партнеры и Номенклатура.
Для начала создадим пользователя _Новый, которому будем настраивать ограничения доступа.
Далее создадим новый профиль, для этого перейдем в раздел НСИ и администрирование - Настройки пользователей и прав - Группы доступа и установим галку Ограничивать доступ на уровне записей. Система выдаст предупреждение о том, что включение данного функционала может замедлить работу программы (будут дольше формироваться отчеты, открываться журналы документов и справочников ввиду наличия проверок на доступы к объектам системы). Соглашаемся и нажимаем кнопку Да.


Ограничение по партнерам в УТ11, КА2, ERP
Перейдем в Профили групп доступа и создадим новый профиль копированием существующего, к примеру, копируем профиль Менеджер по продажам, в наименовании профиля добавим Тест.
В карточке профиля перейдем на закладку Ограничения доступа: видим, что у нас копировались ограничения из типового профиля - удалим их, будем создавать собственные.
По кнопке Добавить система предложит виды доступа, по которым можно настроить ограничения:

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

Далее создадим новую группу доступа Тест и укажем в ней наш профиль Менеджер по продажам Тест.



Подберем участников для данной группы доступа. В нашем примере это пользователь _Новый. Запишем карточку:


Запустим сеанс под пользователем _Новый и проверим документы продаж: пользователю доступны документы согласно настройкам RLS, т.е. все документы по оптовым покупателям.
Если открыть любой документ и перейти в карточку партнера, можно увидеть, что группа доступа клиента указана как Оптовые покупатели.

При создании новых документов под данным пользователем, в списке клиентов будут доступны только разрешенные партнеры (у которых группа доступа равна Оптовые покупатели).
Ограничение по номенклатуре в УТ11, КА2, ERP
В профиле групп доступа добавим вид доступа Группы номенклатуры. Значения доступа - Все запрещены, исключения назначаются в профиле.
Разрешим пользователю продавать Обувь (номенклатура с группой доступа Обувь).

Создадим Заказ клиета под пользователем _Новый. Согласно настройкам RLS, к выбору доступны только клиенты из группы доступа Оптовые покупатели, а вот настройка по ограничению номенклатуры не сработала.
Настройка RLS позволяет надежно контролировать доступ к данным, обеспечивая безопасность и конфиденциальность информации на предприятии. Такой подход делает систему управляемой, прозрачной и готовой к масштабированию при росте бизнеса.
Дмитрий Медведков
Сертифицированный разработчик решений для 1С (имею 10 сертификатов)Пишу о том, как автоматизировать рутинные задачи в 1С, ускорить импорт данных и облегчить жизнь пользователям без программирования.