Смарт-действия — участники, оргструктура, группы¶
⚠️ Символом * помечены обязательные параметры. Часть Справочника смарт-действий; как вызывать действия из SmartScript и типы параметров — там же (Типы данных).
Действия над участниками задачи (заказчик, исполнители, подписчики, заместители) и учётными записями (создание/обновление пользователей, орг. единицы, группы, модули).
Заказчики, исполнители, подписчики¶
Добавить группу исполнителей (AddPerformerGroup, ID 55)¶
Добавляет группу пользователей в исполнители задачи
| Параметр | Тип | Описание |
|---|---|---|
| Кто* | 1F.User |
От чьего имени |
| Кого (группа)* | Collection<1F.UserGroup> |
Группы для добавления |
| Задача* | 1F.Task |
Задача |
| Не слать письмо* | Boolean |
Не отправлять email |
| Не писать комментарий* | Boolean |
Комментарий только автору |
Добавить группу подписчиков (AddSubscriberGroup, ID 18)¶
Добавляет группу пользователей в подписчики задачи
| Параметр | Тип | Описание |
|---|---|---|
| Кто* | 1F.User |
От чьего имени |
| Кого* | Collection<1F.UserGroup> |
Группы |
| Задача* | 1F.Task |
Задача |
| Писать "тихий" комментарий (без адресата) | Boolean |
Тихий комментарий |
| Не писать комментарий | Boolean |
Комментарий только автору |
Добавить исполнителя (AddPerformer)¶
Добавляет пользователей в исполнители задачи
| Параметр | Тип | Описание |
|---|---|---|
| Кто* | 1F.User |
От чьего имени |
| Кого* | Collection<1F.User> |
Пользователи |
| Задача* | 1F.Task |
Задача |
| Не слать письмо* | Boolean |
Не отправлять email |
| Не писать комментарий* | Boolean |
Комментарий только автору |
| Ресурс | 1F.Task |
Задача из "Справочник ресурсов" |
Подписчики (AddSubscriber)¶
Добавляет пользователей в подписчики задачи
| Параметр | Тип | Описание |
|---|---|---|
| Кто* | 1F.User |
От чьего имени |
| Кого* | Collection<1F.User> |
Пользователи |
| Задача* | 1F.Task |
Задача |
| Не писать комментарий* | Boolean |
Комментарий только автору |
Изменить заказчика (ChangeTaskOwner)¶
Меняет заказчика задачи
| Параметр | Тип | Описание |
|---|---|---|
| Задача* | 1F.Task |
Задача |
| Кто* | 1F.User |
От чьего имени |
| Кого* | 1F.User |
Новый заказчик |
| Писать "тихий" комментарий (без адресата) | Boolean |
Тихий комментарий |
Назначить заместителя (AssignAssistant, ID 30)¶
Назначает для пользователя заместителя на период
| Параметр | Тип | Описание |
|---|---|---|
| Кто назначает* | 1F.User |
От чьего имени |
| Заместитель* | 1F.User |
Заместитель |
| Замещаемый* | 1F.User |
Замещаемый |
| С | DateTime |
Начало периода |
| По | DateTime |
Конец периода |
Удалить заместителя (RemoveAssistant, ID 31)¶
Удаляет назначенного заместителя пользователя.
| Параметр | Тип | Описание |
|---|---|---|
| Кто удаляет* | 1F.User |
От чьего имени |
| Заместитель* | 1F.User |
Удаляемый заместитель |
| Замещаемый* | 1F.User |
Чей заместитель удаляется |
| С | DateTime |
Начало периода замещения |
| По | DateTime |
Конец периода замещения |
Назначить ответственным (MakePerformerResponsible)¶
Назначает пользователя ответственным исполнителем в задаче
| Параметр | Тип | Описание |
|---|---|---|
| Задача* | 1F.Task |
Задача |
| Кто* | 1F.User |
От чьего имени |
| Кого* | 1F.User |
Ответственный исполнитель |
Удалить всех исполнителей (RemoveAllPerformers, ID 7)¶
Удаляет всех исполнителей в задаче
| Параметр | Тип | Описание |
|---|---|---|
| Кто удаляет* | 1F.User |
От чьего имени |
| Задача* | 1F.Task |
Задача |
| Не слать письмо* | Boolean |
Не отправлять email |
| Писать "тихий" комментарий (без адресата) | Boolean |
Тихий комментарий |
| Не писать комментарий | Boolean |
Комментарий только автору |
Удалить всех подписчиков (RemoveAllSubscribers, ID 57)¶
Удаляет всех подписчиков в задаче
| Параметр | Тип | Описание |
|---|---|---|
| Кто удаляет* | 1F.User |
От чьего имени |
| Задача* | 1F.Task |
Задача |
| Не писать комментарий | Boolean |
Комментарий только автору |
Удалить исполнителя (RemovePerformer, ID 14)¶
Удаляет исполнителя в задаче
| Параметр | Тип | Описание |
|---|---|---|
| Задача* | 1F.Task |
Задача |
| Кто удаляет* | 1F.User |
От чьего имени |
| Кого удаляют* | 1F.User |
Удаляемый исполнитель |
| Причина | String |
Причина удаления |
| Не слать письмо* | Boolean |
Не отправлять email |
| Писать "тихий" комментарий (без адресата) | Boolean |
Тихий комментарий |
| Не писать комментарий | Boolean |
Комментарий только автору |
Удалить подписчика (RemoveSubscriber, ID 19)¶
Удаляет подписчика в задаче
| Параметр | Тип | Описание |
|---|---|---|
| Задача* | 1F.Task |
Задача |
| Кто удаляет* | 1F.User |
От чьего имени |
| Кого удаляют* | 1F.User |
Удаляемый подписчик |
| Причина | String |
Причина удаления |
| Не писать комментарий* | Boolean |
Комментарий только автору |
Оргструктура, группы, пользователи¶
Создать пользователя (CreateUser)¶
Создает нового пользователя в системе (возвращает Integer — UserID)
| Параметр | Тип | Описание |
|---|---|---|
| ID орг. единицы* | Integer |
Подразделение оргструктуры |
String |
Email (обязательность зависит от настроек) | |
| Внешний email | String |
Внешний email (обязательность зависит от настроек) |
| Логин* | String |
Логин пользователя |
| Фамилия* | String |
Фамилия |
| Имя | String |
Имя |
| Отчество | String |
Отчество |
| Дата рождения | DateTime |
Дата рождения (обязательность зависит от настроек) |
| Отображаемое имя* | String |
Отображаемое имя |
| В компании с | DateTime |
Дата приёма на работу |
| Пол | Boolean |
True = мужской, False = женский |
| Язык* | 1F.Language |
Язык интерфейса |
| Сменить пароль при входе* | Boolean |
Потребовать смену пароля |
| Не присылать почтовые сообщения* | Boolean |
Отключить email-уведомления |
| Пароль | String |
Пароль (если не указан — генерируется) |
| SID | String |
SID из Active Directory |
| Может редактировать блок Рабочее* | Boolean |
Право редактирования |
| Может редактировать блок География* | Boolean |
Право редактирования |
| Может редактировать блок Контакты* | Boolean |
Право редактирования |
| Может редактировать блок Личное* | Boolean |
Право редактирования |
| Сотрудник компании* | Boolean |
Признак сотрудника |
| Синхронизировать календарь с Exchange* | Boolean |
Синхронизация |
| Автоматически прочитывать комментарии при завершении задачи* | Boolean |
Автопрочитка |
| Лицензии | Collection<Module> |
Лицензионные модули |
| Рабочий телефон | String |
Телефон |
| Мобильный | String |
Мобильный |
| Страна | String |
Страна |
| Город | String |
Город |
| Часовой пояс | 1F.TimeZone |
Часовой пояс |
| Домен пользователя | String |
Домен AD |
| Не отправлять смс | Boolean |
Отключить SMS |
| От чьего имени совершается действие | 1F.User |
Сессионный пользователь |
| Фамилия (локализованная) | String |
Локализованная фамилия для выбранного языка |
| Имя (локализованное) | String |
Локализованное имя |
| Отчество (локализованное) | String |
Локализованное отчество |
| Язык локализации | 1F.Language |
Язык локализованного ФИО; если не указан — международный |
⚠️ ФИО записываются как локализованное значение для языка пользователя. Чтобы задать ФИО на дополнительном языке, заполните параметры «Фамилия (локализованная)», «Имя (локализованное)», «Отчество (локализованное)» и «Язык локализации»; если язык не указан — используется международный.
⚠️ Значение параметра «Пароль» хранится в зашифрованном виде и не показывается при повторном открытии действия в редакторе пакета — поле работает только на запись. Если оставить его пустым при сохранении, ранее сохранённое значение не меняется; чтобы задать другой пароль, введите его заново. Чтобы удалить ранее сохранённый пароль, очистите поле действием очистки секретного значения в редакторе — пустое поле само по себе значение не удаляет. Редактор показывает, что значение задано, но не показывает его.
Обновить пользователя (UpdateUser, ID 104)¶
Обновляет данные существующего пользователя
| Параметр | Тип | Описание |
|---|---|---|
| Кто обновляет* | 1F.User |
От чьего имени |
| Пользователь* | 1F.User |
Обновляемый пользователь |
String |
||
| Внешний email | String |
Внешний email |
| Логин | String |
Логин |
| Фамилия | String |
Фамилия |
| Имя | String |
Имя |
| Отчество | String |
Отчество |
| Дата рождения | DateTime |
Дата рождения |
| Отображаемое имя | String |
Отображаемое имя |
| В компании с | DateTime |
Дата приёма |
| Пол | Boolean |
True = мужской, False = женский |
| Язык | 1F.Language |
Язык интерфейса |
| Сменить пароль при входе | Boolean |
Потребовать смену пароля |
| Не присылать почтовые сообщения | Boolean |
Отключить email |
| Пароль | String |
Новый пароль |
| SID | String |
SID из AD |
| Может редактировать блок Рабочее | Boolean |
Право редактирования |
| Может редактировать блок География | Boolean |
Право редактирования |
| Может редактировать блок Контакты | Boolean |
Право редактирования |
| Может редактировать блок Личное | Boolean |
Право редактирования |
| Сотрудник компании | Boolean |
Признак сотрудника |
| Синхронизировать календарь с Exchange | Boolean |
Синхронизация |
| Автоматически прочитывать комментарии при завершении задачи | Boolean |
Автопрочитка |
| Лицензии | Collection<Module> |
Лицензионные модули |
| Рабочий телефон | String |
Телефон |
| Мобильный | String |
Мобильный |
| Страна | String |
Страна |
| Город | String |
Город |
| Часовой пояс | 1F.TimeZone |
Часовой пояс |
| Домен пользователя | String |
Домен AD |
| Не отправлять смс | Boolean |
Отключить SMS |
| Фамилия (локализованная) | String |
Локализованная фамилия для выбранного языка |
| Имя (локализованное) | String |
Локализованное имя |
| Отчество (локализованное) | String |
Локализованное отчество |
| Язык локализации | 1F.Language |
Язык локализованного ФИО; если не указан — международный |
⚠️ Все параметры (кроме «Кто обновляет» и «Пользователь») необязательные — обновляются только заполненные поля. Локализованное ФИО можно задать на выбранном языке параметрами «Фамилия (локализованная)», «Имя (локализованное)», «Отчество (локализованное)» и «Язык локализации»; если язык не указан — используется международный.
⚠️ Защищённые параметры — только для администратора платформы. Параметры «Пароль», «SID», «Может редактировать блок Рабочее», «Может редактировать блок География», «Может редактировать блок Контакты», «Может редактировать блок Личное», «Сотрудник компании», «Лицензии» и «Домен пользователя» применяются, только если действие выполняется от имени администратора платформы (параметр «Кто обновляет»). Если задан хотя бы один из них, а исполнитель не администратор платформы, действие завершается ошибкой и учётная запись не изменяется. Параметр «Сменить пароль при входе» в перечень защищённых не входит.
Оговорка о надёжности: проверка привязана к значению параметра «Кто обновляет», а не к текущему пользователю сессии, поэтому надёжность контроля этим ограничена.
⚠️ Значение параметра «Пароль» хранится в зашифрованном виде и не показывается при повторном открытии действия в редакторе пакета — поле работает только на запись. Если оставить его пустым при сохранении, пароль пользователя не меняется; чтобы задать новый, введите его заново. Чтобы удалить ранее сохранённый пароль, очистите поле действием очистки секретного значения в редакторе — пустое поле само по себе значение не удаляет. Редактор показывает, что значение задано, но не показывает его.
Уволить пользователя (FireUser, ID 34)¶
Увольняет пользователя (устанавливает признак IsFired)
Восстановить пользователя (UnfireUser, ID 101)¶
Восстанавливает уволенного пользователя
Синхронизировать пользователя с AD (SyncUserWithAD, ID 105)¶
Выполняет синхронизацию данных отдельного пользователя с каталогом Active Directory или OpenLDAP.
Профиль синхронизации выбирается по данным пользователя. Для учётной записи Active Directory профиль ищется по контроллеру домена, совпадение проверяется по вхождению строки. Для учётной записи OpenLDAP профиль ищется по точному имени службы каталога из поля «Домен пользователя», а если имя не заполнено — берётся единственный активный профиль OpenLDAP; если таких профилей несколько, действие завершается ошибкой. Точное имя службы OpenLDAP проверяется раньше поиска по контроллеру домена, поэтому учётная запись каталога OpenLDAP не привязывается к профилю Active Directory по случайному совпадению подстроки.
| Параметр | Тип | Описание |
|---|---|---|
| Пользователь* | 1F.User |
Синхронизируемый пользователь |
| Синхронизация | SynchronizationProfileADDto |
Профиль синхронизации. Переданный профиль OpenLDAP используется как есть, иначе профиль ищется по данным пользователя |
Добавить модуль пользователю (AddModuleToUser, ID 102)¶
Добавляет лицензионный модуль пользователю
⚠️ Выдавать лицензионный модуль этим действием можно только от имени администратора платформы (параметр «Выдающий»). Проверка привязана к значению этого параметра, а не к текущему пользователю сессии, поэтому надёжность контроля ограничена. То же ограничение — у действия «Удалить модуль у пользователя».
| Параметр | Тип | Описание |
|---|---|---|
| Выдающий* | 1F.User |
От чьего имени |
| Для пользователя* | Collection<1F.User> |
Кому выдать модуль |
| Модуль* | Module |
Лицензионный модуль |
Удалить модуль у пользователя (DeleteModuleFromUser, ID 103)¶
Удаляет лицензионный модуль у пользователя
⚠️ Отзывать лицензионный модуль этим действием можно только от имени администратора платформы (параметр «Удаляющий»). Проверка привязана к значению этого параметра, а не к текущему пользователю сессии, поэтому надёжность контроля ограничена. То же ограничение — у действия «Добавить модуль пользователю».
| Параметр | Тип | Описание |
|---|---|---|
| Удаляющий* | 1F.User |
От чьего имени |
| Для пользователя* | Collection<1F.User> |
У кого удалить модуль |
| Модуль* | Module |
Лицензионный модуль |
Добавить пользователя в орг. единицу (AddUserToOrgUnit, ID 64)¶
Добавляет пользователя в подразделение оргструктуры
| Параметр | Тип | Описание |
|---|---|---|
| Пользователь* | 1F.User |
Добавляемый пользователь |
| Добавляющий* | 1F.User |
От чьего имени |
| Орг. единица* | 1F.OrgUnit |
Подразделение оргструктуры |
| Установить орг. единицу в качестве основной | Boolean |
Сделать подразделение основным |
⚠️ Действие сбрасывает кэш оргединиц добавленного пользователя: новая орг. единица сразу попадает в его оргединицы и в списки, которые из них строятся, — в том числе когда действие запущено от имени другого пользователя. Параметр «Добавляющий» задаёт только автора записи в журнале оргструктуры: состав его собственных оргединиц не меняется.
Удалить пользователя из орг. единицы (RemoveUserFromOrgUnit, ID 100)¶
Удаляет пользователя из подразделения оргструктуры
| Параметр | Тип | Описание |
|---|---|---|
| Удаляемые пользователи* | Collection<1F.User> |
Кого удалить |
| Орг. единицы* | Collection<1F.OrgUnit> |
Из каких подразделений |
| Пользователь* | 1F.User |
От чьего имени |
⚠️ Действие сбрасывает кэш оргединиц удаляемых пользователей: состав их оргединиц обновляется сразу.
Задать значение поля пользовательского инфо (SetUserInfoExtValue, ID 58)¶
Устанавливает значение расширенного поля профиля пользователя
| Параметр | Тип | Описание |
|---|---|---|
| От чьего имени совершается действие* | 1F.User |
Инициатор |
| Для кого будет проводиться обновление* | 1F.User |
Пользователь-цель |
| Обновляемое свойство (имя ключа)* | String |
Имя расширенного поля |
| Новое значение* | String |
Устанавливаемое значение |
Добавить пользователей в группы (AddUsersToGroups, ID 71)¶
Массовое добавление набора пользователей в один или несколько групп.
| Параметр | Тип | Описание |
|---|---|---|
| Пользователи* | Collection<1F.User> |
Список пользователей |
| Группы* | Collection<1F.UserGroup> |
Список групп |
| От чьего имени* | 1F.User |
Пользователь-инициатор |
Удалить пользователей из групп (RemoveUsersFromGroups, ID 72)¶
Массовое удаление пользователей из групп. Параметры — те же, что у AddUsersToGroups.
Вложить группы в группы (AddGroupsToGroups, ID 215)¶
Устанавливает связь parent-child между группами оргструктуры. Для каждой пары проверяются права CanAdminManageGroup, отсутствие дубля и отсутствие циклической зависимости; участники дочерней группы становятся участниками родительской.
| Параметр | Тип | Описание |
|---|---|---|
| Вкладываемые группы* | Collection<1F.UserGroup> |
Группы, которые становятся дочерними |
| Родительские группы* | Collection<1F.UserGroup> |
Группы, в которые вкладываются дочерние |
| От чьего имени совершается действие | 1F.User |
Сессионный пользователь (опционально) |
Создать группу (CreateGroup, ID 211)¶
Создаёт группу пользователей, возвращает ID созданной группы (int).
| Параметр | Тип | Описание |
|---|---|---|
| Имя группы* | String |
Название группы |
| Тип группы* | 1F.GroupType |
Тип группы |
Создать орг. единицу (CreateOrgUnit, ID 180)¶
Создаёт новое подразделение в оргструктуре.
| Параметр | Тип | Описание |
|---|---|---|
| Название* | String |
Название орг. единицы |
| Родительская единица | 1F.OrgUnit |
Родитель в иерархии (если не указано — корень) |
| Описание | String |
Описание |
Обновить орг. единицу (UpdateOrgUnit, ID 181)¶
Обновляет атрибуты существующего подразделения. Все поля кроме «Орг. единица» опциональны — обновляются только заполненные.
| Параметр | Тип | Описание |
|---|---|---|
| Орг. единица* | 1F.OrgUnit |
Целевое подразделение |
| Новое название | String |
— |
| Новый родитель | 1F.OrgUnit |
Перенос в другую ветвь |
| Описание | String |
— |
Удалить орг. единицу (DeleteOrgUnit, ID 182)¶
Удаляет подразделение. Удаление с не-пустыми пользователями / дочерними подразделениями зависит от стратегии — обычно требует предварительного переноса.
| Параметр | Тип | Описание |
|---|---|---|
| Орг. единица* | 1F.OrgUnit |
Удаляемое подразделение |