- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/service/taskservice.php
- Класс: BitrixTasksScrumServiceTaskService
- Вызов: TaskService::getItemsData
public function getItemsData(array $taskIds): array
{
if (empty($taskIds))
{
return [];
}
$itemsData = [];
$tasksInfo = $this->getTasksInfo($taskIds);
$groupId = 0;
$parentIdsToCheck = [];
foreach ($tasksInfo as $taskId => $taskInfo)
{
$groupId = (int) $taskInfo['GROUP_ID'];
$attachedFilesCount = (
is_array($taskInfo['UF_TASK_WEBDAV_FILES'] ?? null)
? count($taskInfo['UF_TASK_WEBDAV_FILES'])
: 0
);
$itemsData[$taskId] = [
'name' => $taskInfo['TITLE'],
'groupId' => $groupId,
'responsibleId' => ($taskInfo['RESPONSIBLE_ID'] ?? 0),
'completed' => ((int)$taskInfo['STATUS'] === Status::COMPLETED) ? 'Y' : 'N',
'attachedFilesCount' => $attachedFilesCount,
'isImportant' => ((int)$taskInfo['PRIORITY'] === Priority::HIGH) ? 'Y' : 'N',
];
$parentId = (int) $taskInfo['PARENT_ID'];
if ($parentId)
{
$parentIdsToCheck[$taskId] = $parentId;
}
else
{
$itemsData[$taskId]['parentTaskId'] = 0;
$itemsData[$taskId]['isSubTask'] = 'N';
}
}
$actualParentIds = $this->getActualParentIds($parentIdsToCheck, $groupId);
foreach ($actualParentIds as $taskId => $parentId)
{
$itemsData[$taskId]['parentTaskId'] = $parentId;
$itemsData[$taskId]['isSubTask'] = $parentId ? 'Y' : 'N';
}
return $itemsData;
}