Коннектор, модуль обмена и API: чем отличаются способы связать 1С с Битриксом
Связать 1С с Битриксом можно тремя способами, и в разговоре их постоянно путают. Разница в том, кто пишет логику обмена и кто за неё отвечает.
Штатный модуль обмена
Идёт в комплекте: для сайта это обмен по протоколу CommerceML, для портала — приложение обмена с 1С. Настраивается без программирования, поддерживается вендором, обновляется вместе с продуктами.
Подходит, когда учёт ведётся в типовой конфигурации, а задачи стандартные: выгрузить каталог, принять заказы, передать контрагентов и счета. Ограничения тоже стандартные — что умеет и чего не умеет обмен.
Готовое решение из Маркета
Модуль стороннего разработчика, который расширяет штатные возможности: больше сущностей, гибкие правила, поддержка нетиповых конфигураций. Стоит дешевле разработки и ставится быстро.
Здесь важны два вопроса: когда решение обновлялось последний раз и кто его поддерживает. Брошенный модуль ломается после очередного обновления платформы, и чинить его будет некому — подробнее в словарной статье про Маркет.
Интеграция через API
Своя логика обмена: данные забираются и передаются по правилам, которые вы описали. Так делают, когда нужны нетиповые документы, обмен с несколькими базами, собственные алгоритмы сопоставления или нестандартная частота.
Дороже и дольше остальных вариантов, зато не зависит от чужих обновлений и делает ровно то, что нужно. Для больших каталогов обработку данных дополнительно выносят в отдельный слой — случай разобран в материале когда каталог перерастает CMS.
Как выбрать
- Типовая 1С и обычный каталог — штатный модуль, и не усложняйте.
- Типовая 1С, но нужны характеристики, несколько складов или цен — готовое решение или доработка правил.
- Доработанная конфигурация, свои документы, несколько систем — интеграция через API.
- Не знаете, что из этого ваш случай — считайте по списку: выпишите, что должно передаваться, и сверьте со списком возможностей штатного обмена. Всё, чего там нет, и есть объём работ.
Мы делаем все три варианта и на предпроектном этапе говорим прямо, когда достаточно штатного обмена: интеграция с внешними системами.
Частые вопросы
Что обычно имеют в виду под словом «коннектор»?
Чаще всего — готовое решение из Маркета, которое связывает две системы без программирования. Но тем же словом называют и штатный модуль обмена, и самописную интеграцию. Поэтому в разговоре с подрядчиком стоит уточнять: что именно ставим, кто это поддерживает и что будет при обновлении.
Готовое решение всегда дешевле разработки?
На старте да. Разница появляется позже: если готовое решение не покрывает ваш сценарий, его дорабатывают, а дорабатывать чужой код дороже, чем писать свой. Ещё важно, обновляется ли решение: брошенный модуль перестаёт работать после очередного обновления платформы.
Когда нужна интеграция через API?
Когда обмен должен делать то, чего нет в готовых схемах: передавать нетиповые документы, собирать данные из нескольких баз, обрабатывать их по вашим правилам. Это дороже и дольше, зато логика ваша и не зависит от чужих обновлений.