• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/integration/salemanager.php
  • Класс: BitrixSalesCenterIntegrationSaleManager
  • Вызов: SaleManager::OnPrintableCheckSend
static function OnPrintableCheckSend(Event $event): ?EventResult
{
	$checkId = 0;
	$check = $event->getParameter('CHECK');
	if (is_array($check) && isset($check['ID']))
	{
		$checkId = (int)$check['ID'];
	}

	if ($checkId <= 0)
	{
		return null;
	}

	/** @var CrmOrderPayment $payment */
	$payment = $event->getParameter('PAYMENT');
	if (!($payment instanceof CrmOrderPayment))
	{
		return null;
	}

	$order = $payment->getOrder();

	$ownerId = 0;
	$entityBinding = $order->getEntityBinding();
	if ($entityBinding)
	{
		$ownerId = $entityBinding->getOwnerId();
	}

	$sessionIds = ImOpenLinesManager::getInstance()->getSessionIdsByUserId($order->getUserId());
	foreach ($sessionIds as $sessionId)
	{
		$crmInfo = ImOpenLinesManager::getInstance()->setSessionId($sessionId)->getCrmInfo();
		if (!empty($crmInfo['DEAL']) && (int)$crmInfo['DEAL'] === $ownerId)
		{
			ImOpenLinesManager::getInstance()->sendPaymentCheckNotify($checkId, $payment);
			return new EventResult( EventResult::SUCCESS, null, 'sale');
		}
	}

	return null;
}