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

В заданиях бизнес-процессов есть возможность делегировать задание. Как можно получить пользователя, которому делегировано задание, находящееся в процессе выполнения?
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
@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 исполнителя в задании, задание делегировано.
Как будет работать в случае, когда в задании несколько исполнителей, не проверял.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы