Задать вопрос
  • Как в бп получить текущего исполнителя задания бизнес-процесса, если оно было делегировано?

    @starvvind Автор вопроса
    Вопрос решился. Если кому интересно, параллельно с заданием ставим цикл, который будет раз в N минут запускать активити "PHP код", внутрь которого вставляем следующее:

    $rootActivity = $this->GetRootActivity();
    
    \CModule::IncludeModule('bizproc');
    
    $taskId = {=A62_95001_86084_86022:TaskId}; // укажи id задания бизнес-процесса
    
    $dbTask = \CBPTaskService::GetList(
        array(),
        array('ID' => $taskId),
        false,
        false,
        array('ID', 'USER_ID')
    );
    
    $arTask = $dbTask->Fetch();
    
    $this->SetVariable("user_id", $arTask['USER_ID']); // Записываем ID текущего исполнителя в переменную бизнес-процесса user_id. Можно заменить на любую подходящую переменную

    На выходе получим ID исполнителя, которое будет записано в указанную переменную бизнес-процесса. Если полученный ID не равен ID исполнителя в задании, задание делегировано.
    Как будет работать в случае, когда в задании несколько исполнителей, не проверял.
    Ответ написан
    Комментировать