- Модуль: 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;
}