• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/product2product.php
  • Класс: BitrixSaleInternalsProduct2ProductTable
  • Вызов: Product2ProductTable::onSaleDeliveryOrderHandlerEvent
static function onSaleDeliveryOrderHandlerEvent(MainEvent $event)
{
	$shipment = $event->getParameter('ENTITY');
	if ((!$shipment instanceof SaleShipment))
	{
		return new MainEventResult(
			MainEventResult::ERROR,
			new SaleResultError(MainLocalizationLoc::getMessage('SALE_EVENT_PRODUCT2PRODUCT_WRONG_SHIPMENT'), 'SALE_EVENT_PRODUCT2PRODUCT_ON_SALE_DELIVERY_ORDER_WRONG_SHIPMENT'),
			'sale'
		);
	}

	if (!$shipmentCollection = $shipment->getCollection())
	{
		return new MainEventResult(
			MainEventResult::ERROR,
			new SaleResultError(MainLocalizationLoc::getMessage('SALE_EVENT_PRODUCT2PRODUCT_WRONG_SHIPMENTCOLLECTION'), 'SALE_EVENT_PRODUCT2PRODUCT_ON_SALE_DELIVERY_ORDER_WRONG_SHIPMENTCOLLECTION'),
			'sale'
		);

	}

	if (!$order = $shipmentCollection->getOrder())
	{
		return new MainEventResult(
			MainEventResult::ERROR,
			new SaleResultError(MainLocalizationLoc::getMessage('SALE_EVENT_PRODUCT2PRODUCT_WRONG_ORDER'), 'SALE_EVENT_PRODUCT2PRODUCT_ON_SALE_DELIVERY_ORDER_WRONG_ORDER'),
			'sale'
		);

	}

	static::onSaleDeliveryOrderHandler($order->getId(), $order->isAllowDelivery() ? 'Y' : 'N');

	return new MainEventResult( MainEventResult::SUCCESS, null, 'sale');
}