• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/basketbuilderrest.php
  • Класс: BitrixSaleHelpersOrderBuilderBasketBuilderRest
  • Вызов: BasketBuilderRest::setItemsFields
public function setItemsFields()
{
	$basket = $this->getBasket();

	/** @var BasketItem $basketItem */
	foreach ($basket as $basketItem)
	{
		$basketCode = $basketItem->getBasketCode();
		if(isset($this->formData['PRODUCT'][$basketCode]))
		{
			$itemFields = $this->formData['PRODUCT'][$basketCode];

			if(isset($itemFields['OFFER_ID']))
			{
				$itemFields['PRODUCT_ID'] = $itemFields['OFFER_ID'];
			}

			if(isset($itemFields['PRICE']))
			{
				$itemFields['CUSTOM_PRICE'] = 'Y';
			}

			$fields = array_intersect_key($itemFields, array_flip($basketItem::getAvailableFields()));

			$r = $basketItem->setFields($fields);
			if($r->isSuccess() == false)
			{
				$this->getErrorsContainer()->addErrors($r->getErrors());
				throw new BuildingException();
			}
		}
	}

	return $this;
}