• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/basket.php
  • Класс: BitrixSaleBasket
  • Вызов: Basket::deleteInternal
protected function deleteInternal(array $itemValues)
{
	$result = new Result();

	/** @var BasketItem $itemClassName */
	$itemClassName = static::getItemCollectionClassName();
	if ($itemValues['TYPE'] == $itemClassName::TYPE_SET)
	{
		$r = InternalsBasketTable::deleteBundle($itemValues['ID']);
	}
	else
	{
		$r = InternalsBasketTable::deleteWithItems($itemValues['ID']);
	}

	if (!$r->isSuccess())
	{
		$result->addErrors($r->getErrors());
	}

	$orderId = $this->getOrderId();
	if ($orderId > 0)
	{
		$registry = Registry::getInstance(static::getRegistryType());

		/** @var OrderHistory $orderHistory */
		$orderHistory = $registry->getOrderHistoryClassName();
		$orderHistory::addLog(
			'BASKET',
			$orderId,
			'BASKET_ITEM_DELETED',
			$itemValues['ID'],
			null,
			array(
				"PRODUCT_ID" => $itemValues["PRODUCT_ID"],
				"NAME" => $itemValues["NAME"],
				"QUANTITY" => $itemValues["QUANTITY"],
			),
			$orderHistory::SALE_ORDER_HISTORY_LOG_LEVEL_1
		);
	}

	return $result;
}