Почему обмен с 1С ломается: дубли, потерянные заказы и расхождения остатков

Содержание
«Обмен с 1С опять не работает» одна из самых частых фраз в компаниях, где сайт, портал или CRM связаны с учётом. Обычно причина не в 1С и не в сайте, а в том, что интеграцию сделали как прямое соединение без защиты от сбоев.
Эта статья для тех, кто хочет понять, что происходит под капотом, и для тех, кто выбирает подрядчика.
Причина 1. Повторные запросы и дубли
Портал отправил заказ в 1С. Ответ не пришёл из-за тайм-аута. Портал считает, что заказ не дошёл, и отправляет его снова. В 1С два одинаковых заказа.
Решение: идемпотентность. У каждой операции есть уникальный ключ, и 1С или интеграционный слой проверяет, не была ли она уже выполнена.
Причина 2. Нет очереди
Если 1С недоступна (обновление, перезагрузка, тяжёлый отчёт), прямой обмен просто падает. Заказ либо теряется, либо зависает с ошибкой, которую никто не видит.
Решение: очередь сообщений. Данные сначала записываются в надёжное хранилище, а затем доставляются, когда получатель готов.
Причина 3. Нет повторной отправки
Временная ошибка воспринимается как окончательная. Через минуту 1С снова доступна, но заказ уже помечен как неудачный.
Решение: повтор с увеличивающейся паузой и отдельный список сообщений, которые не удалось доставить после нескольких попыток.
Причина 4. Порядок событий
Статус «отгружен» пришёл раньше, чем «собран». Или изменение цены пришло после заказа, который уже должен был использовать новую цену.
Решение: версии и временные метки у каждого объекта и правила, что делать с устаревшими событиями.
Причина 5. Изменился формат
В 1С добавили реквизит, обновили конфигурацию или изменили справочник. Обмен начинает падать на каждом сообщении.
Решение: версионирование формата и проверочные тесты обмена после каждого обновления конфигурации.
Причина 6. Нет сверки
Даже хорошая интеграция иногда ошибается. Без регулярной сверки расхождения накапливаются месяцами.
Решение: ежедневная автоматическая сверка количества и сумм заказов, оплат и остатков с отчётом о расхождениях.
Причина 7. Нет журнала
Когда клиент жалуется на потерянный заказ, никто не может восстановить, что произошло.
Решение: журнал, где у каждой операции есть сквозной номер, время, статус и текст ошибки.
Причина 8. Три системы без правил
Портал, 1С и Битрикс24 обмениваются данными попарно, и каждая считает себя главной. Сделка закрыта в CRM, а заказ в 1С отменён. Контрагент изменён в одной системе и не изменён в другой.
Решение: единая карта данных и интеграционный слой, через который проходят все обмены.
Что получает бизнес от надёжного обмена
- заказы не теряются и не дублируются;
- сбой одной системы не останавливает продажи;
- ошибки видны сразу, а не через неделю;
- поддержка тратит минуты, а не часы на разбор инцидентов;
- обновление 1С перестаёт быть стрессом.
Частые вопросы
Можно ли починить существующую интеграцию?
Часто да. Начинают с аудита: где теряются данные, есть ли журнал, как обрабатываются ошибки. Иногда дешевле переписать слабое звено, чем чинить всё.
Нужен ли отдельный сервер для интеграции?
Для серьёзного объёма да. Интеграционный слой снимает нагрузку с 1С и даёт контроль над обменом.
Это дорого?
Дороже прямого соединения на старте, но дешевле, чем регулярные потери заказов и время сотрудников на ручной разбор.


