• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/basketbuilder.php
  • Класс: BitrixSaleHelpersOrderBuilderBasketBuilder
  • Вызов: BasketBuilder::obtainProviderProductsData
protected function obtainProviderProductsData()
{
	$order = $this->getOrder();
	$basketItems = $this->getBasket()->getBasketItems();

	if($this->cacheProductProviderData && empty($this->needDataUpdate) && !$this->isNeedUpdateNewProductPrice())
		return;

	$params = array("AVAILABLE_QUANTITY");

	if($order->getId() <= 0)
		$params[] = "PRICE";

	$this->providerData = Provider::getProductData($this->getBasket(), $params);

	/** @var BasketItem $item */
	foreach($basketItems as $item)
	{
		$basketCode = $item->getBasketCode();

		if($order->getId() <= 0 && !empty($this->providerData[$basketCode]) && empty($this->providerData[$basketCode]['QUANTITY']))
		{

			$this->getErrorsContainer()->addError(
				new Error(
					Loc::getMessage(
						"SALE_ORDEREDIT_PRODUCT_QUANTITY_IS_EMPTY",
						array(
							"#NAME#" => $item->getField('NAME')
						)
					),
					'SALE_ORDEREDIT_PRODUCT_QUANTITY_IS_EMPTY'
				)
			);

			throw new BuildingException();
		}
	}
}