• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/restservice.php
  • Класс: BitrixBizprocRestService
  • Вызов: RestService::completeTask
static function completeTask($params, $n, $server)
{
	$params = array_change_key_case($params, CASE_UPPER);
	self::validateTaskParameters($params);

	$userId = self::getCurrentUserId();
	$task = static::getTask($params['TASK_ID'], $userId);

	if (!in_array($task['ACTIVITY'], self::ALLOWED_TASK_ACTIVITIES))
	{
		throw new RestException('Incorrect task type', self::ERROR_TASK_TYPE);
	}

	if (!empty($params['FIELDS']))
	{
		$params['FIELDS'] = self::internalizeRequestFields($task, $params['FIELDS']);
	}

	$errors = array();
	$request = array(
		'INLINE_USER_STATUS' => CBPTaskUserStatus::resolveStatus($params['STATUS']),
		'task_comment' => !empty($params['COMMENT']) && is_string($params['COMMENT']) ? $params['COMMENT'] : null,
		'fields' => $params['FIELDS'] ?? null,
	);

	if (!CBPDocument::postTaskForm($task, $userId, $request, $errors))
	{
		throw new RestException($errors[0]["message"], self::ERROR_TASK_EXECUTION);
	}

	return true;
}