• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/basketitembase.php
  • Класс: BitrixSaleBasketItemBase
  • Вызов: BasketItemBase::create
static function create(BasketItemCollection $basketItemCollection, $moduleId, $productId, $basketCode = null)
{
	$fields = [
		"MODULE" => $moduleId,
		"BASE_PRICE" => 0,
		"CAN_BUY" => 'Y',
		"VAT_RATE" => null,
		"CUSTOM_PRICE" => 'N',
		"PRODUCT_ID" => $productId,
		'XML_ID' => static::generateXmlId(),
	];

	$basket = $basketItemCollection->getBasket();
	if ($basket instanceof BasketBase)
	{
		$fields['LID'] = $basket->getSiteId();
	}

	$basketItem = static::createBasketItemObject($fields);

	if ($basketCode !== null)
	{
		$basketItem->internalId = $basketCode;
		if (mb_strpos($basketCode, 'n') === 0)
		{
			$internalId = intval(mb_substr($basketCode, 1));
			if ($internalId > static::$idBasket)
			{
				static::$idBasket = $internalId;
			}
		}
	}

	$basketItem->setCollection($basketItemCollection);

	return $basketItem;
}