• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/providercreator.php
  • Класс: BitrixSaleInternalsProviderCreator
  • Вызов: ProviderCreator::createItemForReserve
public function createItemForReserve(SaleReserveQuantity $reserve)
{
	$basketItem = $reserve->getCollection()->getBasketItem();

	$originalFields = $reserve->getFields()->getOriginalValues();
	$reservedQuantity = $originalFields['QUANTITY'] ?? 0;
	$quantity = $reserve->getField('QUANTITY') - $reservedQuantity;

	return [
		'PROVIDER_NAME' => $basketItem->getProviderName(),
		'RESERVE_ITEM' => $reserve,
		'BASKET_ITEM' => $basketItem,
		'QUANTITY' => $quantity,
		'QUANTITY_BY_STORE' => [
			$reserve->getStoreId() => $quantity
		],
		'RESERVED_QUANTITY' => $reservedQuantity,
		'RESERVED_QUANTITY_BY_STORE' => [
			$reserve->getStoreId() => $reservedQuantity
		]
	];
}