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

		$resultList = array();
		if (!empty($storeData))
		{
			foreach ($products as $productId => $productData)
			{
				$productStoreData = array();
				if (!empty($storeData[$productId]))
				{
					$productStoreData = $storeData[$productId];
				}

				$resultList[$productId] = true;

				if (
					(
						isset($productData['BUNDLE_PARENT'])
						&& $productData['BUNDLE_PARENT'] === true
					)
					|| (
						isset($productData['PRODUCT']['USED_STORE_INVENTORY'])
						&& !$productData['PRODUCT']['USED_STORE_INVENTORY']
					)
				)
				{
					continue;
				}

				$r = $this->checkExistsProductItemInStore($productData, $productStoreData);
				if (!$r->isSuccess())
				{
					$result->addErrors($r->getErrors());
					$resultList[$productId] = false;
				}
			}
		}

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

		return $result;
	}