Клиент жалуется, что заказ завис в статусе "Обрабатывается" неделями? Или 1С не видит новые заказы, и менеджеры перезванивают каждому покупателю вручную. Мы сталкивались с такими кейсами десятки раз — настройка обмена заказами между 1С и 1С-Битрикс требует понимания механики CommerceML и маппинга статусов. За 10+ лет интеграций мы выработали процесс, который гарантирует прозрачную синхронизацию без потерь. Оценим ваш проект за 1 день, пишите.
Проблемы, которые решаем
Статусы не синхронизируются. Стандартный маппинг в Битрикс (Магазин → Настройки → Статусы заказов) задаёт соответствие кода статуса в 1С и на сайте. Ошибка — 1С возвращает "Неизвестный статус", обновление не применяется. Мы проверяем каждую пару и добавляем запасные варианты. Если статусы переименовали в 1С после обновления — маппинг летит. Мы автоматизируем проверку соответствия в первый день.
Заказы дублируются. Если сеанс обмена прервался после передачи файла, при следующем запуске заказы передаются повторно. Защита — уникальный идентификатор заказа (ACCOUNT_NUMBER) и проверка существования документа в 1С. В сложных случаях подключаем REST API, который атомарно подтверждает приём. Это снижает нагрузку на CRM и исключает ручную сверку.
Потери свойств заказа. UTM-метки, промокоды, тип клиента — стандартный CommerceML их не передаёт. Добавляем через обработчик OnSaleOrderExport1C. Контролируем, чтобы в 1С были созданы соответствующие реквизиты. Без этого аналитика по рекламе будет неполной.
Почему статусы не синхронизируются?
Типичная причина — несоответствие идентификаторов. Пример стандартного маппинга для УТ 11:
| Статус в 1С | Код статуса Битрикс | Описание |
|---|---|---|
| В работе | P |
Принят, передан в обработку |
| Подготовлен к отгрузке | D |
Комплектуется / Готов |
| Передан курьеру | F |
Доставляется |
| Выполнен | FF |
Доставлен, закрыт |
| Отменён клиентом | C |
Отменён |
Если коды не совпадают — статус не обновится. Также проблемы возникают при переименовании статусов в 1С после обновления конфигурации. Мы добавляем логирование каждого вызова, чтобы быстрее найти несоответствие.
Как ускорить обмен заказами?
CommerceML работает по расписанию (раз в несколько минут или часов). Если требуется real-time — используем REST API 1С. Скорость передачи на порядок выше, и заказ появляется в 1С сразу после оформления. Сравнение:
| Характеристика | CommerceML | REST API |
|---|---|---|
| Задержка | от 1 минуты до 1 часа | 1-5 секунд |
| Контроль целостности | через XML, possible errors | HTTP-статусы, идемпотентность |
| Сложность настройки | низкая | средняя |
| Надёжность | зависит от cron | выше, atomic операции |
REST API быстрее CommerceML в десятки раз, но требует больше работы на стороне 1С. Мы используем гибридный подход: базовый обмен через CommerceML, а для критичных заказов — REST. Это баланс между стоимостью и скоростью.
Типичные ошибки при настройке
- Неправильный маппинг статусов (коды не совпадают)
- Отсутствие проверки уникальности заказа (ACCOUNT_NUMBER)
- Не настроены права на запись в папку обмена
- Закончилось место на диске для XML-файлов
- Устаревшая версия CommerceML (рекомендуем 2.11+)
Как мы это делаем
Настройка проходит в несколько этапов:
- Анализ — изучаем конфигурацию 1С (УТ, УПП, ERP), версию Битрикс, текущие обработчики.
- Проектирование — определяем список заказов для выгрузки, маппинг статусов, передаваемые свойства. Если есть нестандартные обработчики (
OnSaleOrderExport1C), готовим код. - Реализация — включаем выгрузку в админке (
Настройки → Настройки продуктов → Интернет-магазин → Обмен заказами). Задаём статусы: обычноN(Новый) иP(Оплачен). Период — с даты последнего обмена, чтобы не дублировать. - Тестирование — создаём тестовый заказ, проверяем его появление в 1С, обновление статуса на сайте. Логируем запросы.
- Деплой — переносим на бой, настраиваем мониторинг (например, телеграм-бот при ошибке синхронизации).
Пример push-отправки через событие OnSaleOrderSaved:
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderSaved',
function(\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
if ($order->isNew()) {
\MyProject\Exchange\OrderPusher::push($order->getId());
}
}
);
Что входит в работу
- Документация: схема обмена, маппинг статусов, описание обработчиков.
- Доступы: настройка прав для 1С и сайта.
- Обучение: инструкция для менеджеров по работе с заказами.
- Поддержка: 2 недели бесплатного сопровождения после запуска.
Мы гарантируем стабильную синхронизацию. Опыт — более 50 проектов по интеграции 1С и Битрикс. Сертифицированные специалисты. Свяжитесь для консультации — оценим проект за 1 день. Инвестиции в настройку окупаются за счёт автоматизации. Стоимость рассчитывается индивидуально и зависит от сложности.
Сроки ориентировочно
| Сложность | Срок |
|---|---|
| Базовая (CommerceML + маппинг) | 4–8 часов |
| Средняя (нестандартные свойства, обработчики) | 1–2 дня |
| Сложная (REST API + real-time) | 2–4 дня |
Стоимость рассчитывается индивидуально. Пишите — сделаем точную оценку.







