- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/shipment.php
- Класс: BitrixSaleRestEntityShipment
- Вызов: Shipment::internalizeFieldsModify
public function internalizeFieldsModify($fields, $fieldsInfo=[])
{
$result = [];
$shipmentItem = new ShipmentItem();
$fieldsInfo = empty($fieldsInfo)? $this->getFields():$fieldsInfo;
$listFieldsInfoAdd = $this->getListFieldInfo($fieldsInfo, ['filter'=>['ignoredAttributes'=>[Attributes::Hidden, Attributes::ReadOnly]]]);
$listFieldsInfoUpdate = $this->getListFieldInfo($fieldsInfo, ['filter'=>['ignoredAttributes'=>[Attributes::Hidden, Attributes::ReadOnly, Attributes::Immutable], 'skipFields'=>['ID']]]);
if(isset($fields['ORDER']['ID']))
$result['ORDER']['ID'] = (int)$fields['ORDER']['ID'];
if(isset($fields['ORDER']['SHIPMENTS']))
{
foreach ($fields['ORDER']['SHIPMENTS'] as $k=>$item)
{
$result['ORDER']['SHIPMENTS'][$k] = $this->internalizeFields($item,
$this->isNewItem($item)? $listFieldsInfoAdd:$listFieldsInfoUpdate
);
if(isset($item['SHIPMENT_ITEMS']))
{
$result['ORDER']['SHIPMENTS'][$k]['SHIPMENT_ITEMS'] = $shipmentItem->internalizeFieldsModify(['SHIPMENT'=>['SHIPMENT_ITEMS'=>$item['SHIPMENT_ITEMS']]])['SHIPMENT']['SHIPMENT_ITEMS'];
}
}
}
return $result;
}