• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/deliveryrequest.php
  • Класс: BitrixSaleControllerDeliveryRequest
  • Вызов: DeliveryRequest::createAction
public function createAction(array $shipmentIds, array $additional = [], int $deliveryId = null)
{
	if (!$this->checkPermission('U'))
	{
		return null;
	}

	if (is_null($deliveryId))
	{
		if ($shipmentIds && $shipmentIds[0])
		{
			$shipment = ShipmentRepository::getInstance()->getById((int)$shipmentIds[0]);
			if ($shipment && $shipment->getDelivery())
			{
				$deliveryId = $shipment->getDelivery()->getId();
			}
		}
	}

	/** @var RequestsResult $result */
	$result = RequestsManager::createDeliveryRequest($deliveryId, $shipmentIds, $additional);

	if (!$result->isSuccess())
	{
		$this->addErrors($result->getErrors());
		return null;
	}

	return [
		'result' => true,
		'message' => $this->getMessageFromResult($result)
	];
}