• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/order.php
  • Класс: BitrixSaleRestEntityOrder
  • Вызов: Order::internalizeFieldsModify
public function internalizeFieldsModify($fields, $fieldsInfo=[])
{
	$result = [];

	$payment = new Payment();
	$shipment = new Shipment();
	$basketItem = new BasketItem();
	$propertyValue = new PropertyValue();
	$tradeBinding = new TradeBinding();


	$listFieldsInfoAdd = $this->getListFieldInfo($this->getFields(), ['filter'=>['ignoredAttributes'=>[Attributes::Hidden, Attributes::ReadOnly]]]);
	$listFieldsInfoUpdate = $this->getListFieldInfo($this->getFields(), ['filter'=>['ignoredAttributes'=>[Attributes::Hidden, Attributes::ReadOnly, Attributes::Immutable], 'skipFields'=>['ID']]]);

	$result['ORDER'] = $this->internalizeFields($fields['ORDER'],
		$this->isNewItem($fields['ORDER'])? $listFieldsInfoAdd:$listFieldsInfoUpdate
	);

	if(isset($fields['ORDER']['BASKET_ITEMS']))
	{
		$result['ORDER']['BASKET_ITEMS'] = $basketItem->internalizeFieldsModify($fields)['ORDER']['BASKET_ITEMS'];
	}

	if(isset($fields['ORDER']['PROPERTY_VALUES']))
	{
		$result['ORDER']['PROPERTY_VALUES'] = $propertyValue->internalizeFieldsModify($fields)['ORDER']['PROPERTY_VALUES'];
	}

	if(isset($fields['ORDER']['PAYMENTS']))
	{
		$result['ORDER']['PAYMENTS'] = $payment->internalizeFieldsModify($fields)['ORDER']['PAYMENTS'];
	}

	if(isset($fields['ORDER']['SHIPMENTS']))
	{
		$result['ORDER']['SHIPMENTS'] = $shipment->internalizeFieldsModify($fields)['ORDER']['SHIPMENTS'];
	}

	if(isset($fields['ORDER']['TRADE_BINDINGS']))
	{
		$result['ORDER']['TRADE_BINDINGS'] = $tradeBinding->internalizeFieldsModify($fields)['ORDER']['TRADE_BINDINGS'];
	}

	return $result;
}