• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/restservice.php
  • Класс: BitrixBizprocRestService
  • Вызов: RestService::getWorkflowInstances

Метод getWorkflowInstances предоставляет возможность получить список экземпляров запущенных бизнес-процессов в системе Bitrix24 через REST API. Он возвращает данные о текущих или завершённых запусках бизнес-процессов, включая дату запуска, модификации, идентификаторы документов и шаблонов, а также пользователя, запустившего процесс.

static function getWorkflowInstances($params, $n, $server)
{
	self::checkAdminPermissions();
	$params = array_change_key_case($params, CASE_UPPER);

	$fields = array(
		'ID' => 'ID',
		'MODIFIED' => 'MODIFIED',
		'OWNED_UNTIL' => 'OWNED_UNTIL',
		'MODULE_ID' => 'MODULE_ID',
		'ENTITY' => 'ENTITY',
		'DOCUMENT_ID' => 'DOCUMENT_ID',
		'STARTED' => 'STARTED',
		'STARTED_BY' => 'STARTED_BY',
		'TEMPLATE_ID' => 'WORKFLOW_TEMPLATE_ID',
	);

	$select = static::getSelect($params['SELECT'], $fields, array('ID', 'MODIFIED', 'OWNED_UNTIL'));
	$filter = static::getFilter($params['FILTER'], $fields, array('MODIFIED', 'OWNED_UNTIL'));
	$order = static::getOrder($params['ORDER'], $fields, array('MODIFIED' => 'DESC'));

	$iterator = WorkflowInstanceTable::getList(array(
		'select' => $select,
		'filter' => $filter,
		'order' => $order,
		'limit' => static::LIST_LIMIT,
		'offset' => (int) $n,
		'count_total' => true,
	));

	$result = array();
	while ($row = $iterator->fetch())
	{
		if (isset($row['MODIFIED']))
			$row['MODIFIED'] = CRestUtil::convertDateTime($row['MODIFIED']);
		if (isset($row['STARTED']))
			$row['STARTED'] = CRestUtil::convertDateTime($row['STARTED']);
		if (isset($row['OWNED_UNTIL']))
			$row['OWNED_UNTIL'] = CRestUtil::convertDateTime($row['OWNED_UNTIL']);
		$result[] = $row;
	}

	return static::setNavData($result, ['count' => $iterator->getCount(), 'offset' => $n]);
}