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

События, связанные с изменением заказов

Примечание: перечисленные ниже события устарели с версии 15.5.0, но в продукте сохранена обратная совместимость. Поэтому их можно использовать, если в настройках модуля Интернет-магазин отмечена опция Включить обработку устаревших событий. Либо вы можете использовать события нового ядра.


Событие Описание и параметры МетодС версииДо версии
OnBeforeOrderAdd Вызывается перед добавлением заказа, может быть использовано для отмены или модификации данных.
Параметры
&arFields Массив полей заказа
Add4.0.6 15.5.0
OnOrderAdd Вызывается после добавления заказа.
Параметры
ID Идентификатор добавленного заказа
arFields Массив полей заказа
Add4.0.6 15.5.0
OnOrderSave Вызывается после обработки свойств заказа. Отличается от OnOrderAdd тем, что сохраняются не только поля заказа, но и свойства заказа.
Параметры
orderId Идентификатор добавленного заказа.
fields Массив полей заказа и дополнительные функциональные поля, влияющие на заказ.
orderFields Массив свойств заказа.
isNew Флаг, является ли заказ новым (true/false).
DoSaveOrder14.5.1415.5.0
OnBeforeOrderUpdate Вызывается перед изменением заказа, может быть использовано для отмены или модификации данных.
Параметры
ID Идентификатор заказа
arFields Массив полей заказа
Update4.0.6 15.5.0
OnOrderUpdate Вызывается после изменения заказа.
Параметры
ID Идентификатор заказа
arFields Массив полей заказа
Update 4.0.615.5.0
OnBeforeOrderDelete Вызывается перед удалением заказа, может быть использовано для отмены.
Параметры
ID Идентификатор заказа
Delete 4.0.615.5.0
OnOrderDelete вызывается после удаления заказа
Параметры
ID Идентификатор заказа
Success Индикатор успешности. Выводит true, если удаление произошло успешно. И false, если удаление заказа не произошло (например, не удалось удалить корзину заказа, или подписку по заказу).
Delete 4.0.615.5.0
OnSaleCalculateOrder Вызывается после калькуляции заказа. В событии передается &arOrder, те можно вносить правки в массив заказа в обработчике события.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderDiscount Вызывается после расчёта скидки на заказ.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder 11.5.015.5.0
OnSaleCalculateOrderDelivery Вызывается после расчёта доставки.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderDeliveryTax Вызывается после расчёта налога на доставку.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderPaySystem Вызывается после определения платёжной системы.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderPersonType Вызывается после определения типа плательщика.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderProps Вызывается после формирования свойств плательщика.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderShoppingCart Вызывается после формирования массива заказа из корзины.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0
OnSaleCalculateOrderShoppingCartTax Вызывается после определения налогов.
Параметры
arOrder Массив параметров заказа
CSaleOrder::DoCalculateOrder11.5.0 15.5.0


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
3
Антон Жидков
Для отмены создания заказа в обработчике OnBeforeOrderAdd необходимо вернуть false. Пример:


Код
AddEventHandler("sale", "OnBeforeOrderAdd", "OnBeforeOrderAddHandler");

function OnBeforeOrderAddHandler(&$arFields) {
    // ... process fields

    return false;
}
***********
Комментарий разработчика: Да, но событие устарело с 15.5.0.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх