Документация для разработчиков

События служб доставок

СобытиеОписание и параметры
onSaleDeliveryHandlersClassNamesBuildList Происходит при построении списка обработчиков служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков служб доставок и путей к ним.

Смотрите также
onSaleDeliveryExtraServicesClassNamesBuildList Происходит при построении списка обработчиков дополнительных сервисов служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков и путей к ним.

Смотрите также
onSaleDeliveryTrackingClassNamesBuildList Происходит при построении списка обработчиков отслеживания отправлений служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков и путей к ним.

Обработчик должен быть наследником \Bitrix\Sale\Delivery\Tracking\Base. Чтобы воспользоваться этим обработчиком, необходимо указать его в качестве обработчика в конкретной службе доставки. Например, с помощью метода \Bitrix\Sale\Delivery\Services\Base::setTrackingClass(). Как образец можно использовать \Bitrix\Sale\Delivery\Tracking\RusPost, \Sale\Handlers\Delivery\SpsrTracking.
onSaleShipmentsTrackingStatusesChanged Происходит после изменения статуса почтовых отправлений.

Параметры
\Bitrix\Sale\Delivery\Tracking\StatusChangeEventParam[] Массив данных по отправлениям.

Ответ от обработчика события не предполагается.

Если, например, мы хотим все изменения статусов отправлений записывать в файл, то сделать это можно таким образом:

function saleShipmentsTrackingStatusesChanged($params)
{
    file_put_contents($_SERVER["DOCUMENT_ROOT"]."/local/log/tracking.log", print_r($params, true)."\n", FILE_APPEND);
}

$eventManager->addEventHandler('sale', 'onSaleShipmentsTrackingStatusesChanged', 'saleShipmentsTrackingStatusesChanged');
		
onSaleDeliveryServiceCalculate Происходит после расчёта стоимости доставки.

Параметры
RESULT Объект типа \Bitrix\Sale\Delivery\CalculationResult с результатами вычислений.
SHIPMENT Объект типа \Bitrix\Sale\Shipment - отгрузка, для которой вычислялась стоимость.
DELIVERY_ID Идентификатор службы доставки.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: RESULT - объект типа \Bitrix\Sale\Delivery\CalculationResult с дополненными результатами вычислений.

Смотрите также


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх