- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/tasks/task.php
- Класс: Bitrix\Crm\Activity\Provider\Tasks\Task
- Вызов: Task::onAfterUpdate
static function onAfterUpdate(
int $id,
array $changedFields,
array $oldFields,
array $newFields,
array $params = null
)
{
$taskId = $newFields['ASSOCIATED_ENTITY_ID'] ?? 0;
if ($taskId <= 0)
{
return;
}
$task = TaskObject::getObject($taskId);
if (is_null($task))
{
return;
}
$bindings = $newFields['BINDINGS'] ?? [];
if (empty($bindings))
{
return;
}
$taskCrmFields = $task->getCrmFields();
$crmFields = array_unique(array_merge($taskCrmFields, self::prepareBindingsToTask($bindings)));
if (
empty(array_diff($crmFields, $taskCrmFields))
&& empty(array_diff($taskCrmFields, $crmFields))
)
{
return;
}
TaskHandler::getHandler()->update($taskId,[
self::TASK_CRM_FIELD => $crmFields
]);
}