Настраиваем правовую политику
Теперь, когда у нас уже есть небольшая система, нам необходимо разграничить доступ к данным системы между сотрудниками. Права в КОСКО BPM можно задать как для раздельных сотрудников в системе, так и по объединяющим сотрудников сущностям: роль, раздел, регион и т.д. Рассмотрим оба варианта ниже:
Как настроить права доступа по сотрудникам в системе
Добавим в нашу систему несколько сотрудников, например: Ивана, Андрея и Анну. Для этого переходим в каталог "Сотрудники" и добавляем новые записи, указав имя сотрудника и адрес электронной почты.

Правила на уровне Отдела и Каталога
Для начала рассмотрим простые правила на примере каталога Клиенты:
Андрей — администратор системы с полным доступом ко всем данным
Анна — может создавать новых Клиентов, просматривать и изменять существующих
Иван — может только просматривать Клиентов, без возможности создания новых и без возможности изменять данные в существующих клиентах.
В первую очередь мы должны настроить права доступа к самому верхнему уровню — Разделу.

Переходим в нужный раздел (Компания)
В левом нижнем углу нажимаем "Свойства раздела"
Нажимаем кнопку "Доступ к разделу"
Откроется окно с правами по умолчанию: Все сотрудники - Администрировать

Нажимая кнопку "Добавить сотрудника/группу" добавляем правила для наших сотрудников:
Iluza — «Администрировать»
Иван и Анна — «Видеть каталог в меню»
Правило по умолчанию для всех сотрудников удаляем.
После этого нажимаем кнопку «Сохранить».

Теперь необходимо настроить права на Каталог.

Переходим в нужный каталог (Клиенты)
Нажимаем иконку шестеренки рядом с названием каталога
Нажимаем кнопку "Доступ к каталогу"
Откроется окно с правами доступа с правилами, унаследованными от отдела.

Тут мы уже задаем правила для остальных сотрудников:
Анне — привилегию «Создавать записи»
Ивану — привилегию «Видеть все записи»
Сохраняем заданные правила.

На скриншотах ниже примеры того, что видит каждый сотрудник под своей учетной записью:
Андрей - с привилегией "Администратор" может видеть, изменять, добавлять и удалять записи. Также может настраивать поля в каталоге (менять структуру) и назначать права доступа.


Анна - с привилегией "Создавать записи" может видеть, изменять и добавлять записи. Возможности удалять записи, а также настраивать поля в каталоге и назначать права у неё нет.


Иван - с привилегией "Видеть все записи" может только видеть записи. Редактировать, добавлять и удалять записи он не может.

Правила на уровне правовых видов
Немного усложним предыдущую схему и рассмотрим на примере каталога Заказы:
Андрей — также администратор системы с полным доступом ко всем данным
Анна — также может создавать новые Заказы, просматривать и изменять существующие
Иван — может просматривать и изменять Заказы, но не все, а только те, где он назначен ответственным менеджером. Также ему будет запрещено менять поля «Клиент» и «Ответственный менеджер» в заказах — данные поля он сможет только видеть, а дополнительное поле «Внутренний комментарий» и вовсе не должен видеть.
Добавим в каталоге «Заказы» новые поля типов «Сотрудник» и «Многострочный текст» для указания ответственного менеджера и внутреннего комментария соответственно:

Права для Раздела были настроены ранее, их менять нам не требуется. Настроим права для Каталога:
Для Анны привилегия будет такая же: «Создавать записи»
Для Ивана мы выдадим привилегию: «Видеть каталог в меню». Дополнительно скроем от него поле: «Внутренний комментарий



Текущие настройки пока позволяют Ивану лишь видеть каталог в меню, при этом ни одна запись в каталоге ему пока не доступна даже для просмотра. Теперь нам необходимо разрешить ему изменять те записи, где он является ответственным менеджером. Для этого создаем правовой вид со следующим фильтром:

Сохраняем вид в качестве правового, название произвольное:

Теперь для данного вида назначаем следующие права: добавляем Ивана - привилегия "Изменять записи", Право редактировать поля: Клиент - видеть, Ответственный менеджер - видеть, в других полях всё оставляем по умолчанию.


Права настроены, теперь на примерах посмотрим что видит каждый пользователь системы.
Анна видит все записи и может редактировать все поля.


Иван видит только те записи, где он назначен ответственным менеджером, а также не может редактировать поля «Клиент» и «Ответственный менеджер», поле «Внутренний комментарий» не видит вовсе:


Как настроить права доступа по объединяющим сущностям
Под объединяющей сущностью в данном примере мы будем рассматривать роли сотрудников. Рассмотрим 3 роли: Администратор, Старший менеджер и Менеджер. Чтобы можно было сотрудникам назначать роли, а потом еще и настраивать права под эти роли мы должны сначала создать каталог "Роли" с одним полем "Наименование роли"

Затем создать записи с нашими ролями:

Теперь нужно привязать данную сущность к каталогу сотрудников. Добавляем поле типа «Связанный каталог» и указываем связь на каталог Роли

Распределяем созданные роли нашим сотрудникам: Андрей — администратор, Анна — старший менеджер, Иван — менеджер.

Теперь распределяем права: мы можем использовать те же правила, что и в схеме с правами под конкретных сотрудников, описанные выше, но теперь уже распределить по ролям.
Для Раздела:

Для каталога Клиенты:

Для каталога Заказы:

Для правового вида:

Все сотрудники увидят в системе то же самое, что и в схеме выше. Но теперь, добавляя в систему нового сотрудника, нам достаточно просто задать ему роль и права автоматически будут применены - дополнительно заходить и настраивать права для конкретного сотрудника не требуется.
Для примера добавим в систему нового сотрудника с ролью "Менеджер", создадим пару заказов, где назначим его ответственным


Новый сотрудник (Пётр) в каталоге Клиенты увидит всех клиентов, но редактировать их не сможет. В каталоге Заказы увидит только 2 своих заказа, поле "Внутренний комментарий" от него скрыт, поля "Клиент" и "Ответственный менеджер" редактировать он не сможет.

