• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/integration/salemanager.php
  • Класс: BitrixSalesCenterIntegrationSaleManager
  • Вызов: SaleManager::pushOrder
static function pushOrder($orderId, $sessionId)
{
	$result = new Result();
	if(!static::getInstance()->isEnabled())
	{
		return $result;
	}

	$registry = SaleRegistry::getInstance(SaleRegistry::REGISTRY_TYPE_ORDER);
	/** @var SaleOrder $orderClass */
	$orderClass = $registry->getOrderClassName();

	$orderId = (int)$orderId;
	$sessionId = (int)$sessionId;
	$order = $orderClass::load($orderId);
	if(!$order)
	{
		$result->addError(new Error('Order not found'));
		return $result;
	}
	if($orderId > 0 && $sessionId > 0)
	{
		PullManager::getInstance()->sendOrderAddEvent($orderId, $sessionId);
	}

	if(ImOpenLinesManager::getInstance()->isEnabled())
	{
		$dialogId = ImOpenLinesManager::getInstance()->setSessionId($sessionId)->getDialogId();
		if($dialogId)
		{
			$result = ImOpenLinesManager::getInstance()->sendOrderNotify($order, $dialogId, false);
		}
	}

	return $result;
}