Меню
RSS
События вызываемые при сохранении заказа
 
События вызываемые при сохранении заказа

Иногда необходимо выполнить определенные действия с заказом при его изменении. Для этого можно использовать события
OnSaleOrderBeforeSaved и OnSaleOrderSaved.
 
Пример использования события OnSaleOrderSaved для изменения статуса заказа.
В данном примере мы будем проверять статус заказа после его сохранения. Если статус заказа равен "C"
(например, "Обработан"), мы переводим его в статус "F" (например, "Завершен").

Код
use Bitrix\Main;

Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderSaved', // Наше событие
    'updateOrderStatus'
);

function updateOrderStatus(Main\Event $event)
{
    $order = $event->getParameter("ENTITY");
    $currentStatus = $order->getField("STATUS_ID");

    // Проверяем, если текущий статус заказа "C"
    if ($currentStatus === 'C') { 
        // Переводим заказ в статус "F"
        $order->setField("STATUS_ID", "F");
       // $order->save(); // Сохраняем изменения в заказе
    }
}
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Время на БД и веб сервере отличается на 3600 секунд, тест Битрикс

Достаточно часто, при проверке параметров системы, в Битрикс, можно увидеть одну из ошибок: Время на БД и на сервере- Вр...

Получение токена доступа API Firebase (HTTP v1) с помощью PHP для отправки push-уведомлений.

До июня 2024 года API Firebase использовал постоянный токен доступа, который можно было получить один раз в консоли. Одн...

Локальный Copilot в PhpStorm / VSCode, с помощью Continue. Свой, бесплатный Cursor

Это краткий план-черновик для видео (само видео ниже). В нем рассказывается о том, как запустить локальную ИИ мо...

Настройка push уведомлений через Firebase в приложении Apache Cordova

Задача: Apache Cordova предоставляет удобный способ разработки кроссплатформенных мобильных приложений. В данной статье ...

Определить местоположение пользователя и показать магазины поблизости.

Задача: в мобильном приложении, которое открывает сайт на 1С-Битрикс внутри себя, нужно определить местоположение пользо...

Установка поиска Sphinx на Ubuntu 22.04 для 1С-Битрикс

Задача: установить и сконфигурировать поиск Sphinx под управлением Ubuntu 22.04 и панели управления HestiaCP для использ...

Прятать или показывать описание раздела каталога

В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...

Очистка корзины в 1С-Битрикс одним нажатием

В стандартной корзине Битрикс не хватает кнопки для полной очистки корзины одним нажатием. Требуется это довольно редко,...

Показать пользователей онлайн на странице сайта

Задача: показать на странице сайта пользователей которые сейчас находятся на сайте. Используется штатный модуль "Ве...