• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/service/sprintservice.php
  • Класс: BitrixTasksScrumServiceSprintService
  • Вызов: SprintService::getSprintData
public function getSprintData(EntityForm $sprint): array
{
	$info = $sprint->getInfo();

	$timeHelper = new TimeHelper($sprint->getCreatedBy());

	$dateStartTs = $sprint->getDateStart()->getTimestamp() + $timeHelper->getCurrentOffsetUTC();
	$dateEndTs = $sprint->getDateEnd()->getTimestamp() + $timeHelper->getCurrentOffsetUTC();

	$averageNumberStoryPoints = 0;
	if ($sprint->isPlannedSprint())
	{
		$storyPoints = new StoryPoints();

		$averageNumberStoryPoints = $storyPoints
			->calculateAverageNumberCompletedStoryPoints($sprint->getGroupId())
		;
	}

	return [
		'id' => $sprint->getId(),
		'tmpId' => $sprint->getTmpId(),
		'name' => $sprint->getName(),
		'sort' => $sprint->getSort(),
		'dateStartFormatted' => ConvertTimeStamp($dateStartTs),
		'dateEndFormatted' => ConvertTimeStamp($dateEndTs),
		'dateStart' => $dateStartTs,
		'dateEnd' => $dateEndTs,
		'weekendDaysTime' => $this->getWeekendDaysTime($sprint),
		'storyPoints' => '',
		'completedStoryPoints' => '',
		'uncompletedStoryPoints' => '',
		'completedTasks' => 0,
		'uncompletedTasks' => 0,
		'status' => $sprint->getStatus(),
		'numberTasks' => 0,
		'averageNumberStoryPoints' => $averageNumberStoryPoints,
		'items' => [],
		'views' => [],
		'info' => $info->getInfoData(),
		'isExactSearchApplied' => 'N',
		'allowedActions' => [
			'start' => $this->canStartSprint($this->userId, $sprint->getGroupId()),
			'complete' => $this->canCompleteSprint($this->userId, $sprint->getGroupId()),
		],
		'isShownContent' => (
			($sprint->isShownContent($this->userId) && !$sprint->isCompletedSprint())
				? 'Y'
				: 'N'
		),
	];
}