Как подключить бота к 1С без ручного переноса данных
Способы интеграции с 1С:Предприятие: OData, HTTP-сервисы и обмен файлами. Почему нельзя писать в базу напрямую и как не сломать обмен обновлением конфигурации.
Знакомая картина: заявки приходят с сайта или в мессенджер, а в 1С их переносят руками. Остатки выгружают в Excel, чтобы сверить с маркетплейсом. Платежи из банка сопоставляют со счетами вручную. Всё это можно отдать боту — но подключать его к 1С нужно правильно, иначе интеграция сломается при первом же обновлении конфигурации.
Что обычно автоматизируют
- Заявки в документы. Бот принимает заказ с сайта или из Telegram и создаёт в 1С заказ покупателя или счёт.
- Остатки и цены наружу. Бот забирает из 1С актуальные остатки и цены и отдаёт их на сайт, маркетплейс или менеджеру в чат.
- Сверка. Бот сопоставляет платежи, счета и отгрузки и сообщает о расхождениях.
- Отчёты по расписанию. Выручка, долги, продажи за день — сообщением в Telegram, без захода в 1С.
Способы подключения
У 1С:Предприятия есть штатные механизмы обмена с внешними системами. От выбора между ними зависит, придётся ли дорабатывать конфигурацию.
Стандартный интерфейс OData
REST-интерфейс, который платформа даёт без программирования в конфигурации. Базу публикуют на веб-сервере и указывают, какие справочники, документы и регистры будут доступны. Через него можно читать данные, создавать и менять объекты, проводить документы.
Главное достоинство — типовую конфигурацию менять не нужно, поэтому её обновления не ломают обмен. Ограничение — работа идёт с объектами «как они есть», и сложную логику приходится повторять на стороне бота.
HTTP-сервисы
Собственные REST-методы внутри 1С, которые пишутся под задачу: например, «создай заказ и верни его номер» одним вызовом, со всеми проверками на стороне 1С. Гибко и надёжно, но требует доработки конфигурации.
Чтобы доработка не мешала обновлениям, её оформляют расширением — отдельным слоем, который подключается к базе и не меняет основную конфигурацию.
Обмен файлами
Бот и 1С обмениваются файлами по расписанию. Это самый простой вариант, когда веб-доступа к базе нет, но данные приходят с задержкой, а ошибки обмена сложнее отследить.
Чего делать не стоит
Писать в базу данных напрямую, через SQL. Технически это возможно, но в обход самой 1С: не выполняются проверки, не формируются движения по регистрам, не пишется история изменений. В итоге данные выглядят правильно, а отчёты расходятся.
Дорабатывать типовую конфигурацию без расширений. Тогда каждое обновление превращается в ручной перенос изменений, и обмен ломается в самый неподходящий момент.
Как сделать интеграцию надёжной
- Отдельный пользователь для бота с правами только на нужные объекты. Если что-то пойдёт не так, бот не сможет навредить остальной базе.
- Журнал обмена: каждая операция, её результат и текст ошибки, если она была. Без журнала «заказ не дошёл» превращается в расследование.
- Повтор и защита от дублей. Если связь прервалась, бот повторяет операцию — и при этом не создаёт второй такой же документ.
- Уведомления об ошибках ответственному человеку, а не только запись в лог.
Что подготовить до начала работ
- какая конфигурация и какой редакции, типовая или доработанная;
- где работает база: на своём сервере, в файловом варианте или в облаке;
- опубликована ли база на веб-сервере — от этого зависит, доступны ли OData и HTTP-сервисы;
- кто сопровождает 1С: штатный программист, франчайзи или никто;
- какие операции сейчас делают вручную и сколько времени на них уходит.
С облачной 1С всё зависит от провайдера: если он даёт доступ к веб-сервисам, подключение работает так же; если нет — подбираем обходной вариант.
Что входит в работу — на странице «1С-боты».