Действие SetAccessLevel
Действие SetAccessLevel добавляет запись с указанными правами доступа в таблицу прав элемента, чтобы изменить эффективные права доступа на объект для заданных субъектов прав (должностей, подразделений или групп). Действие не сработает, если эффективные права доступа достаточны.
При расчёте эффективных прав доступа, не учитываются права, назначенные на группы пользователей, так как при замене пользователя на должности они могут быть утеряны. |
Параметры действия
Общие для всех действий параметры (в новой вкладке)
Пример реализации действия
В данном примере при срабатывании триггера, которым может служить выдача задания со вложенным документом, для исполнителей и ответственных будут назначены права без наследования на просмотр и согласование этого документа.
Рассмотрим для примера сценарий, в котором выдадим задание со вложенным скрытым документом, назначив исполнителем какое-либо подразделение в организации, а ответственным пользователя (должность).
Поскольку параметр 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"
]
}
}