Как на Битрикс запретить отмену заказа?

Добрый день!
Возник вопрос, как запретить изменение статуса заказа на "Отменен"?
Суть проблемы в том, что сейчас реализован запрет на изменение статуса заказа, если заказ "отправлен" или "доставлен".
Но поменять с "отправлен" на "доставлен" тоже не удается
Как можно запретить заказам со статусом "отправлен" или "доставлен" менять статус на "отменен"?
use Bitrix\Main;

Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderBeforeSaved',
    'onSaleOrderBeforeSavedHandler'
);

function onSaleOrderBeforeSavedHandler(Main\Event $event)
{
    global $USER;

    /* @var Order $order */
    $order = $event->getParameter("ENTITY");
    $oldValues = $event->getParameter("VALUES");
    $isNew = $event->getParameter("IS_NEW");

    if (!$isNew) {
        $userGroups = $USER->GetUserGroupArray();

        if ($order->getField('STATUS_ID') === 'J' || $order->getField('STATUS_ID') === 'V') {

            return new \Bitrix\Main\EventResult(
                \Bitrix\Main\EventResult::ERROR,
                new \Bitrix\Sale\ResultError('Редактирование заказа запрещено'),
                'sale'
            );

        }

    }
}
  • Вопрос задан
  • 1228 просмотров
Пригласить эксперта
Ответы на вопрос 1
В поисках решения попал на эту страницу.

Нужно использовать действие перед изменением OnSaleBeforeStatusOrderChange чтобы его отменить, в OnSaleOrderBeforeSaved сохранение уже произошло и можно только заново его установить
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы