• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/rest/controllers/task.php
  • Класс: BitrixTasksRestControllersTask
  • Вызов: Task::completeAction
public function completeAction(CTaskItem $task, array $params = []): ?array
{
	try
	{
		$taskId = (int)$task->getId();
		$lastResult = ResultManager::getLastResult($taskId);

		if (
			array_key_exists('PLATFORM', $params)
			&& in_array($params['PLATFORM'], ['web', 'mobile'])
			&& ResultManager::requireResult($taskId)
			&& (
				!$lastResult
				|| (int) $lastResult['STATUS'] !== ResultTable::STATUS_OPENED
			)
		)
		{
			$this->errorCollection->add([new Error(GetMessage('TASKS_FAILED_RESULT_REQUIRED'))]);
			return null;
		}

		$task->complete($params);
	}
	catch (TasksException $e)
	{
		$this->errorCollection->add([new Error($e->getMessage())]);
		return null;
	}

	return $this->getAction($task);
}