﻿# Комбинации настроек доступа

> [HTML Version](rights-combinations.html)

В ELMA365 вы можете управлять доступом [к разделу](360009660872.md) и [приложению](360009919211.md), а также к данным на уровне [приложения](app-rights.md), [папок](folder-rights.md) и [элементов](element-right.md). О том, как настраивать каждый вид доступа мы написали в соответствующих статьях. Здесь же рассмотрим взаимодействие перечисленных настроек на конкретных примерах. 

## Кейс 1. Доступ к приложению и его данным

Рассмотрим пример:

С приложением **Товары** работают сотрудники производства. Они могут просматривать, создавать, редактировать и удалять товары. Всем остальным пользователям это приложение должно быть скрыто в левом меню. При этом товары часто используются в заявках компании и бизнес-процессах. Поэтому доступ к просмотру карточек товаров по прямой ссылке из задач и заявок должен быть у всех сотрудников компании.

Установите следующие права доступа:

1. В настройках приложения **Товары** выберите пункт **Доступ к Приложению**.

2. В появившемся окне укажите группу **Производство**, в которую включены все сотрудники производства.

(rights-combinations_1.png)

Теперь приложение **Товары** будет доступно в левом меню только для сотрудников производства. Остальные пользователи могут работать с карточками товаров только по прямой ссылке.

3. В настройках приложения **Товары** перейдите к пункту **Настройка доступа**.

4. Включите опцию **Ограничить доступ к данным > На уровне приложения**.

5. Настройте доступ к элементам приложения для групп** Производство** и **Все пользователи**.

(rights-combinations_2.png)

Теперь сотрудники производства могут просматривать, создавать, редактировать и удалять карточки товаров, а остальные пользователи — только просматривать данные товара в карточке назначенной задачи или поступившей заявки.

## Кейс 2. Доступ к данным на уровне папок приложения

Рассмотрим пример:

Сотрудники двух отделов производства ведут работы по разным направлениям товаров: продукты и упаковка. Поэтому в приложении **Товары** [созданы папки](folder_tree.md) **Продукты** и **Упаковка**, между которыми распределены все элементы приложения. Сотрудники могут просматривать, создавать, редактировать и удалять карточки товаров своего направления. В то же время любой сотрудник производства может просматривать все товары. Полный доступ к товарам должен быть только у начальника производства.

Решение:

1. Настройте [оргструктуру](360003861992.md) компании в её части, предназначенной для сотрудников производства.

(rights-combinations_3.png)

Теперь на основе этой оргструктуры можно разграничить права доступа.

2. Настройте для сотрудников производства [доступ к приложению «Товары»](#application-access).

3. В настройках приложения **Товары** выберите пункт **Настройка доступа **и включите опцию **Ограничить доступ к данным > На уровне папок Приложения**.

4. Настройте требуемые права для должности **Начальник производства** и для группы **Производство**, которая включает всех сотрудников производства.

(rights-combinations_4.png)

5. Настройте [дополнительные права](folder-rights.md#folder-access) для папки **Продукты**.

(rights-combinations_5.png)

Теперь создавать, редактировать и удалять карточки товаров в папке **Продукты** могут только сотрудники **Отдела “Продукты”**. Также папка **Продукты** отобразится для них в левом меню приложения **Товары**. Другие сотрудники производства могут только просматривать товары из этой папки. Они будут доступны в папке **Все записи**, а папка **Продукты** не отобразится в левом меню.

6. Аналогично настройте дополнительные права для папки **Упаковка**, выбрав в блоке **Дополнительные права** группу **Отдел “Упаковка”**.

## Кейс 3. Доступ на уровне элементов приложения и выдача доп. прав

Рассмотрим пример, усложнив предыдущий кейс. Предположим, что информация о товарах является конфиденциальной и требует выполнения следующих правил:

- только начальник производства может иметь полный доступ к товарам, а также настраивать доступ для всех сотрудников производства;

- начальник отдела может создавать и просматривать любые товары, но редактировать и удалять — только товары своего направления, а также назначать права доступа только к товарам своего направления;

- рядовые сотрудники производства видят и могут редактировать только те товары, по которым они назначены ответственными;

- пользователи из других подразделений компании могут работать с карточками товаров, но только временно в рамках выполнения конкретной задачи по конкретному товару.

Решение:

1. Перейдите в настройки формы приложения **Товары** и добавьте на неё свойства **Ответственный** и **Руководитель** типа **Пользователь**. Теперь это свойство можно выбрать в настройках доступа, чтобы начальник отдела мог редактировать только товары своих подчинённых и назначать права доступа только к товарам своего направления.

2. Настройте для сотрудников производства [доступ к приложению «Товары»](#application-access).

3. В настройках приложения выберите пункт **Настройка доступа**.

4. Включите опцию **Ограничить доступ к данным > На уровне элементов Приложения**.

5. Настройте права к элементам для должностей сотрудников производства, а также для свойств приложения **Ответственный** и **Руководитель**.

(rights-combinations_6.png)

6. Выдать временные права на карточку товара сотрудникам других подразделений компании можно:

- вручную [в карточке элемента приложения](element-right.md#rights-in-card) — это действие доступно для руководителей производства с доступом уровня **Назначение прав**;

- в ходе бизнес-процесса — для этого используйте [настройки зоны ответственности](permissions-in-swimlane.md), скрипт или блок [Выдача прав на элемент](assign_permissions.md).

Например, опция **Выдача прав** в настройках зоны ответственности позволит пользователю просмотреть в задаче карточку товара. При этом выданное право на просмотр отобразится в настройках доступа карточки товара в блоке **Дополнительные права**.

 (rights-combinations_7.png)

После выполнения задачи вы можете [отменить выданные права](assign_permissions.md#remove-rights), если они нужны только на время выполнения задачи. Для этого разместите блок **Выдача прав на элемент** на схеме процесса после этой задачи. В настройках блока укажите права на чтение и включите опцию **Удаление**.

(rights-combinations_8.png)