• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/orderbasket.php
  • Класс: BitrixSaleHelpersAdminBlocksOrderBasket
  • Вызов: OrderBasket::getProductDetails
static function getProductDetails($productId, $quantity, $userId, $siteId, array $columns = array())
{
	$stored = true;
	$result = OrderEdit::getProductDetails($productId, $userId, $siteId);

	if($result === false)
		$stored = false;

	if($result === false)
	{
		if (self::$catalogIncluded === null)
			self::$catalogIncluded = MainLoader::includeModule('catalog');
		if (!self::$catalogIncluded)
			return array();

		$result = self::getProductDataToFillBasket($productId, $quantity, $userId, $siteId, implode(",",array_keys($columns)));

		static $proxyProductData = array();

		if (!empty($proxyProductData[$productId]) && is_array($proxyProductData[$productId]))
		{
			$productInfo = $proxyProductData[$productId];
		}
		else
		{
			$productInfo = CCatalogSku::getProductInfo($productId);
			$proxyProductData[$productId] = $productInfo;
		}

		if($productInfo != false)
		{
			$result["OFFERS_IBLOCK_ID"] = $productInfo["OFFER_IBLOCK_ID"];
			$result["IBLOCK_ID"] = $productInfo["IBLOCK_ID"];
			$result["PRODUCT_ID"] = $productInfo["ID"];
		}
		else
		{
			$result["OFFERS_IBLOCK_ID"] = 0;
			$result["IBLOCK_ID"] = $result["PRODUCT_PROPS_VALUES"]["IBLOCK_ID"];
			$result["PRODUCT_ID"] = $result["PRODUCT_PROPS_VALUES"]["ID"];
		}
	}

	if(!$stored)
		OrderEdit::setProductDetails($productId, $userId, $siteId, $result);

	return $result;
}