Действие SetAccessLevel

К списку действий

Действие SetAccessLevel добавляет запись с указанными правами доступа в таблицу прав элемента, чтобы изменить эффективные права доступа на объект для заданных субъектов прав (должностей, подразделений или групп). Действие не сработает, если эффективные права доступа достаточны.

При расчёте эффективных прав доступа, не учитываются права, назначенные на группы пользователей, так как при замене пользователя на должности они могут быть утеряны.

Параметры действия

Общие для всех действий параметры (в новой вкладке)

Имя параметра Обязательный Описание параметра Значения параметра
accessLevel да Действие добавит уровень доступа к элементу, соответствующий значению этого параметра. None - отсутствие прав,
View - Просмотр,
Create - Создание,
Agreement - Согласование,
Edit - Редактирование атрибутов и файлов,
Freeze - Заморозка,
Share - Делегирование прав доступа.

Значения параметра можно указывать через запятую. Например, чтобы дать права на Изменение, нужно указать "View,Create,Agreement,Edit".

Также можно использовать комбинации для сокращённой записи:
ViewCreate = "View,Create"
ViewEdit = "View,Create,Edit"
ViewEditAgreement = "ViewEdit,Agreement"
Full = "ViewEditAgreement, Share,Freeze"

inheritable да Определяет, будет ли уровень доступа наследуемым. True или False
orgUnitAttributeNames да Определяет организационные единицы, для которых будут повышены права. Список имён атрибутов типа организационная единица.
Например, ["initiator"], ["executor"], ["responsible"], ["auditors"] и др.
orgUnitKinds нет Указывает вид организационной единицы, которым ограничивается параметр orgUnitAttributeNames. ["Department"] - подразделение,
["Position"] - должность
или ["Group"] - группа

Пример реализации действия

В данном примере при срабатывании триггера, которым может служить выдача задания со вложенным документом, для исполнителей и ответственных будут назначены права без наследования на просмотр и согласование этого документа.

Рассмотрим для примера сценарий, в котором выдадим задание со вложенным скрытым документом, назначив исполнителем какое-либо подразделение в организации, а ответственным пользователя (должность).

Поскольку параметр orgUnitAttributeNames имеет значения "executor" и "responsible", то права на просмотр и согласование вложенного документа, указанные в атрибуте accessLevel, должны быть выданы всем в подразделении и пользователю (должности), назначенному ответственным.

Однако, у нас заполнен параметр orgUnitKinds значением "Position". Это означает, что мы вводим ограничение, и права будут выдаваться, только если в качестве исполнителя и ответственного указаны пользователи в какой-либо должности, а не подразделения или группы. Таким образом, в данном сценарии при действии этого скрипта автоматизации доступ к вложенному скрытому документу получит только пользователь, назначенный ответственным.

После этого ответственный может выбрать и назначить какого-либо пользователя из подразделения исполнителем. Тогда права на документ будут выданы именно ему.

{

"activity": "SetAccessLevel",

"params": {

"sourceTypes": [],

"target": "Relations",

"relationType": "TaskAttachments",

"targetTypes": [],

"orgUnitAttributeNames": [

"executor",

"responsible"

],

"accessLevel": "View,Agreement",

"inheritable": false,

"orgUnitKinds": [

"Position"

]

}

}

К списку действий