Здравствуйте!
Необходимо выполнить определенные действия после оплаты заказа пользователем, перепробовал все что только можно.
Почему то не срабатывают события связанные с изменение заказов и статусов заказов.
Остальные события типа OnBasketOrder, OnAfterUserAdd, OnBeforeEventAdd, OnBeforeIBlockElementDelete и т.д. работают на ура.
Создал тестовые функции с сохранением логов
Код |
---|
// http://dev.1c-bitrix.ru/api_help/sale/events/index.php
AddEventHandler("sale", "OnBeforeOrderUpdate", array("MyEvents","testOnBeforeOrderUpdate"));
AddEventHandler("sale", "OnOrderUpdate", array("MyEvents","testOnOrderUpdate"));
AddEventHandler("sale", "OnBeforeStatusUpdate", array("MyEvents","testOnBeforeStatusUpdate"));
AddEventHandler("sale", "OnStatusUpdate", array("MyEvents","testOnStatusUpdate"));
AddEventHandler("sale", "OnSaleBeforePayOrder", array("MyEvents","testOnSaleBeforePayOrder"));
AddEventHandler("sale", "OnSalePayOrder", array("MyEvents","testOnSalePayOrder"));
AddEventHandler("sale", "OnSaleBeforeStatusOrder", array("MyEvents","testOnSaleBeforeStatusOrder"));
AddEventHandler("sale", "OnSaleStatusOrder", array("MyEvents","testOnSaleStatusOrder"));
class MyEvents
{
function testOnBeforeOrderUpdate() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnOrderUpdate() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnBeforeStatusUpdate() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnStatusUpdate() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnSaleBeforePayOrder() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnSalePayOrder() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnSaleBeforeStatusOrder() {
self::test(func_get_args(),__FUNCTION__);
}
function testOnSaleStatusOrder() {
self::test(func_get_args(),__FUNCTION__);
}
function test($vars,$function) {
AddMessage2Log($function."\n".var_export($vars,true));
}
....
} |
В чем может быть проблема?
Версия ядра (16.0.5)