• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/crm/timeline/taskrepository.php
  • Класс: BitrixTasksIntegrationCRMTimelineTaskRepository
  • Вызов: TaskRepository::getTask
public function getTask(): ?TaskObject
{
	if ($this->task)
	{
		return $this->task;
	}

	$select = [
		'ID',
		'TITLE',
		'DESCRIPTION',
		'UF_CRM_TASK',
		'STATUS',
		'SCENARIO',
		'DEADLINE',
		'RESPONSIBLE_ID',
		'CREATED_BY',
		'UF_TASK_WEBDAV_FILES',
		'GROUP_ID',
		'START_DATE_PLAN',
		'END_DATE_PLAN',
		'PRIORITY',
	];

	$query = (new TaskQuery($this->userId))
		->setBehalfUser($this->userId)
		->setSelect($select)
		->setWhere([
			'=ID' => $this->taskId,
		])
		->skipAccessCheck()
		->setLimit(1);

	$list = new TaskList();
	$tasks = $list->getList($query);
	$task = $tasks[0] ?? null;
	if (!is_null($task))
	{
		$this->task = new TaskObject($task);
		$this->task->fillMemberList();
	}
	else
	{
		$this->task = null;
	}

	return $this->task;
}