• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Sale/Reservation/ReservationService.php
  • Класс: Bitrix\Crm\Service\Sale\Reservation\ReservationService
  • Вызов: ReservationService::mappingReservations
public function mappingReservations(int $ownerTypeId, int $ownerId, Order $order): Result
{
	$result = new Result();

	$productRow2basket = BasketService::getInstance()->getRowIdsToBasketIdsByEntity(
		$ownerTypeId,
		$ownerId
	);
	if (empty($productRow2basket))
	{
		return $result;
	}

	foreach ($productRow2basket as $rowId => $basketId)
	{
		/**
		 * @var \Bitrix\Sale\BasketItem $basketItem
		 */
		$basketItem = $order->getBasket()->getItemById($basketId);
		if ($basketItem)
		{
			/** @var \Bitrix\Sale\ReserveQuantityCollection $reserveCollection */
			$reserveCollection = $basketItem->getReserveQuantityCollection();
			if ($reserveCollection)
			{
				$basketReserve = $reserveCollection->current();
				if ($basketReserve)
				{
					$this->setReserveMap($rowId, $basketReserve->getId());
				}
			}
		}
	}

	return $result;
}