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