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