• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/orderbuildernew.php
  • Класс: BitrixSaleHelpersOrderBuilderOrderBuilderNew
  • Вызов: OrderBuilderNew::buildBasket
public function buildBasket()
{
	if(is_array($this->builder->getFormData('PRODUCT')))
	{
		$this->builder->getBasketBuilder()
			->initBasket()
			->preliminaryDataPreparation()
			->itemsDataPreparation()
			->basketCodeMap()
			->setItemsFields()
			->fillFUser()
			->finalActions();
	}
	else
	{
		$registry = SaleRegistry::getInstance(SaleRegistry::REGISTRY_TYPE_ORDER);

		/** @var SaleBasket $basketClass */
		$basketClass = $registry->getBasketClassName();

		if($basket = $basketClass::create($this->builder->getOrder()->getSiteId()))
		{
			$this->builder->getOrder()->setBasket($basket);
		}
		else
		{
			$this->builder->getErrorsContainer()->addError(new Error('Can't create basket'));
			throw new BuildingException();
		}
	}
}