Интеграция 1С и 1С-Битрикс кажется привычной задачей, пока обмен не начинает «ронять» заказы, путать статусы и рисовать фантазийные остатки. В этой статье — живой список «граблей» и рабочие решения, чтобы магазин продавал стабильно, а бухгалтерия и склад видели одни и те же цифры.
Грабля №1: разные идентификаторы номенклатуры
В 1С и Битриксе у одной позиции могут быть разные коды (SKU, артикул, GUID). В итоге остатки и цены «прилетают» в чужие карточки или создаются дублеты.
- Решение: закрепите единый первичный ключ. В Битриксе храните GUID 1С в отдельном свойстве, а в 1С — внешний код Битрикса. Заблокируйте создание товаров «с руками» без ключа.
- Профилактика: миграция сопоставлений + nightly валидатор: «каждый товар в Б24 имеет GUID 1С, и наоборот».
Грабля №2: дубли заказов из-за повторных колбэков
Сеть «похандрилa» — и 1С повторно отправляет пакет. Битрикс принимает второй раз, и в CRM появляются двойники.
- Решение: идемпотентность. На стороне Битрикса проверяйте уникальный
external_id
/номер заказа 1С и не создавайте запись, если такая уже в базе. - Практика: храните журнал принятых идентификаторов с TTL и блокируйте повторные операции по ключу.
Грабля №3: статусы и оплата «разъезжаются»
В 1С «Отгружен», в Битриксе «Готов к выдаче», а клиент видит «Оплачен». Поддержка тонет в вопросах.
- Решение: карта соответствия статусов «1С ↔ Битрикс» + единая диаграмма переходов. Запрещайте «прыжки» мимо шагов.
- Важно: оплата меняет только финансовый статус, отгрузка — только складской. Не смешивайте.
Грабля №4: неверные остатки и «призрачные» резервы
Остаток на сайте «10», на складе «3», резервы не освобождаются при отмене — корзина трещит по швам.
- Решение: раздельный учёт доступно к продаже = фактический остаток − резервы − отбор. Обменом передавайте не только «остаток», но и статусы резервов.
- Практика: включите резервы по событию «создание заказа» и снимайте при отмене/истечении TTL брони.
Грабля №5: округления цен и НДС
В 1С цена хранится с 4 знаками, в Битриксе — с 2. В заказе расхождение на копейки — касса не бьёт чек.
- Решение: синхронизируйте правила округления и ставку НДС. Передавайте цену за единицу и сумму позиции отдельно, храните базовую точность 1С в Битриксе.
Грабля №6: частичные отгрузки и возвраты «ломают» обмен
Часть заказа уехала, часть ждёт поставки, клиент вернул одну позицию — статусы «скачут».
- Решение: разрешите многостатусность на уровне позиций: каждая строка имеет свой статус отгрузки и оплаты. Общий статус заказа собирается агрегированием.
Грабля №7: тайм-зоны и «вчерашние» даты
В отчётах отгрузка завтра, на сайте — уже сегодня. От этого ломается SLA доставки.
- Решение: храните метки времени в UTC, отображайте в локали. На обмене — ISO 8601 с тайм-зоной.
Грабля №8: тяжёлые пакеты и падение крона
Большие выгрузки каталога или заказов кладут обмен по таймауту, возникают «дырки» в данных.
- Решение: инкрементальный обмен: только изменённые записи. Пакетируйте по 200–500 элементов, на стороне Битрикса — очередь задач и повтор с бэкофом.
Грабля №9: ручные правки в обеих системах
Контент-менеджер отредактировал цену в Битриксе, бухгалтер — в 1С. Кто прав, никто не знает.
- Решение: один источник истины: цены и остатки — только из 1С; контент/медиа — из PIM/Битрикса. Из Битрикса в 1С уходит только заказ и статусы оплаты/возврата.
Как настроить обмен: рабочая схема
- Идентификация: зафиксируйте ключи (GUID 1С в свойстве товара Битрикса, external_id у заказов).
- Каталог: сначала справочники (ед. измерения, НДС, склады), потом товары, далее цены/остатки.
- Заказы: на сайт — инкремент по статусам и оплате; в 1С — новые/изменённые с идемпотентностью.
- События: вебхуки статусов и оплат с подписью. Обрабатывайте асинхронно, не держите клиента на «вертушке».
- Валидация: перед записью проверяйте суммы, НДС, доступность склада, корректность статуса.
Битрикс: на что обратить внимание
- Включите логирование обмена и ограничьте доступ по IP/токену.
- Проверьте права на инфоблоки: обмен не должен падать из-за запрета записи.
- Разграничьте типы цен и валюту, настройте курсы и точность округлений.
- Отключите «автосоздание» карточек из обмена, если нет полного профиля товара.
Контроль качества интеграции
Еженедельно сверяйте показатели: количество заказов «туда/обратно», долю ошибок обмена, время лагов, расхождения по суммам и остаткам. Триггерите алерты при превышении порогов (например, 1% заказов с ошибками).
Нужен стабильный обмен без дублей и «магических» остатков?
Студия Web-Химики настроит интеграцию 1С и 1С-Битрикс: спроектируем схему идентификации, очистим обмен, подключим идемпотентность и очередь событий, выровняем статусы и проверим округления. Оставьте заявку — получите чёткий план работ и стабильную синхронизацию без сюрпризов.