- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/factorybasedcontroller.php
- Класс: Bitrix\Crm\Timeline\FactoryBasedController
- Вызов: FactoryBasedController::onModify
public function onModify($entityID, array $params): void
{
$entityID = $this->prepareEntityIdFromArgs($entityID);
$previousFields = (array)($params['PREVIOUS_FIELDS'] ?? []);
$currentFields = (array)($params['CURRENT_FIELDS'] ?? []);
if (empty($previousFields) || empty($currentFields))
{
return;
}
foreach ($currentFields as $fieldName => $currentValue)
{
if (!$this->isFieldIncludedInTimeline($fieldName))
{
continue;
}
if (!$this->isFieldChangeShouldBeRegistered($fieldName, $previousFields, $currentFields))
{
continue;
}
$entryParams = $this->prepareModificationEntryParams(
$entityID,
$previousFields,
$currentFields,
$fieldName
);
$timelineEntryId = $this->getTimelineEntryFacade()->create(
TimelineEntry\Facade::MODIFICATION,
$entryParams
);
if ($timelineEntryId <= 0)
{
continue;
}
$this->sendPullEventOnAdd(new ItemIdentifier($this->getEntityTypeID(),$entityID), $timelineEntryId);
}
}