Главная страница / Блог / Как добавить название сайта в номер заказа 1С-Битрикс (многосайтовость)
1С-Битрикс

Как добавить название сайта в номер заказа 1С-Битрикс (многосайтовость)

2 июля 2026 5 минут чтения 1798 просмотров

Если под управлением 1С-Битрикс работает сразу несколько интернет-магазинов (режим многосайтовости), менеджерам бывает сложно быстро определить, с какого именно сайта поступил новый заказ. Особенно это неудобно, когда все магазины используют единую административную панель и общую почту.

По умолчанию Битрикс формирует обычные номера заказов (1001, 1002, 1003 и т.д.), которые никак не содержат информацию о сайте. Исправить это можно при помощи собственного обработчика события формирования номера заказа.

Добавляем собственный формат номера заказа

Откройте файл /bitrix/modules/sale/init.php (или создайте обработчик в своем модуле) и добавьте следующий код:

<?php

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

$eventManager->addEventHandlerCompatible(
    'sale',
    'OnBeforeOrderAccountNumberSet',
    function ($orderId, $type) {

        if ($type == 'siteid_orderid' && $orderId > 0) {

            $arOrder = CSaleOrder::GetByID($orderId);

            $number = $arOrder['ID'];

            switch ($arOrder['LID']) {

                case 's1':
                    $suffix = 'Рога и копыта';
                    break;

                case 's2':
                    $suffix = 'Попкорн и печеньки';
                    break;

                default:
                    $suffix = 'Электроника';

            }

            return $number . ' - ' . $suffix;
        }

        return false;

    }
);

$eventManager->addEventHandlerCompatible(
    'sale',
    'OnBuildAccountNumberTemplateList',
    function () {

        return [
            'CODE' => 'siteid_orderid',
            'NAME' => 'SITE_ID: ORDER_ID'
        ];

    }
);

?>

Как это работает

Представим, что у вас используется три сайта:

  • s1 — «Рога и копыта»;
  • s2 — «Попкорн и печеньки»;
  • s3 — «Электроника».

Пусть поступают следующие заказы:

  • №1000 — сайт s1;
  • №1001 — сайт s2;
  • №1002 — сайт s3.

Стандартный Битрикс покажет менеджеру только номера:

1000
1001
1002

После подключения обработчика номера будут выглядеть значительно информативнее:

1000 - Рога и копыта
1001 - Попкорн и печеньки
1002 - Электроника

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

Какие данные можно использовать

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

  • [ID] — ID заказа;
  • [LID] — идентификатор сайта;
  • [DATE_INSERT] — дата создания заказа;
  • [DATE_INSERT_FORMAT] — дата в отформатированном виде;
  • [PERSON_TYPE_ID] — тип плательщика;
  • [USER_ID] — ID пользователя.

Например, никто не мешает сделать номера вида:

MSK-10025
SHOP-10544
CATALOG-9001

или даже:

SHOP-10025-2026

Все зависит только от логики вашего проекта.

Включение собственного шаблона

После добавления обработчика необходимо открыть:

Настройки → Настройки продукта → Интернет-магазин → Формат номера заказа.

В списке появится новый шаблон, который необходимо выбрать.

Обратите внимание, что пользовательские шаблоны нельзя комбинировать со стандартными форматами Битрикса. Работать будет только один выбранный вариант.

Несколько важных нюансов

  • изменение затрагивает только новые заказы;
  • старые номера автоматически не переименовываются;
  • обработчик срабатывает только при создании нового заказа;
  • для Битрикс24 (модель «Интернет-магазин + CRM») этот способ обычно не влияет на номер сделки — в CRM продолжит использоваться собственный формат.

Если вы используете многосайтовость, добавление названия сайта или собственного префикса в номер заказа значительно упрощает работу менеджеров. Уже по одному номеру можно понять, откуда пришел заказ, не открывая его карточку и не просматривая дополнительные поля.

Комментарии

Будем рады вашему мнению и вопросам по статье.