• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/orderfacade.php
  • Класс: BitrixSaleOrderFacade
  • Вызов: OrderFacade::createFinalShipment
static function createFinalShipment(Order $order)
{
	$collection = $order->getShipmentCollection();

	$deliveryId = static::getDeliveryId();
	if ((int)$deliveryId == 0)
	{
		return null;
	}

	$delivery = SaleDeliveryServicesManager::getObjectById($deliveryId);
	$shipment = $collection->createItem($delivery);

	$itemCollection = $shipment->getShipmentItemCollection();

	$system = $collection->getSystemShipment();
	$systemItemCollection = $system->getShipmentItemCollection();

	/** @var SaleShipmentItem $shipmentItem */
	foreach ($systemItemCollection as $shipmentItem)
	{
		$item = $itemCollection->createItem($shipmentItem->getBasketItem());
		$item->setQuantity($shipmentItem->getQuantity());
	}

	$shipment->setField('DEDUCTED', 'Y');

	return $shipment;
}