- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/task.php
- Класс: CTasks
- Вызов: CTasks::Update
public function Update($taskId, $arFields, $arParams = [
'CORRECT_DATE_PLAN_DEPENDENT_TASKS' => true,
'CORRECT_DATE_PLAN' => true,
'THROTTLE_MESSAGES' => false,
])
{
$taskId = (int)$taskId;
if ($taskId < 1)
{
return false;
}
$userId = null;
if (
isset($arParams['USER_ID'])
&& ($arParams['USER_ID'] > 0)
)
{
$userId = (int)$arParams['USER_ID'];
}
if ($userId === null)
{
$userId = User::getId();
if (!$userId)
{
$userId = 1;
}
}
if (!isset($arParams['THROTTLE_MESSAGES']))
{
$arParams['THROTTLE_MESSAGES'] = false;
}
$handler = new Task($userId);
$handler->setByPassParams($arParams);
if (isset($arFields['META::EVENT_GUID']))
{
$handler->setEventGuid($arFields['META::EVENT_GUID']);
unset($arFields['META::EVENT_GUID']);
}
if (
!isset($arParams['CORRECT_DATE_PLAN'])
|| (
$arParams['CORRECT_DATE_PLAN'] !== false
&& $arParams['CORRECT_DATE_PLAN'] !== 'N'
)
)
{
$handler->withCorrectDatePlan();
}
if (
!isset($arParams['CORRECT_DATE_PLAN_DEPENDENT_TASKS'])
|| (
$arParams['CORRECT_DATE_PLAN_DEPENDENT_TASKS'] !== false
&& $arParams['CORRECT_DATE_PLAN_DEPENDENT_TASKS'] !== 'N'
)
)
{
$handler->withCorrectDatePlanDependent();
}
if (
!array_key_exists('AUTO_CLOSE', $arParams)
|| $arParams['AUTO_CLOSE'] !== false
)
{
$handler->withAutoclose();
}
if (
isset($arParams['SKIP_NOTIFICATION'])
&& $arParams['SKIP_NOTIFICATION']
)
{
$handler->withSkipNotifications();
}
if (array_key_exists('FIELDS_FOR_COMMENTS', $arParams))
{
$handler->withSkipComments();
}
if (
array_key_exists('SEND_UPDATE_PULL_EVENT', $arParams)
&& !$arParams['SEND_UPDATE_PULL_EVENT']
)
{
$handler->withSkipPush();
}
try
{
$handler->update($taskId, $arFields);
$this->lastOperationResultData = $handler->getLegacyOperationResultData();
}
catch (BitrixTasksControlExceptionTaskUpdateException $e)
{
$this->_errors[] = [
"text" => $e->getMessage(),
"id" => "ERROR_UNKNOWN_UPDATE_TASK_ERROR",
];
return false;
}
catch (Exception $e)
{
$this->_errors[] = [
"text" => GetMessage("TASKS_UNKNOWN_UPDATE_ERROR"),
"id" => "ERROR_UNKNOWN_UPDATE_TASK_ERROR",
];
return false;
}
return true;
}