• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/automation/tracker.php
  • Класс: BitrixBizprocAutomationTracker
  • Вызов: Tracker::getBizprocTrackingEntries
private function getBizprocTrackingEntries($statuses)
{
	$entries = [];

	$states = $this->getStatusesStates($statuses);

	if ($states)
	{
		$trackIterator = CBPTrackingService::GetList(
			['ID' => 'ASC'],
			['@WORKFLOW_ID' => array_keys($states)]
		);

		$workflowStatuses = [];

		while ($row = $trackIterator->fetch())
		{
			if (!array_key_exists($row['WORKFLOW_ID'], $workflowStatuses))
			{
				$hasInstance = $row['WORKFLOW_ID'] && WorkflowInstanceTable::exists($row['WORKFLOW_ID']);
				$workflowStatus = $hasInstance ? CBPWorkflowStatus::Running : CBPWorkflowStatus::Completed;

				$workflowStatuses[$row['WORKFLOW_ID']] = $workflowStatus;
			}

			$status = $states[$row['WORKFLOW_ID']];
			$row['WORKFLOW_STATUS'] = $workflowStatuses[$row['WORKFLOW_ID']];
			$entries[$status][] = $row;
		}
	}

	return $entries;
}