mail@vecdev.ru

Своя кастомная нумерация заказов

/bitrix/modules/sale/init.php

                        
                        
<?
$eventManager = \Bitrix\Main\EventManager::getInstance();

$eventManager->addEventHandlerCompatible('sale', 'OnBeforeOrderAccountNumberSet',
    function ($orderId, $type){
        if($type == 'siteid_orderid' && $orderId > 0){
            $arOrder = CSaleOrder::GetByID($orderId);
            $num = $arOrder['ID']; // получаем номер заказа
            if($arOrder['LID'] == "s1") {
                $vdOrder = $num."- Рога и копыта";
            } elseif ($arOrder['LID'] == "s2") {
                $vdOrder = $num."- Попкорн и печеньки";
            } else {
                $vdOrder = $num."- Мемы и кеки"; // сайт по умолчанию, если вдруг мы не получили идентификатор
            }
            return $vdOrder;
        }
        return false;
    });

//ФОРМИРУЕМ САМ ФОРМАТ ВЫВОДА НОМЕРА ЗАКАЗ
$eventManager->addEventHandlerCompatible('sale', 'OnBuildAccountNumberTemplateList',
    function (){
        return array(
            'CODE' => 'siteid_orderid', 
            'NAME' => 'SITE_ID: ORDER_ID/DATE'); //формат вывода    
});
?>

Теперь представим ситуацию: у вас есть 3 сайта на мультисайтовости Битрикс (едина админка). Допустим сайты называются так:

  • Рога и копыта (ID = s1);
  • Попкорн и печеньки (ID=s2);
  • Мемы и кеки (ID=s3).

Допустим заказ №1000 приходит от сайта "Рога и копыта", заказ №1001 от "Попкорн и печеньки", заказ №1002 от "Мемы и кеки".

При стандартных настройках Битрикса вы бы никак не смогли понять откуда же пришел заказ, так как нельзя указать в номере заказа ID сайта.

При наших настройках Номера заказов, попадаемые на почту будут выглядеть так: "Поступил новый заказ №1000-Рога и копыта", "Поступил новый заказ №1001-Попкорн и печеньки", "Поступил новый заказ №1001-Мемы и кеки".

'NAME' => 'SITE_ID: ORDER_ID/DATE'

  • [ID]
  • [LID]
  • [DATE_INSERT]
  • [PERSON_TYPE_ID]
  • [USER_ID]
  • [DATE_INSERT_FORMAT]

Настройки - Модули - "Интернет-магазин"нельзя комбинировать

Кастомный формат заказа

Небольшая ремарка: для Битрикс-24 (допустим в случае модели Заказ+Сделка на лицензии Интернет-магазин+CRM) эта настройка работать не будет, там будет просто прилетать обычный номер заказа.

Частный разработчик сайтов Vector Dev
Комментарии
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
 
Guest
15.03.2022
Помогло!