• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/services/recipientdataprovider.php
  • Класс: BitrixSaleDeliveryServicesRecipientDataProvider
  • Вызов: RecipientDataProvider::getContact
static function getContact(Shipment $shipment): ?Contact
{
	$event = new Event(
		'sale',
		EventActions::EVENT_ON_NEED_DELIVERY_RECIPIENT_CONTACT,
		['SHIPMENT' => $shipment]
	);

	$event->send();
	$eventResults = $event->getResults();
	foreach ($eventResults as $eventResult)
	{
		if ($eventResult->getType() === EventResult::SUCCESS)
		{
			$recipientContact = $eventResult->getParameters();
			if ($recipientContact instanceof Contact)
			{
				return $recipientContact;
			}
		}
	}

	$order = $shipment->getOrder();
	if (!$order)
	{
		return null;
	}

	return self::getContactFromOrder($order);
}