Действие SetAccessLevel
Действие SetAccessLevel добавляет запись с указанными правами доступа в таблицу прав элемента, чтобы изменить эффективные права доступа на объект для заданных субъектов прав (должностей, подразделений или групп). Действие не сработает, если эффективные права доступа достаточны.
| При расчёте эффективных прав доступа, не учитываются права, назначенные на группы пользователей, так как при замене пользователя на должности они могут быть утеряны. |
Параметры действия
Общие для всех действий параметры (в новой вкладке)
Пример реализации действия 1
В данном примере при срабатывании триггера, которым может служить выдача задания со вложенным документом, для исполнителей и ответственных будут назначены права без наследования на просмотр и согласование этого документа.
Рассмотрим для примера сценарий, в котором выдадим задание со вложенным скрытым документом, назначив исполнителем какое-либо подразделение в организации, а ответственным пользователя (должность).
Поскольку параметр 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"
]
}
}
Пример реализации действия 2
В данном примере при выдаче задания со вложенным ecm-документом, для исполнителей будут назначены права на просмотр с наследованием. Для этого в качестве значения параметра targetTypes указан тип "ecm_doc", а параметр наследования inheritable переключен в значение "true". Это означает, что исполнитель получит права не только на сам документ, но и на его потомка — исходный файл ecm-документа.
{
"activity": "SetAccessLevel",
"params": {
"sourceTypes": [],
"target": "Relations",
"relationType": "TaskAttachments",
"targetTypes": ["ecm_doc"],
"orgUnitAttributeNames": [
"executor"
],
"accessLevel": "View",
"inheritable": true,
"orgUnitKinds": [
"Position"
]
}
}