• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/basketbuilder.php
  • Класс: BitrixSaleHelpersOrderBuilderBasketBuilder
  • Вызов: BasketBuilder::createItem
protected function createItem($basketCode, &$productData)
{
	//todo: is it stil working?
	if($basketCode != self::BASKET_CODE_NEW)
		$setBasketCode = $basketCode;
	elseif(intval($this->maxBasketCodeIdx) > 0)
		$setBasketCode = 'n'.strval($this->maxBasketCodeIdx+1); //Fix collision part 2.
	else
		$setBasketCode = null;

	$item = $this->getBasket()->createItem(
		$productData["MODULE"] ?? '',
		$productData["OFFER_ID"],
		$setBasketCode
	);

	if ($basketCode != $productData["BASKET_CODE"])
		$productData["BASKET_CODE"] = $item->getBasketCode();

	if($basketCode == self::BASKET_CODE_NEW)
	{
		//$result->setData(array("NEW_ITEM_BASKET_CODE" => $productData["BASKET_CODE"]));
		$this->needDataUpdate[] = $item->getBasketCode();
	}

	if(!empty($productData['REPLACED']) && $productData['REPLACED'] == 'Y')
		$this->needDataUpdate[] = $item->getBasketCode();

	return $item;
}