• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/order.php
  • Класс: BitrixSaleRestEntityOrder
  • Вызов: Order::externalizeFields
public function externalizeFields($fields)
{
	$basketItem = new BitrixSaleRestEntityBasketItem();
	$payment = new BitrixSaleRestEntityPayment();
	$shipment = new BitrixSaleRestEntityShipment();
	$shipmentItem = new BitrixSaleRestEntityShipmentItem();
	$tradeBinding = new TradeBinding();
	$propertyValue = new PropertyValue();
	$basketProperties = new BitrixSaleRestEntityBasketProperties();

	$result = parent::externalizeFields($fields);

	if(isset($fields['PROPERTY_VALUES']) && count($fields['PROPERTY_VALUES'])>0)
	{
		$result['PROPERTY_VALUES'] = $propertyValue->externalizeListFields($fields['PROPERTY_VALUES']);
	}

	if(isset($fields['BASKET_ITEMS']) && count($fields['BASKET_ITEMS'])>0)
	{
		foreach ($fields['BASKET_ITEMS'] as $k=>$item)
		{
			$result['BASKET_ITEMS'][$k] = $basketItem->externalizeFields($item);
			//$result['BASKET_ITEMS'][$k]['PROPERTIES'] = $basketProperties->externalizeListFields($item['PROPERTIES']);
		}
	}

	if(isset($fields['PAYMENTS']) && count($fields['PAYMENTS'])>0)
	{
		$result['PAYMENTS'] = $payment->externalizeListFields($fields['PAYMENTS']);
	}

	if(isset($fields['SHIPMENTS']) && count($fields['SHIPMENTS'])>0)
	{
		foreach($fields['SHIPMENTS'] as $k=>$item)
		{
			$result['SHIPMENTS'][$k] = $shipment->externalizeFields($item);
			/*if(isset($item['SHIPMENT_ITEMS']))
			{
				$data['SHIPMENTS'][$k]['SHIPMENT_ITEMS'] = $shipmentItem->externalizeListFields($item['SHIPMENT_ITEMS']);
			}*/
		}
	}

	if(isset($fields['TRADE_BINDINGS']) && count($fields['TRADE_BINDINGS'])>0)
		$result['TRADE_BINDINGS'] = $tradeBinding->externalizeListFields($fields['TRADE_BINDINGS']);

	return $result;
}