• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/catalogprovider.php
  • Класс: BitrixCatalogProductCatalogProvider
  • Вызов: CatalogProvider::reserve
public function reserve(array $products)
	{
		$result = new SaleResult();

		$resultList = array();

		$availableItems = $this->createProductsListWithCatalogData($products);
		foreach ($availableItems as $productId => $productData)
		{
			$resultList[$productId] = false;

			$r = static::reserveProduct($productData);
			if ($r->isSuccess())
			{
				$resultData = $r->getData();
				if (!empty($resultData))
				{
					$resultList[$productId] = $resultData;
				}
			}
			else
			{
				$result->addErrors($r->getErrors());
			}

		}

		$result->setData(array(
			'RESERVED_PRODUCTS_LIST' => $resultList
		));

		return $result;
	}