Интеграции, 3 мин чтения
Как связать 1С с сайтом и не сломать её обновлением
Почему обмен нужно строить на OData и расширении, а не правкой конфигурации.
Самый частый разговор про интеграцию начинается одинаково: «у нас конфигурация переписана, обновления её ломают, поэтому мы вообще ничего не трогаем». Это разумный страх, и его стоит закрывать до того, как обсуждать цену.
Что такое OData в 1С
В платформе 8.3 есть штатный REST-интерфейс. Он включается публикацией базы на веб-сервере и открывает справочники и документы наружу без единой строчки кода в конфигурации. Это важно: если обмен построен на нём, обновление типовой ничего не ломает, потому что ломать нечего.
Через OData видно номенклатуру, характеристики, цены, остатки по складам, контрагентов, заказы и документы. Для девяти задач из десяти этого хватает.
Когда OData не хватает
Бывает, что нужный расчёт живёт внутри конфигурации: своя логика резервирования, нестандартный подбор цены, проведение по особым правилам. Тогда пишется HTTP-сервис, но не в конфигурации, а в расширении.
Расширение это отдельный объект, который живёт рядом с типовой и переживает её обновление. Доработка внутри конфигурации не переживает.
Разница выясняется через полгода, когда бухгалтерия просит обновить типовую под новую форму отчётности. С расширением обновляетесь и работаете дальше. С правкой конфигурации выбираете между обновлением и работающим обменом.
Почему между сайтом и 1С нужен промежуточный слой
Соблазн ходить в 1С напрямую с каждой страницы сайта велик, и заканчивается это одинаково: база ложится в момент, когда на сайт заходит сотня человек. 1С не рассчитана на веб-нагрузку.
- Справочники и остатки кэшируются на стороне сайта и обновляются раз в 10–15 минут
- Тяжёлые выборки идут пакетами по расписанию, а не по запросу пользователя
- Запись из сайта в 1С выполняется через очередь, а не синхронно
- Обмен ходит под отдельным служебным пользователем с минимальными правами, не под администратором
Что придётся сделать вам
Неприятная часть: перед обменом почти всегда нужен разбор справочника. Один товар заведён трижды разными людьми, размер и цвет вписаны в наименование текстом вместо характеристик. Обмен не лечит беспорядок, он переносит его на сайт и делает видимым.
Решения по спорным карточкам принимает заказчик: только он знает, какая из трёх правильная. Обычно это три-четыре часа рабочего времени, и заложить их надо заранее.