Зачастую, когда сотрудник в отпуске, на больничном, в командировке или отсутствует по каким-либо другим причинам, его временно заменяет другой сотрудник.
Необходимо, чтобы информация о замещении появилась в системе и была видна другим пользователям, а задачи отсутствующего сотрудника приходили на замещающего.
О том, как работают замещения в ELMA365 и как создать замещение вручную, можно узнать в соответствующей статье справки по системе.
В этой статье мы расскажем, как создать замещение автоматически с помощью сценария.
Рассмотрим кейс с замещением сотрудника, отправляющегося в командировку.
Замещение будет создаваться в бизнес-процессе,
который запускается при сохранении элемента приложения «Командировка».
При создании нового замещения необходимо обязательно указать сотрудника, который отправляется в командировку, и сотрудника, который его замещает, а также даты командировки.
При сохранении карточки командировки запускается бизнес-процесс, в котором находится сценарий, добавляющий новое замещение.
В бизнес-процесс обработки командировки необходимо добавить блок Сценарий и написать код, представленный ниже.
В сценарии важно заполнить все атрибуты замещения: «Тип», «Отсутствующий», «Замещающий», «Дата начала» и «Дата окончания».
После заполнения атрибутов необходимо обязательно сохранить новое замещение.
asyncfunctioncreateReplacement(): Promise<void> {
/* Получим элемент приложения «Командировка»,
данные из которого будут использоваться при создании замещения. */const trip = await Context.data.trip.fetch();
// Создаем элемент замещенияconst newReplacement = System.replacements.create();
/* Указываем тип замещения: «Информирование» (information),
«Переназначение задач» (reassign) или «Полная передача прав» (full) */
newReplacement.data.type = newReplacement.fields.type.variants.information;
// Указываем отсутствующего — в нашем случае это пользователь, который отправляется в командировку
newReplacement.data.absent = trip.data.traveller;
// Указываем замещающего
newReplacement.data.replacement = trip.data.replacer;
// Указываем дату начала и окончания из контекста — даты командировки
newReplacement.data.begin = trip.data.trip_start_date;
newReplacement.data.end = trip.data.trip_end_date;
// Сохраняем элемент замещенияawait newReplacement.save()
}
Как создать замещение пользователя
Зачастую, когда сотрудник в отпуске, на больничном, в командировке или отсутствует по каким-либо другим причинам, его временно заменяет другой сотрудник.
Необходимо, чтобы информация о замещении появилась в системе и была видна другим пользователям, а задачи отсутствующего сотрудника приходили на замещающего.
О том, как работают замещения в ELMA365 и как создать замещение вручную, можно узнать в соответствующей статье справки по системе.
В этой статье мы расскажем, как создать замещение автоматически с помощью сценария.
Рассмотрим кейс с замещением сотрудника, отправляющегося в командировку. Замещение будет создаваться в бизнес-процессе, который запускается при сохранении элемента приложения «Командировка».
При создании нового замещения необходимо обязательно указать сотрудника, который отправляется в командировку, и сотрудника, который его замещает, а также даты командировки.
При сохранении карточки командировки запускается бизнес-процесс, в котором находится сценарий, добавляющий новое замещение.
Сценарий
В бизнес-процесс обработки командировки необходимо добавить блок Сценарий и написать код, представленный ниже.
В сценарии важно заполнить все атрибуты замещения: «Тип», «Отсутствующий», «Замещающий», «Дата начала» и «Дата окончания».
После заполнения атрибутов необходимо обязательно сохранить новое замещение.
async function createReplacement(): Promise<void> { /* Получим элемент приложения «Командировка», данные из которого будут использоваться при создании замещения. */ const trip = await Context.data.trip.fetch(); // Создаем элемент замещения const newReplacement = System.replacements.create(); /* Указываем тип замещения: «Информирование» (information), «Переназначение задач» (reassign) или «Полная передача прав» (full) */ newReplacement.data.type = newReplacement.fields.type.variants.information; // Указываем отсутствующего — в нашем случае это пользователь, который отправляется в командировку newReplacement.data.absent = trip.data.traveller; // Указываем замещающего newReplacement.data.replacement = trip.data.replacer; // Указываем дату начала и окончания из контекста — даты командировки newReplacement.data.begin = trip.data.trip_start_date; newReplacement.data.end = trip.data.trip_end_date; // Сохраняем элемент замещения await newReplacement.save() }
Результат
Когда в процессе выполнится указанный выше сценарий, в системе появится новое замещение.