Документация для разработчиков

AddStatusChangeHandler

void
CBPActivity::AddStatusChangeHandler(
 int event,
 IBPActivityEventListener eventHandler
);

Метод добавляет новый обработчик события изменения статуса действия.

Параметры метода

ПараметрОписание
eventОдна из констант CBPActivity::ExecutingEvent, CBPActivity::ClosedEvent, CBPActivity::FaultingEvent, определяющая, на какое изменение статуса будет вызываться обработчик.
eventHandlerОбработчик события, который реализует интерфейс IBPActivityEventListener.

См. также

Примеры использования

<?
class CBPMyActivity
extends CBPCompositeActivity // наследуем, так как составное действие
implements IBPEventActivity // обработка события завершения дочернего действия
{
// Исполняемый метод действия
public function Execute()
{
// Возьмем первое дочернее действие
$activity = $this->arActivities[0];
// Подпишемся на событие изменения статуса дочернего действия (завершение)
$activity->AddStatusChangeHandler(self::ClosedEvent, $this);
// Отправим дочернее действие исполняющей среде на выполнение
$this->workflow->ExecuteActivity($activity);

// Вернем указание исполняющей среде, что действие еще выполняется
return CBPActivityExecutionStatus::Executing;
}

// Обработчик события изменения статуса интерфейса IBPEventActivity
// Параметром передается действие, изменившее статус
protected function OnEvent(CBPActivity $sender)
{
// Отпишемся от события изменения статуса дочернего действия (завершения)
$sender->RemoveStatusChangeHandler(self::ClosedEvent, $this);
// Дочернее действие завершено, выполняем другой необходимый нам код
// Например завершаем действие
$this->workflow->CloseActivity($this);
}
}
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх