166  /  175

Выполнение "задания" бизнес-процесса, используя API

Просмотров: 3670 (Статистика ведётся с 06.02.2017)

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

Для таких действий существует возможность выполнять задания вместо пользователя через АПИ, для этого необходимо отправить внешнее событие рабочему потоку следующим образом:

CBPDocument::SendExternalEvent($workflowId, $activityName, $arEventParameters);

где:

  • $workflowId - идентификатор экземпляра бизнес-процесса;
  • $activityName - название действия, ожидающего внешнего события;
  • $arEventParameters - массив параметров, необходимых для конкретного действия.

    Примечание: Для разных действий параметры различаются.
    Подробнее про принимаемые параметры конкретного действия можно посмотреть в его исходном коде, метод CBPWorkflow::OnExternalEvent.


Пример для действия "Утверждение документа":

CBPDocument::SendExternalEvent("5046fe0fbf1888.64722245","Approve1" ,array("USER_ID"=>1,"APPROVE"=>true));

где:

  • "5046fe0fbf1888.64722245" - идентификатор экземпляра бизнес-процесса;
  • "Approve1" - название действия согласования;
  • "USER_ID"=>1 - идентификатор согласующего пользователя;
  • "APPROVE"=>true - результат согласования (в случае отклонения - false).

12
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии