• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Document/Payment.php
  • Класс: BitrixCrmMobileControllerDocumentPayment
  • Вызов: Payment::getShipmentData
private function getShipmentData(int $paymentId): array
{
	$payment = PaymentRepository::getInstance()->getById($paymentId);
	if (!$payment)
	{
		return [];
	}
	$orderId = $payment->getOrderId();
	$registry = Registry::getInstance(Registry::REGISTRY_TYPE_ORDER);

	/** @var BitrixCrmOrderOrder $orderClassName */
	$orderClassName = $registry->getOrderClassName();
	$order = $orderClassName::load($orderId);
	if (!$order)
	{
		return [];
	}

	$shipmentId = 0;
	/** @var PayableShipmentItem $payableItem */
	foreach ($payment->getPayableItemCollection()->getShipments() as $payableItem)
	{
		$shipmentId = $payableItem->getField('ENTITY_ID');
	}

	if (!$shipmentId)
	{
		return [];
	}

	$shipment = $order->getShipmentCollection()->getItemById($shipmentId);
	if (!$shipment)
	{
		return [];
	}

	return $shipment->getFieldValues();
}