- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/imopenlines/eventhandler.php
- Класс: Bitrix\Crm\Integration\ImOpenLines\EventHandler
- Вызов: EventHandler::OnImOpenLineRegisteredInCrm
static function OnImOpenLineRegisteredInCrm(Event $event): void
{
$data = $event->getParameters();
if (empty($data) || empty($data['BINDINGS']))
{
return;
}
$createdEntities = array_values(
array_filter(
$data['BINDINGS'],
static fn($row) => in_array((int)$row['OWNER_TYPE_ID'], [CCrmOwnerType::Lead, CCrmOwnerType::Deal], true)
)
);
$baseEntities = array_values(
array_filter(
$data['BINDINGS'],
static fn($row) => in_array((int)$row['OWNER_TYPE_ID'], [CCrmOwnerType::Contact, CCrmOwnerType::Company], true)
)
);
if (empty($createdEntities))
{
return;
}
$input = [
"ENTITY_TYPE_ID" => $createdEntities[0]['OWNER_TYPE_ID'],
"ENTITY_ID" => $createdEntities[0]['OWNER_ID'],
];
if (!empty($baseEntities))
{
$input['BASE_ENTITY_TYPE_ID'] = $baseEntities[0]['OWNER_TYPE_ID'];
$input['BASE_ENTITY_ID'] = $baseEntities[0]['OWNER_ID'];
if (isset($data['PROVIDER_PARAMS']['USER_CODE']))
{
$input['BASE_SOURCE'] = $data['PROVIDER_PARAMS']['USER_CODE'];
}
}
LogMessageController::getInstance()->onCreate(
$input,
LogMessageType::OPEN_LINE_INCOMING,
$data['AUTHOR_ID'] ?? null
);
}