• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/calltrackercontroller.php
  • Класс: Bitrix\Crm\Timeline\CallTrackerController
  • Вызов: CallTrackerController::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 = CallTrackerEntry::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);
			}
		}
	}
}