• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/shipment.php
  • Класс: BitrixSaleShipment
  • Вызов: Shipment::create
static function create(ShipmentCollection $collection, DeliveryServicesBase $service = null)
{
	$emptyService = DeliveryServicesManager::getById(DeliveryServicesEmptyDeliveryService::getEmptyDeliveryServiceId());
	$fields = [
		'DATE_INSERT' => new MainTypeDateTime(),
		'DELIVERY_ID' => $emptyService['ID'],
		'DELIVERY_NAME' => $emptyService['NAME'],
		'ALLOW_DELIVERY' => 'N',
		'DEDUCTED' => 'N',
		'CUSTOM_PRICE_DELIVERY' => 'N',
		'MARKED' => 'N',
		'CANCELED' => 'N',
		'SYSTEM' => 'N',
		'XML_ID' => static::generateXmlId(),
		'RESERVED' => 'N'
	];

	$registry = Registry::getInstance(static::getRegistryType());

	/** @var DeliveryStatus $deliveryStatusClassName */
	$deliveryStatusClassName = $registry->getDeliveryStatusClassName();
	$fields['STATUS_ID'] = $deliveryStatusClassName::getInitialStatus();

	$shipment = static::createShipmentObject();
	$shipment->setFieldsNoDemand($fields);
	$shipment->setCollection($collection);

	if ($service !== null)
	{
		$shipment->setDeliveryService($service);
	}

	return $shipment;
}