...Человеческий поиск в разработке...
- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/classes/general/viewhelper.php
- Класс: CBPViewHelper
- Вызов: CBPViewHelper::getWorkflowTasks
static function getWorkflowTasks($workflowId, $withUsers = false, $extendUserInfo = false) { $withUsers = $withUsers ? 1 : 0; $extendUserInfo = $extendUserInfo ? 1 : 0; if (!$workflowId) { return ['COMPLETED' => [], 'RUNNING' => []]; } if (!isset(self::$cachedTasks[$workflowId][$withUsers][$extendUserInfo])) { $tasks = array('COMPLETED' => array(), 'RUNNING' => array()); $ids = array(); $taskIterator = CBPTaskService::GetList( array('MODIFIED' => 'DESC'), array('WORKFLOW_ID' => $workflowId), false, array('nTopCount' => 50), array('ID', 'MODIFIED', 'NAME', 'DESCRIPTION', 'PARAMETERS', 'STATUS', 'IS_INLINE', 'ACTIVITY') ); while ($task = $taskIterator->getNext()) { $key = $task['STATUS'] == CBPTaskStatus::Running ? 'RUNNING' : 'COMPLETED'; $tasks[$key][] = $task; $ids[] = $task['ID']; } if ($withUsers && sizeof($ids)) { $taskUsers = CBPTaskService::getTaskUsers($ids); self::joinUsersToTasks($tasks['COMPLETED'], $taskUsers, $extendUserInfo); $tasks['RUNNING_ALL_USERS'] = self::joinUsersToTasks($tasks['RUNNING'], $taskUsers, $extendUserInfo); } $tasks['COMPLETED_CNT'] = sizeof($tasks['COMPLETED']); $tasks['RUNNING_CNT'] = sizeof($tasks['RUNNING']); self::$cachedTasks[$workflowId][$withUsers][$extendUserInfo] = $tasks; } return self::$cachedTasks[$workflowId][$withUsers][$extendUserInfo]; }