• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/orderbuilderexist.php
  • Класс: BitrixSaleHelpersOrderBuilderOrderBuilderExist
  • Вызов: OrderBuilderExist::createOrder
public function createOrder(array $data)
{
	$orderClassName = $this->builder->getRegistry()->getOrderClassName();
	$currentUserId = 0;
	$oldUserId = null;

	$dataUserId = (int)($data["USER_ID"] ?? 0);
	if ($dataUserId > 0)
	{
		$currentUserId = $dataUserId;
	}

	$dataOldUserId = (int)($data["OLD_USER_ID"] ?? 0);
	if ($dataOldUserId > 0)
	{
		$oldUserId = $dataOldUserId;
	}

	//If buyer changed - discount also can be changed
	OrderEdit::initCouponsData($currentUserId, $data["ID"], $oldUserId);
	$order = $orderClassName::load($data["ID"]);

	if(!$order)
	{
		$this->builder->getErrorsContainer()->addError(new Error(Loc::getMessage("SALE_HLP_OBE_ORDER_NOT_LOADED")));
		throw new BuildingException();
	}

	return $order;
}