• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/basketitem.php
  • Класс: BitrixSaleBasketItem
  • Вызов: BasketItem::addChangesToHistory
protected function addChangesToHistory($name, $oldValue = null, $value = null)
{
	if ($this->getId() > 0)
	{
		$fields = [];
		/** @var Basket $basket */
		if (!$basket = $this->getCollection())
		{
			throw new ObjectNotFoundException('Entity "Basket" not found');
		}

		if ($basket->getOrder() && $basket->getOrderId() > 0)
		{
			if ($name == "QUANTITY")
			{
				if (floatval($value) == 0)
				{
					return;
				}
				$fields = [
					'PRODUCT_ID' => $this->getProductId(),
					'QUANTITY' => $this->getQuantity(),
					'NAME' => $this->getField('NAME'),
				];
			}

			$registry = Registry::getInstance(static::getRegistryType());

			/** @var OrderHistory $orderHistory */
			$orderHistory = $registry->getOrderHistoryClassName();
			$orderHistory::addField(
				'BASKET',
				$basket->getOrderId(),
				$name,
				$oldValue,
				$value,
				$this->getId(),
				$this,
				$fields
			);
		}
	}
}