• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/transferprovidercompatibility.php
  • Класс: BitrixSaleInternalsTransferProviderCompatibility
  • Вызов: TransferProviderCompatibility::createListFromTryShipmentResult
static function createListFromTryShipmentResult($shipmentItemList, SaleResult $result)
{
	if (!$result->isSuccess())
	{
		return array();
	}

	$basketCodeList = array();
	$basketItemList = array();
	foreach ($shipmentItemList as $shipmentItem)
	{
		$basketItem = $shipmentItem->getBasketItem();
		$basketCodeList[$shipmentItem->getInternalIndex()] = $basketItem->getBasketCode();

		$basketItemList[$basketItem->getBasketCode()] = $basketItem;
	}

	$resultList = array();

	$data = $result->getData();
	if (!empty($data))
	{
		/**
		 * @var string $basketCode
		 * @var SaleResult $resultTryShipment
		 */
		foreach ($data as $basketCode => $resultTryShipment)
		{
			if (!isset($basketItemList[$basketCode]))
			{
				throw new MainObjectNotFoundException('Entity "Basket" not found');
			}

			$basketItem = $basketItemList[$basketCode];

			$resultList[$basketItem->getProductId()] = $resultTryShipment->isSuccess();
		}
	}

	return $resultList;
}