Интеграция с 1С — самая частая задача в проектах для торговли и услуг и самый частый источник проблем: расхождения в остатках, потерянные заказы, ночные выгрузки, которые не успевают завершиться. Разбираем, как сделать правильно.
Что обычно нужно синхронизировать
- Из 1С на сайт: товары, характеристики, цены по типам, остатки по складам, статусы заказов, документы для личного кабинета.
- С сайта в 1С: заказы, новые клиенты, оплаты, возвраты, обращения.
Четыре способа интеграции
1. Стандартный обмен CommerceML. Встроен в 1С и популярные CMS. Подходит для небольших каталогов до 5–10 тыс. товаров. Минусы: выгрузка целиком, долго, ломается на больших объёмах, слабая гибкость.
2. HTTP-сервисы 1С и REST API. Пишем на стороне 1С сервисы, которые отдают и принимают данные по запросу. Обмен в реальном времени, только изменившиеся данные, полный контроль. Оптимальный вариант для большинства проектов.
3. OData. Стандартный интерфейс 1С для чтения и записи данных. Быстрый старт, но ограниченная логика и нагрузка на базу при больших выборках.
4. Интеграционная шина. При трёх и более системах (1С, сайт, CRM, маркетплейсы, склад) ставим промежуточный слой: очередь сообщений, журнал обменов, повторные отправки. Дороже на старте, дешевле в поддержке.
Типичные ошибки
- Полная выгрузка вместо инкрементальной. Каталог на 50 тыс. товаров выгружается 4 часа, и остатки на сайте всегда устаревшие.
- Нет журнала обменов. Заказ не дошёл до 1С, и об этом узнают от клиента через неделю.
- Логика в двух местах. Цены считаются и в 1С, и на сайте по-разному — расхождения неизбежны.
- Обмен блокирует 1С. Пользователи не могут работать, пока идёт выгрузка. Решается очередями и фоновыми заданиями.
- Отсутствие тестовой базы. Изменения проверяют на рабочей 1С — и ломают учёт.
Как мы строим интеграцию
- Источник правды для каждого типа данных один: товары и остатки — 1С, заказы — сайт до момента передачи.
- Инкрементальный обмен по событиям: изменилась цена — через минуту она на сайте.
- Журнал всех операций с возможностью повторить неудачную передачу.
- Уведомления ответственному при ошибке.
- Тестовый контур: копия 1С и тестовый сайт для проверки изменений.
Сроки и стоимость
| Задача | Срок | Стоимость |
|---|---|---|
| Обмен каталогом и заказами через CommerceML | 1–2 недели | 100–200 тыс. ₽ |
| REST-интеграция в реальном времени | 3–5 недель | 400–800 тыс. ₽ |
| Шина для 1С + сайт + CRM + маркетплейсы | 2–4 месяца | 1,5–4 млн ₽ |
Что подготовить перед стартом
Доступ к тестовой копии 1С, описание конфигурации и доработок, список данных для обмена, требуемую частоту обновления, контакт программиста 1С, если он есть. С этим набором оценка занимает 2–3 дня.