• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/director.php
  • Класс: BitrixSaleHelpersOrderBuilderDirector
  • Вызов: Director::getUpdatedShipment
public function getUpdatedShipment(OrderBuilder $builder, array $shipmentData)
{
	try{
		$builder->initFields(array(
			'ID' => $shipmentData['ORDER_ID'],
			'SITE_ID' => $shipmentData['SITE_ID'],
			'SHIPMENT' => array($shipmentData)
		))
			->delegate()
			->createOrder()
			->setDiscounts() //?
			->buildShipments()
			->setDiscounts() //?
			->finalActions();
	}
	catch(BuildingException $e)
	{
		return null;
	}

	$order = $builder->getOrder();
	$collection = $order->getShipmentCollection();

	if((int)$shipmentData['ID'] > 0)
	{
		return $collection->getItemById($shipmentData['ID']);
	}
	else
	{
		foreach($collection as $shipment)
		{
			if($shipment->getId() <= 0)
			{
				return $shipment;
			}
		}
	}

	return null;
}