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