• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/ordershipment.php
  • Класс: BitrixSaleHelpersAdminBlocksOrderShipment
  • Вызов: OrderShipment::setShipmentByDefaultValues
static function setShipmentByDefaultValues(&$shipment)
{
	/** @var BitrixSaleShipmentCollection $shipmentCollection */
	$shipmentCollection = $shipment->getCollection();

	$systemShipment = $shipmentCollection->getSystemShipment();
	$systemShipmentItemCollection = $systemShipment->getShipmentItemCollection();
	/** @var BitrixSaleShipmentItemCollection $shipmentItemCollection */
	$shipmentItemCollection = $shipment->getShipmentItemCollection();

	/** @var BitrixSaleShipmentItem $systemShipmentItem */
	foreach ($systemShipmentItemCollection as $systemShipmentItem)
	{
		if ($systemShipmentItem->getQuantity() <= 0)
			continue;

		$basketItem = $systemShipmentItem->getBasketItem();
		$shipmentItem = $shipmentItemCollection->createItem($basketItem);
		$shipmentItem->setField('QUANTITY', $systemShipmentItem->getQuantity());
	}

	$shipment->setField('CUSTOM_PRICE_DELIVERY', 'N');
	$shipment->setField('DELIVERY_ID', $systemShipment->getField('DELIVERY_ID'));
	$shipment->setField('COMPANY_ID', $systemShipment->getField('COMPANY_ID'));
	$shipment->setField('DELIVERY_NAME', $systemShipment->getField('DELIVERY_NAME'));
	$shipment->setExtraServices($systemShipment->getExtraServices());
	$shipment->setStoreId($systemShipment->getStoreId());

	$price = 0;
	$calcResult = self::calculateDeliveryPrice($shipment);
	if ($calcResult->isSuccess())
		$price = $calcResult->getPrice();
	$shipment->setField('BASE_PRICE_DELIVERY', $price);
}