• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/transferprovidercompatibility.php
  • Класс: BitrixSaleInternalsTransferProviderCompatibility
  • Вызов: TransferProviderCompatibility::checkBarcode
public function checkBarcode(array $items)
{
	$result = new SaleResult();
	$resultList = array();

	foreach ($items as $productId => $barcodeParams)
	{
		/**
		 * @var SaleProviderBase $product
		 * @var SaleResult $r
		 */
		$r = SaleProvider::checkBarcode($this->getProviderClass(), $barcodeParams);
		if ($r->isSuccess())
		{
			$resultData = $r->getData();
			if (!empty($resultData) && array_key_exists($productId, $resultData))
			{
				$resultList[$barcodeParams['BARCODE']] = $resultData[$productId];
			}
		}
		else
		{
			$result->addErrors($r->getErrors());
		}

		if ($r->hasWarnings())
		{
			$result->addWarnings($r->getWarnings());
		}
	}

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

	return $result;
}