Автоматическое завершение задачи
Добрый день!
Необходимо настроить автоматическое завершение задачи при определенных условиях.
Вижу, что для кнопки "Завершить задачу" используется JS-модуль "actions/workflow/FinishTask", можно ли как-то алгоритмически его вызвать? Или, возможно, можно настроить такое завершение в настройках этапа?
Войдите или Зарегистрируйтесь чтобы комментировать.
Комментарии
Добрый день!
Алгоритмически можно решить этот кейс функцией:
executeTask
- функция для завершения задачи через алгоритм.Синтаксис:
executeTask(task_id, [decide_code], [auto_close=true], [close_emp_id], [comment])
Параметры:
task_id (обязательный)
- ID задачиdecide_code (необязательный)
- ID соответствующего переходаauto_close (необязательный, по умолчанию true)
- флаг автоматического завершенияclose_emp_id (необязательный)
- ID сотрудника-инициатора завершенияcomment (необязательный)
- комментарий пользователяОписание функции:
Завершает задачу с указанным
task_id
Если
auto_close=true
, проставляет флаг "Завершена технически без выполнения"Если передан
close_emp_id
, заполняет атрибут "Сотрудник, вследствие действий которого задача была завершена автоматически"Если передан
comment
, добавляет комментарий к задачеПосле успешного выполнения помечает задачу как выполненную
Функция проверяет права текущего пользователя, или close_emp_id если не null, на возможность завершения задачи
Пример использования:

Также эту функцию можно:
Спасибо!
@sergeev_if


Повесила эту функцию на "Алгоритм после формирования задачи".
Делала вот так:
Задача завершилась! Но по нужному переходу не ушла)
Зависла как завершенная. Процесс тоже завис:
@ValeriyaTuritsyna Добрый день!
Проверьте соответствие перехода в алгоритме и в бизнес-процессе:
Идентификатор
перехода.Скриншоты:

Добрый день!
Да, конечно, я всегда сверяю переходы по идентификаторам.
Видимо проблема именно в том, что вешаю эту функцию на "Алгоритм после формирования задачи". Возможно, там происходит какое-то зацикливание при ее завершении или еще что-то...
Пришлось реализовать параллельно с задачей - СД автозавершения, в котором вызываю алгоритм с функцией, и повесить таймер на 5 сек перед СД.
В этом случае задача завершается и идет дальше.
Добрый день! Для завершения задачи используется функция
executeTask
, применяемая к той же задаче, в рамках которой выполняется алгоритм. Подобный сценарий использования не предполагался.Обходное решение сделать это через дополнительную СД.