• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/reservequantitycollection.php
  • Класс: BitrixSaleReserveQuantityCollection
  • Вызов: ReserveQuantityCollection::load
static function load(BasketItemBase $basketItem) : self
{
	if (!$basketItem->isReservableItem())
	{
		throw new MainSystemException('Basket item is not available for reservation');
	}

	$collection = static::createCollectionObject();
	$collection->setBasketItem($basketItem);

	if ($basketItem->getId() > 0)
	{
		$registry = Registry::getInstance(static::getRegistryType());

		/** @var ReserveQuantity $reservedItemClassName */
		$reservedItemClassName = $registry->getReservedItemClassName();

		$reservedQuantityList = $reservedItemClassName::loadForBasketItem($basketItem->getId());
		foreach ($reservedQuantityList as $item)
		{
			$item->setCollection($collection);
			$collection->addItem($item);
		}
	}

	return $collection;
}