Очень часто возникает необходимость разграничения доступа к каким либо сущностям системы информационной базы. В данной статье мы рассмотрим, как правильно настроить доступ в конфигурации Управление торговым предприятием для Украины (далее УТП) с помощью RLS.
В платформе УТП существует механизм RLS (Record Level Security) — ограничение прав на уровне записей.
Надо признать, что в отличие от той же конфигурации УПП (Управление производственным предприятием) функционал RLS в УТП довольно скудный. Он ограничивается справочниками «Организация» и «Контрагенты».
У нас стояла такая задача: настроить доступ менеджерам в разрезе организаций и контрагентов. Причем, к некоторым контрагентам доступ имели несколько менеджеров. Так же есть бухгалтеры, у которых есть доступ ко всем организациям и контрагентам ( вот она, справедливость и равноправие!). Таковы наши переменные.
Итак, начнем попунктно, какие действия с нуля нужно сделать, чтобы выполнить поставленную перед нами задачу.
1. Назначить роли пользователям
Для того, чтобы все корректно работало, сначала в конфигураторе нужно назначить права пользователю. У него должно быть две роли: «пользователь» и «менеджер по продажам» (с ограничением прав на уровне записей).
2. Включить механизм RLS в конфигурации
Для этого нужно зайти в меню Сервис — Настройка учета — Настройка параметров учета. Проверяем чтобы галочка «Ограничение права доступа на уровне записей» устанавливаем флажок.
3. Создать группы доступа к контрагентам
Заходим в меню Сервис — Пользователи — Группы доступа к контрагентам. На каждого менеджера создаем отдельную группу доступа к контрагентам. Например, это «Петров», «Сидоров» и «Иванов». Три отдельные группы доступа, потому что у каждого из этих менеджеров свой перечень контрагентов, с которыми им нужно работать. Так как есть, контрагенты, с которыми работают несколько менеджеров, то мы создаем еще и группу доступа «Петров и Сидоров».
4. Создать группы пользователей
Так как ограничение по видам доступа (RLS) настраивается только для групп пользователей, то нам нужно для каждого менеджера создать отдельную группу пользователей, а для бухгалтерии мы сделаем одну группу пользователей без ограничений доступа на уровне организаций и контрагентов.
Заходим в меню Сервис — Пользователи — Группы пользователей. Создаем на каждого менеджера свою группу пользователей. Так же создаем группу Бухгалтерия без ограничений доступа на уровне организаций и контрагентов.
Вот так выглядит элемент справочника Группы пользователей для одного из наших менеджеров.
В отличии от менеджеров у группы Бухгалтерия флажки в разделе «Вид объекта доступа» флажки напротив «Организации» и «Контрагенты» не устанавливается. Это значит, что несмотря на то, что в конфигурации включено «Ограничение права доступа на уровне записей», на пользователей в данной группе данные ограничения не распространяются.
5. Назначить каждому контрагенту «группу доступа к контрагенту»
Теперь перед нами стоит задача: каждому контрагенту назначить группу доступа контрагентов. Соблюдается правило 1 контрагент — 1 группа доступа контрагентов. Это ограничение на уровне конфигурации. В нашем случае, мы добавляем группу доступа «Петров», например, если с данной организацией работает лишь один менеджер. Если же с данным контрагентом работает несколько менеджеров, то выбираем группу «Петров и Сидоров».
6. Настроить права доступа
Ну и наконец-то, приходим к завершающему штриху. Необходимо назначить права каждому менеджеру на организацию и на группу доступа к контрагентам. Для этого нам нужно зайти в справочник «Группы пользователей». Как это сделать — описано в пункте 4. Выбираем любую группу пользователей и нажимаем кнопку «Права». После этого запускается обработка «Настройка прав доступа».
У нас есть 2 вкладки: «Организация» и «Контрагенты». На вкладке «Организация» мы указываем организацию, к которой имеют доступ наши менеджеры.
На вкладке «Контрагенты» мы назначаем, к каким группам доступа к контрагентам менеджер имеет доступ. Например, в пункте 5 мы говорили о том, что у менеджера Петрова есть доступ только к своим контрагентам, а так же есть общие контрагенты с менеджером Сидоровым. Соответственно, во вкладке «Контрагенты» у Петрова должно быть две строчки. Одна строчка, где объектом доступа выступает «группа доступа к контрагентам» «Петров», а вторая строчка «группа доступа к контрагентам» «Петров и Сидоров»
Хочу обратить внимание, что права доступа бывают двух видов: чтение и запись.
Права доступа
- «Чтение» — пользователь будет видеть элемент справочника в списке и сможет открыть его на просмотр, также сможет выбрать его из списка при заполнении реквизитов других объектов.
- «Запись» — пользователь сможет изменять:
- элементы некоторых справочников — видов объектов доступа (не всех – есть исключения, см. ниже);
- данные (документы, регистры, подчиненные справочники), связанные с этими элементами справочников.