- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/orderpaymentcontroller.php
- Класс: Bitrix\Crm\Timeline\OrderPaymentController
- Вызов: OrderPaymentController::notifyOrderPaymentEntry
private function notifyOrderPaymentEntry($ownerId, array $params)
{
if (!is_int($ownerId))
{
$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'] : [];
$paymentFields = is_array($params['FIELDS']) ? $params['FIELDS'] : [];
$bindings = $params['BINDINGS'] ?? [];
$authorId = self::resolveCreatorID($paymentFields);
if (!empty($settings))
{
$timelineEntryId = OrderEntry::create([
'ENTITY_ID' => $ownerId,
'TYPE_CATEGORY_ID' => TimelineType::MODIFICATION,
'ENTITY_TYPE_ID' => \CCrmOwnerType::OrderPayment,
'AUTHOR_ID' => $authorId,
'BINDINGS' => $bindings,
'SETTINGS' => $settings
]);
foreach ($bindings as $binding)
{
$this->sendPullEventOnAdd(
new ItemIdentifier($binding['ENTITY_TYPE_ID'], $binding['ENTITY_ID']),
$timelineEntryId
);
}
}
}