• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/restview/price.php
  • Класс: BitrixCatalogRestViewPrice
  • Вызов: Price::internalizeFieldsModify
public function internalizeFieldsModify($fields, $fieldsInfo=[])
{
	$result = [];

	$fieldsInfo = empty($fieldsInfo)? $this->getFields():$fieldsInfo;
	$listFieldsInfoAdd = $this->getListFieldInfo($fieldsInfo, ['filter'=>['ignoredAttributes'=>[Attributes::HIDDEN, Attributes::READONLY], 'ignoredFields'=>['PRODUCT_ID']]]);
	$listFieldsInfoUpdate = $this->getListFieldInfo($fieldsInfo, ['filter'=>['ignoredAttributes'=>[Attributes::HIDDEN, Attributes::READONLY, Attributes::IMMUTABLE], 'skipFields'=>['ID']]]);

	if(isset($fields['PRODUCT']['ID']))
		$result['PRODUCT']['ID'] = (int)$fields['PRODUCT']['ID'];

	if(isset($fields['PRODUCT']['PRICES']))
	{
		foreach ($fields['PRODUCT']['PRICES'] as $k=>$item)
		{
			$result['PRODUCT']['PRICES'][$k] = $this->internalizeFields($item,
				$this->isNewItem($item)? $listFieldsInfoAdd:$listFieldsInfoUpdate
			);
		}
	}

	return $result;
}