• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/basket/refreshstrategy.php
  • Класс: BitrixSaleBasketRefreshStrategy
  • Вызов: RefreshStrategy::applyRefreshResult
protected function applyRefreshResult(BasketItemBase $item, $fields)
{
	$bundleItemList = array();
	if (isset($fields['ITEMS']))
	{
		$bundleItemList = $fields['ITEMS'];
		unset($fields['ITEMS']);
	}

	/**
	 * Adds quantity which purchased
	 */
	if (isset($fields['QUANTITY']))
	{
		$delta = $item->getQuantity() - $item->getNotPurchasedQuantity();
		$fields['QUANTITY'] += max($delta, 0);
	}

	$result = parent::applyRefreshResult($item, $fields);
	if ($result->isSuccess())
	{
		if ($bundleItemList)
		{
			$r = $this->applyBundleRefreshResult($item, $bundleItemList);
			if (!$r->isSuccess())
			{
				$result->addErrors($r->getErrors());
			}
		}
	}

	return $result;
}