- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/zoomcontroller.php
- Класс: Bitrix\Crm\Timeline\ZoomController
- Вызов: ZoomController::onCreate
public function onCreate($ownerId, array $params): void
{
$ownerId = (int)$ownerId;
if ($ownerId <= 0)
{
throw new Main\ArgumentException('Owner ID must be greater than zero.', 'ownerID');
}
$settings = is_array($params['SETTINGS']) ? $params['SETTINGS'] : [];
$bindings = $params['BINDINGS'] ?? [];
$authorId = \CCrmOwnerType::GetResponsibleID(\CCrmOwnerType::Activity, $ownerId, false);
if (!empty($settings))
{
$historyEntryID = ZoomEntry::create([
'ENTITY_ID' => $ownerId,
'AUTHOR_ID' => $authorId,
'BINDINGS' => self::mapBindings($bindings),
'SETTINGS' => $settings
]);
if ($historyEntryID > 0)
{
foreach ($bindings as $binding)
{
$this->sendPullEventOnAdd(
new \Bitrix\Crm\ItemIdentifier($binding['OWNER_TYPE_ID'], $binding['OWNER_ID']),
$historyEntryID
);
}
}
}
}