- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/basemessage.php
- Класс: Bitrix\Crm\Activity\Provider\BaseMessage
- Вызов: BaseMessage::onMessageSent
static function onMessageSent(Event $event): void
{
$id = (int)$event->getParameter('ID');
/** @var array $additionalFields */
$additionalFields = $event->getParameter('ADDITIONAL_FIELDS');
if (
$id <= 0 ||
!is_array($additionalFields)
|| !isset($additionalFields['ACTIVITY_PROVIDER_TYPE_ID'])
)
{
return;
}
static::addActivity(
[
'PROVIDER_TYPE_ID' => $additionalFields['ACTIVITY_PROVIDER_TYPE_ID'] ?? static::getDefaultTypeId(),
'AUTHOR_ID' => $additionalFields['ACTIVITY_AUTHOR_ID'],
'DESCRIPTION' => $additionalFields['ACTIVITY_DESCRIPTION'],
'ASSOCIATED_ENTITY_ID' => $id,
'BINDINGS' => $additionalFields['BINDINGS'],
'COMMUNICATIONS' => [
[
'ENTITY_TYPE' => $additionalFields['ENTITY_TYPE'],
'ENTITY_TYPE_ID' => $additionalFields['ENTITY_TYPE_ID'],
'ENTITY_ID' => $additionalFields['ENTITY_ID'],
'TYPE' => \CCrmFieldMulti::PHONE,
'VALUE' => $additionalFields['MESSAGE_TO']
]
],
'SETTINGS' => [
'FIELDS' => self::makeActivityFields($additionalFields),
'ORIGINAL_MESSAGE' => static::fetchOriginalMessageFields($id),
],
]
);
}