Здравствуйте, собственно вопрос в названии темы.
Мне нужно отследить изменение пользовательских свойств в заказе, и потом после расчетов полученной информации изменить параметры заказа.
В init.php код примерно такого содержания
AddEventHandler("sale", "OnOrderUpdate", "Package" );
function Package($ID){
.....................
$arFields = array(
"USER_ID" => $arOrder["USER_ID"],
"PRICE" => $summa
);
CSaleOrder::Update($ID, $arFields);
}
Получается рекурсия, я пробовал сделать костыль и в функции проверять если НЕ существует функция тогда ее выполнять иначе ничего не делать.
Но так как событие OnOrderUpdate вызывается и до нажатия кнопки применить в админке, выполняется сразу как только нажимаю кнопку изменить заказ,
то у меня ничего не вышло.
Подскажите пожалуйста может быть мне использовать другое событие, так как возникает рекурсия?
P.S. я никаких других событий не нашёл чтобы они срабатывали при изменении пользовательских свойств заказа.
Мне нужно отследить изменение пользовательских свойств в заказе, и потом после расчетов полученной информации изменить параметры заказа.
В init.php код примерно такого содержания
AddEventHandler("sale", "OnOrderUpdate", "Package" );
function Package($ID){
.....................
$arFields = array(
"USER_ID" => $arOrder["USER_ID"],
"PRICE" => $summa
);
CSaleOrder::Update($ID, $arFields);
}
Получается рекурсия, я пробовал сделать костыль и в функции проверять если НЕ существует функция тогда ее выполнять иначе ничего не делать.
Но так как событие OnOrderUpdate вызывается и до нажатия кнопки применить в админке, выполняется сразу как только нажимаю кнопку изменить заказ,
то у меня ничего не вышло.
Подскажите пожалуйста может быть мне использовать другое событие, так как возникает рекурсия?
P.S. я никаких других событий не нашёл чтобы они срабатывали при изменении пользовательских свойств заказа.