﻿# Ограничение на уровне элементов приложения

> [HTML Version](element-right.html)

Это самый строгий вариант разграничения доступа, который позволяет назначить разные права разным пользователям к отдельным элементам приложения.

Используйте этот уровень, когда нужно разграничить доступ к каждому элементу приложения. Например, в отделе продаж каждый менеджер работает только со своими договорами. Данные договоров являются конфиденциальной информацией для других сотрудников. Тогда право просматривать и редактировать договор можно назначить только его автору и сотрудникам, указанным в карточке договора руководителем и согласующим.

Также на этом уровне разграничения доступа можно выдавать [дополнительные права](#access) к конкретным элементам для выполнения разовых задач:

- в карточке элемента приложения;

- в настройках бизнес-процесса.

````
Начало внимание

````
Выдавать и ограничивать права в настройках приложения на уровне его элементов могут только пользователи, входящие в группу [Администраторы](360006871932.md#administrators).

````
Конец внимание

````
Обратите внимание:

1. Вы можете выбрать другой вариант настройки доступа:

	- [на уровне приложения](app-rights.md) — это самый мягкий вариант. Назначенные пользователям права применяются ко всем элементам приложения;

	- [на уровне папок приложения](folder-rights.md) — чтобы назначать разным пользователям разные права для данных каждой папки приложения.

2. Для групп сотрудников, постоянно работающих с приложением, предоставьте верхнеуровневый доступ [к разделу](360009660872.md), в котором оно размещено, и [к самому приложению](360009919211.md). Тогда к доступным данным приложения можно перейти через левое меню.

3. Если сотрудник работает с элементами приложения разово, например, только в рамках бизнес-процесса, можно не предоставлять доступы к разделу и приложению. Тогда сотрудник с доступом к данным приложения перейдёт в карточку элемента по прямой ссылке, например, из процессной задачи.

Чтобы назначить права доступа для всех данных приложения на уровне его элементов: 

1. Нажмите значок шестерёнки справа от названия приложения и выберите **Настройка доступа**. 

2. Выберите опцию **Ограничить доступ к данным > На уровне элементов приложения**. 

3. Нажмите кнопку **+ Добавить**, чтобы выбрать объект для назначения прав доступа. Объектом может быть: 

- пользователь, [группа пользователей](360007146071.md) и элемент [организационной структуры](360003861992.md);

- **Системное поле** — свойство **Автор**, **Исполнители** или **Подписчики**. По умолчанию выбрано поле **Автор**. Вы можете изменить его и выдать права на элемент, например, исполнителям процессных задач;

- **Свойство приложения** — свойство, хранящее сотрудников, которым выдаются права. Эта опция позволяет гибко настроить доступ в приложении, так как для каждого элемента в выбранном свойстве могут быть записаны разные сотрудники. Им будет автоматически предоставляться доступ, а при изменении значения свойства права на элемент будут обновляться. 

Вы можете указать свойство одного из типов:

	- [Пользователи](360009707032.md#users) — позволяет выбрать пользователей системы;

	- [Роль](360009707032.md#role) — позволяет указать пользователей, группы или элементы оргструктуры.

Свойство может выбираться:

	- из контекста текущего приложения. Например, в контексте приложения **Договор** есть свойство **Согласующие**. При создании договора сотрудник указывает в этом поле пользователей, которым договор поступит на согласование. Во время настройки прав доступа к договорам добавьте в качестве объекта для назначения прав свойство **Согласующие**. Тогда сотрудникам, которые выбраны согласующими в карточке договора, автоматически будет предоставляться доступ к этому договору. Подробнее о такой настройке прав читайте в статье [«Примеры настройки доступа к элементам через свойство приложения»](property-based-permissions.md#current-app);

	- из контекста приложения, [связанного](360029148471.md) с текущим — опция доступна для поставки ELMA365 On‑Premise. Например, в контексте приложения **Дополнительные соглашения** есть свойство, ссылающееся на основной договор. В карточке приложения **Договоры** есть поле **Согласующие**. При настройке доступа к дополнительным соглашениям можно назначить права согласующим из карточки договора, выбрав вложенное свойство **Договоры > Согласующие**. Тогда ответственные, указанные во время создания договора, будут иметь доступ к связанным с ним дополнительным соглашениям. Подробнее о такой настройке прав читайте в статье [«Примеры настройки доступа к элементам через свойство приложения»](property-based-permissions.md#linked-app).

Обратите внимание, в настройках свойства приложения, выбранного в качестве объекта для назначения прав, автоматически включается [опция поиска и сортировки](360009918011.md#search_field). Отключить опцию нельзя. 

4. Укажите, какие [типы прав](360007527512.md#assign) будут доступны выбранным объектам.

Для опций **Системное поле** и **Свойство приложения** нельзя выдать полный доступ и права на экспорт и импорт. Эти типы прав задаются на уровне приложения. В свою очередь, автор и пользователь в свойстве определяются после создания каждого элемента. Поэтому права для таких сотрудников проверяются и выдаются индивидуально по определённому элементу. Подробнее о применении разных типов прав к разным объектам системы читайте в справке [ELMA365 TS SDK](https://tssdk.elma365.com/ru/latest/pages/quick-start/intro_permissions.html).

5. Настройте опции:

- **Включить наследование прав с учетом подчинения в организационной структуре** — по умолчанию руководители получают те же права доступа на приложение, что и их подчинённые. Чтобы ограничить доступ, отключите опцию;

- **При ошибке доступа скрывать список пользователей, которые могут предоставить доступ** — по умолчанию сотрудник без прав доступа при попытке открыть карточку элемента приложения увидит список пользователей с привилегией выдачи прав. Чтобы скрыть список, включите опцию.

6. Нажмите **Сохранить**.

Обратите внимание, общие настройки автоматически применяются к каждому созданному внутри приложения элементу. Их нельзя отменить.

Подробнее о настройке доступа на уровне элементов приложения читайте в статье [«Комбинации настроек доступа»](rights-combinations.md).

## Дополнительные права к элементу приложения

Если пользователь не работает постоянно с элементами приложения, ему можно не назначать доступ к данным в настройках приложения, если используется ограничение на уровне элементов приложения.

В этом случае для выполнения разовых задач с отдельными элементами можно выдавать дополнительные права:

- в карточке элемента приложения — кроме администратора, эту опцию может использовать пользователь с доступом уровня **Назначение прав**;

- в настройках бизнес-процесса.

````
Начало внимание

````
Дополнительные права можно назначить, только если доступ к данным приложения настроен на уровне элементов приложения.

````
Конец внимание

### ````
Выдать доп. права в карточке элемента

Выдавать права к отдельным элементам приложения в их карточках может пользователь с доступом уровня [Назначение прав](360007527512.md#assign). Обратите внимание, назначить такие права можно только на уровне элементов приложения.

Например, в приложении **Вакансии** с карточками вакансий по руководящим должностям работает только начальник HR‑отдела. Если в настройках доступа к приложению на уровне элементов ему назначен тип доступа **Назначение прав**, он может делегировать работу с определённой вакансией сотруднику своего отдела.

Чтобы ограничить или предоставить доступ к элементу приложения:

1. Откройте карточку элемента на странице приложения или по прямой ссылке. 

2. Нажмите на значок замка справа от названия элемента.

(hmfile_hash_012eea78.png)

В открывшемся окне вы увидите два блока настроек доступа:

- **Общие права для элементов приложения **— здесь отображаются права, применяемые ко всем данным приложения. Эти настройки нельзя отменить;

- **Дополнительные права **— здесь вы можете предоставить доступ к элементу приложения кому‑то ещё, дополнительно к списку сотрудников, перечисленных в первом блоке.  

3. Нажмите **+ Добавить**, чтобы выбрать объект для назначения дополнительных прав доступа. Объектом может быть: пользователь, [группа пользователей](360007146071.md) или элемент [организационной структуры](360003861992.md).

(access_settings_11.png)

4. Укажите, какие типы прав будут доступны выбранным объектам, и нажмите **Сохранить**.

### Выдать доп. права в бизнес-процессе

В задачах бизнес-процесса пользователи работают с элементами приложений, к которым в первую очередь применяются:

- права, выданные в настройках [доступа к данным приложения](360007527512.md);

- [дополнительные права](#rights-in-card) к элементу приложения, выданные в его карточке.

Для выполнения разовых задач с отдельными элементами приложения администратор системы может настроить выдачу дополнительных прав в бизнес‑процессе:

- [в настройках зоны ответственности](permissions-in-swimlane.md);

- используя блок [Выдача прав на элемент](assign_permissions.md);

- используя скрипт.

Обратите внимание, настроить выдачу дополнительных прав в бизнес-процессе можно только если доступ к данным приложения настроен на уровне его элементов.

Например, в приложении **Договоры** выдача прав настроена на уровне элементов приложения. Сотрудник может просматривать только те договоры, автором которых он является. При этом в ходе процесса ему назначена задача проверить договор, созданный другим сотрудником. В этом случае настройка выдачи прав в зоне ответственности позволит просмотреть договор.

Права, выданные в настройках бизнес-процесса, отобразятся в настройках доступа к элементу приложения в блоке **Дополнительные права**.

(access_settings-12.png)

Пример временной выдачи прав на элемент с использованием блока **Выдача прав на элемент** смотрите в статье [«Комбинации настроек доступа»](rights-combinations.md#rights-to-element).