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

		$r = $this->checkProductInStores($products);
		if (!$r->isSuccess())
		{
			return $r;
		}

		$storeProductMap = $this->createStoreProductMap($products);

		$r = $this->checkExistsProductsInStore($products, $storeProductMap);
		if ($r->isSuccess())
		{
			$data = $r->getData();
			if (!empty($data['PRODUCTS_LIST_EXISTS_IN_STORE']))
			{
				$resultList = $data['PRODUCTS_LIST_EXISTS_IN_STORE'];
			}
		}
		else
		{
			return $r;
		}

		$r = $this->checkProductQuantityInStore($products);
		if ($r->isSuccess())
		{
			$data = $r->getData();
			if (!empty($data['PRODUCTS_LIST_REQUIRED_QUANTITY_IN_STORE']))
			{
				$resultList = $data['PRODUCTS_LIST_REQUIRED_QUANTITY_IN_STORE'];
			}
		}
		else
		{
			$result->addErrors($r->getErrors());
		}

		if (!empty($resultList))
		{
			$result->addData(
				array(
					'PRODUCTS_LIST_IN_STORE' => $resultList
				)
			);
		}

		return $result;
	}