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