Задачи в бизнес-процессах

23.12.2021
Задачи в БП

В этой статье рассмотрим работу с задачами в бизнес-процессах. На что стоит обратить внимание, как произвести нестандартные действия и т.д.

Содержание

Создание задачи из бизнес-процесса

Задача в бизнес-процессе создается одноименным действием. На какие же параметры стоит обратить внимание?

  • Остановить процесс на время выполнения задачи — Да/Нет. Если установить значение Да, то процесс не пойдет дальше пока задача не будет закрыта. Когда она закроется процесс «запомнит» дату завершения и пользователя, закрывшего задачу, и начнет выполнять следующие действия. При установке значения Нет процесс не станет дожидаться закрытия задачи, а сразу приступит к выполнению последующих действий. Важно отметить, что при таком развитии событий, в процессе не останется информации о завершении задачи.

Если вам нужно поменять стадию сделки по завершению задачи, то выставьте в создаваемой задаче параметр Остановить процесс на время выполнения задачи, а после установите действие по смене статуса.

Задача
  • Разрешить ответственному менять крайний срок — Да/Нет. Если в бизнес-процессе сроки имеют значение, то стоит ограничить Ответственного в варьировании дат;
  • Включить учет времени по задаче — Да/Нет. Если ваша компания пользуется учетом рабочего времени, то установите Да, в ином случае лучше поставить Нет, дабы не запутать сотрудников лишними кнопками.
  • Проконтролировать задачу после завершения — Да/Нет. При установке Да когда Ответственный завершит задачу, она не закроется, пока Постановщик не примет ее. Загвоздка в том, что в сделке такая задача «на контроле» выглядит как завершенная и сотрудники могут не понимать почему процесс не движется дальше. А процесс ждет пока задача будет полностью завершена, если стоит параметр Остановить процесс на время выполнения задачи.
  • Привязать к текущей сущности CRM — Да/Нет. Этот параметр нужен, если вы хотите видеть эту задачу в сделке или другой сущности, из которой создаете задачу;
  • Элементы CRM — здесь можно указать конкретные сущности, а также элементы из текущего бизнес-процесса.
    • Лид «L_»&{{ID}}
    • Контакт  «C_»&{{ID}}
    • Сделка «D_»&{{ID}}
    • Компания «CO_»&{{ID}}

Пример добавления Компании к Задаче: = «CO_»&{{Компания}}

 

  • Чек-лист — с помощью этого пункта можно добавить чек-лист в задачу, для добавления дополнительного пункта нажмите кнопку Добавить.
Задача 3

Проверка статуса задачи

Проверить статус задачи можно с помощью дополнительных результатов.

Действие Задача вернет данные по пользователю, завершившему задачу, и по дате завершения только в том случае, если в настройках действия Задача у Вас активен параметр Остановить процесс на время выполнения задачи

Дополнительные результаты

В противном случае процесс уходит дальше и не ждет никакой информации от такой задачи, а это означает, что с помощью дополнительных результатов нам не узнать закрыта она или нет. 

В коробочной версии мы можем воспользоваться действием PHP код.

				
					$rootActivity = $this->GetRootActivity();
\CModule::IncludeModule('tasks'); 
$taskId = intval({=A29483_97156_51749_92339:TaskId}); 
if ($taskId > 0)
{
 $obTask = new \Bitrix\Tasks\Item\Task($taskId, 66);
 $taskInfo = $obTask->getData();
}
else
{
 $taskInfo['STATUS'] = 'error';
}
$rootActivity->SetVariable('TaskStatus', $taskInfo['STATUS']);
				
			
  • {=A29483_97156_51749_92339: TaskId} — ID задачи, взятой из дополнительных результатов после создания задачи в бизнес-процессе;
  • TaskStatus — переменная типа строка, заранее созданная в бизнес-процессе; 
  • [STATUS] — поле статус в задаче (можно получать и другие поля);
    • TITLE — название задачи;
    • DATE_START — дата старта;
    • DEADLINE — крайний срок;
    • PRIORITY — приоритет;
    • MARK — оценка;
    • CREATED_BY — постановщик; 
    • RESPONSIBLE_ID — ответственный; 
    • GROUP_ID — рабочая группа.

В результате в переменную TaskStatus запишется цифра, обозначающая один из возможных статусов:

 

  • Ждет выполнения = 2;
  • В работе = 3;
  • Ждет контроля = 4;
  • Завершена = 5;
  • Отложена = 6;

 

Далее с помощью конструкции Условие мы можем проверить закрыта задача или нет, а именно равен ли статус 5.

Статус задачи

Закрытие задачи

Закрыть Задачу также не получится стандартными средствами, поэтому опять же воспользуемся действием PHP код.

				
					$rootActivity = $this->GetRootActivity();
\CModule::IncludeModule('tasks');  // подключаем модуль задач 
$taskId = intval({=A29483_97156_51749_92339:TaskId}); // Ид нашей задачи
$userId = substr('{{Ответственный}}', 5); // $id юзера, от которого закрываем
if ($taskId > 0)
{
 $oTaskItem = CTaskItem::getInstance($taskId, $userId);
 $oTaskItem->complete(); // закрываем задачу
}
else
{
 $taskInfo['STATUS'] = 'error';
}
$rootActivity->SetVariable('TaskStatus', $taskInfo['STATUS']);
				
			
  • {=A29483_97156_51749_92339: TaskId} — ID задачи, взятой из дополнительных результатов после создания задачи в бизнес-процессе;
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x