• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Reservation/OrderSynchronizer.php
  • Класс: Bitrix\Crm\Reservation\OrderSynchronizer
  • Вызов: OrderSynchronizer::searchProduct
static function searchProduct(array $searchableProduct, array $productList, array & $foundProducts)
{
	if ((int)$searchableProduct['PRODUCT_ID'] === 0)
	{
		return false;
	}

	foreach ($productList as $index => $item)
	{
		if (
			(int)$searchableProduct['PRODUCT_ID'] === (int)$item['PRODUCT_ID']
			&& $searchableProduct['MODULE'] === $item['MODULE']
			&& !in_array($item['BASKET_CODE'], $foundProducts, true)
		)
		{
			if (!empty($searchableProduct['RESERVE']) && !empty($item['RESERVE']))
			{
				$searchableProductReserveIds = array_keys($searchableProduct['RESERVE']);
				$itemReserveIds = array_keys($item['RESERVE']);

				if (!array_intersect($searchableProductReserveIds, $itemReserveIds))
				{
					continue;
				}
			}

			return $index;
		}
	}

	return false;
}