- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/internals/product2product.php
- Класс: BitrixSaleInternalsProduct2ProductTable
- Вызов: Product2ProductTable::onSaleDeductOrderHandlerEvent
static function onSaleDeductOrderHandlerEvent(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_DEDUCT_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_DEDUCT_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_DEDUCT_ORDER_WRONG_ORDER'),
'sale'
);
}
static::onSaleDeductOrderHandler($order->getId(), $order->isShipped() ? 'Y' : 'N');
return new MainEventResult( MainEventResult::SUCCESS, null, 'sale');
}