Подключить приложение к 1С можно тремя способами: напрямую через HTTP-сервис в конфигурации 1С, через промежуточный сервер, который хранит копию каталога и общается с 1С по расписанию, или через очереди сообщений между ними. Для приложения с живыми покупателями почти всегда правильный ответ — промежуточный сервер с очередью: 1С остаётся учётной системой, а не сервером для тысяч телефонов. Ниже — сравнение схем, пошаговый план с участием программиста 1С и чек-лист того, что подготовить до старта.
ПРАВИЛОПриложение разговаривает с бэкендом, бэкенд — с 1С. Телефон пользователя никогда не ходит в учётную базу напрямую.
Почему приложение не стоит вешать напрямую на базу 1С
Самая соблазнительная схема — опубликовать HTTP-сервис 1С в интернет и отдать его адрес мобильному разработчику. Работает она ровно до первой рассылки push или распродажи. Каждый пользователь, открывший каталог, создаёт запрос к 1С, а 1С в это время проводит документы, считает себестоимость и обслуживает кассы. В итоге тормозят и приложение, и учёт.
Есть и другие риски. Учётная база с ценами закупки и данными контрагентов оказывается доступна из интернета. Любое обновление конфигурации может поменять ответ сервиса — и уже установленные у клиентов версии приложения перестают работать. А если 1С на обслуживании, приложение показывает ошибку вместо каталога.
Поэтому в проектах интеграции мобильного приложения с 1С и CRM мы ставим между ними собственный бэкенд: он хранит каталог, остатки и цены, отвечает приложению быстро и сам договаривается с 1С о синхронизации.
Три схемы обмена приложения с 1С
| Схема | Как работает | Когда подходит | Риски |
|---|---|---|---|
| Прямой HTTP-сервис 1С | Приложение вызывает методы, опубликованные в конфигурации | Внутреннее приложение для десятка сотрудников в офисной сети | Нагрузка на 1С, безопасность, поломки при обновлении конфигурации |
| Промежуточный сервер | Бэкенд забирает данные из 1С по расписанию, приложение работает с его API | Клиентские приложения, магазины, программы лояльности | Нужно продумать частоту синхронизации и правила конфликтов |
| Сервер + очереди | Заказы и события копятся в очереди и доставляются в 1С с повторами | Высокая нагрузка, несколько баз 1С, требование «ни одного потерянного заказа» | Сложнее архитектура, нужен мониторинг обмена |
Прямой HTTP-сервис
В 1С есть механизм HTTP-сервисов: программист описывает методы — получить номенклатуру, создать заказ — и публикует их через веб-сервер. Для корпоративного приложения, где пользователи — ваши кладовщики или торговые агенты, это иногда допустимо. Но и здесь мы советуем хотя бы кеш на стороне сервера.
Промежуточный сервер
Основная схема для клиентских приложений. Бэкенд хранит актуальную копию каталога, цен и остатков. Остатки, цены и статусы обновляются по расписанию от 15 минут, заказы уходят в 1С сразу. Частоту подбираем под нагрузку 1С, чтобы обмен не мешал бухгалтерии и складу.
Очереди
Надстройка над предыдущей схемой. Каждый заказ получает уникальный идентификатор и попадает в очередь. Если 1С недоступна — на обновлении или из-за сбоя связи, — заказы копятся и уходят, когда она вернётся. Повторная отправка после обрыва не создаёт дубль документа. Клиент в приложении сбоя не видит.
Что передаётся между приложением и 1С
Состав полей фиксируют на этапе архитектуры, но типичный набор выглядит так. Из 1С в приложение: номенклатура с иерархией, характеристики, типы цен, остатки по складам, статусы заказов, договоры и акты для личного кабинета. Из приложения в 1С: заказы, оплаты, клиенты, заявки на документы.
Ключевой вопрос — кто источник правды по каждому полю. Обычно 1С отвечает за остатки и цены, приложение — за заказы, CRM — за статус сделки. Конфликты при таком подходе не «съедаются молча», а логируются и разрешаются по правилу.
Если у вас уже есть интернет-магазин, связанный с 1С, и приложение строится на общем с ним бэкенде, отдельный обмен не нужен: остатки, цены и заказы приходят из той же 1С. Настроить или переделать сам обмен магазина помогает интеграция интернет-магазина с 1С — штатная от 350 000 ₸, для доработанной конфигурации от 450 000 ₸.
Пошаговый план подключения приложения к 1С
- Аудит конфигурации и систем — 1 неделяКакая 1С и насколько доработана, где хранятся данные, какие API уже есть, кто поддерживает базу. На выходе — карта систем и риски.
- Архитектура обмена — 1 неделяСхема данных, состав полей, частота синхронизации, источник правды по каждому полю, правила конфликтов.
- Доработки на стороне 1СПрограммист 1С готовит HTTP-сервисы или правила обмена по согласованной схеме. Это делает ваш специалист или наш — решаем на аудите.
- Разработка коннекторов — 2–4 неделиСервер, API для приложения, очереди, повторы, обработка ошибок, журнал обмена.
- Тестирование на копии — 1 неделяРеальные данные, нагрузка, обрывы связи, откаты, дубли. Боевая база в это время не затрагивается.
- Постепенный запуск и мониторингНовый обмен работает параллельно старому, алерты приходят в Telegram или на почту. Старый канал отключаем, когда новый отработал без ошибок.
Весь путь занимает 4–8 недель. Обмен с 1С входит в формат «Полный контур» — от 3 000 000 ₸ вместе с единым профилем, платежами и CRM. Если баз 1С несколько или нужна шина данных, это формат «Enterprise» — от 6 000 000 ₸.
Не включить в проект человека, который поддерживает 1С. Мобильная команда пишет коннектор, а через месяц внутренний программист обновляет конфигурацию — и обмен ломается. Программист 1С должен участвовать в архитектуре и знать, какие объекты трогать нельзя без предупреждения.
Роль программиста 1С и лицензий
Со стороны 1С обычно нужны три вещи: доступ к копии базы для разработки, специалист, который знает вашу конфигурацию, и актуальная платформа с подпиской ИТС. Если конфигурация типовая, доработки минимальны. Если сильно изменена, на аудите оцениваем, что можно отдать через правила обмена, а что — через промежуточный сервис с кешем. Чем старее конфигурация, тем больше работы, и это видно в смете сразу.
Бывает, что проблема глубже: учёт ведётся в Бухгалтерии, а для приложения нужны остатки по складам и типы цен, которые живут в Управлении торговлей или Рознице. Тогда сначала стоит навести порядок в учёте. Подбор конфигурации, рабочих мест и ИТС делаем в рамках поставки продуктов 1С.
О типичных причинах, по которым обмен с 1С «не работает» у интернет-магазинов, мы подробно писали в статье про обмен сайта с 1С — большинство из них актуальны и для приложений.
Чек-лист перед стартом интеграции
- Название и версия конфигурации 1С, список доработок, если он есть
- Контакт программиста или компании, которая поддерживает 1С
- Копия базы или тестовый контур для разработки
- Список данных, которые нужны приложению: каталог, цены, остатки, бонусы, документы
- Решение, кто источник правды по ценам, остаткам, клиентам и статусам
- Требуемая свежесть данных: остатки раз в 15 минут или раз в час
- Где будет работать сервер: ваш или облако в Казахстане
- Человек, который принимает решения по правилам обмена
- Исходники приложения или доступ к репозиторию, если его делал другой подрядчик
Как понять, что обмен работает правильно
После запуска обмен нужно наблюдать, а не надеяться. Минимум — журнал каждого обмена, алерты при ошибках и автоматические повторы. Признаки, что пора разбираться: остатки в приложении расходятся с 1С дольше интервала синхронизации, в 1С появляются дубли заказов, менеджеры просят «перевыгрузить вручную».
Если 1С обновили и обмен упал, мониторинг сразу присылает алерт, а заказы встают в очередь и не теряются. На поддержке мы реагируем на аварию в течение часа и обновляем коннекторы под новую версию 1С. Крупные обновления конфигурации лучше согласовывать заранее.
Что делать дальше
Если приложение уже есть, начните с недельного аудита: он покажет, можно ли подключить 1С без переписывания и где нужны доработки. Если приложение только планируется — заложите обмен в архитектуру с первого дня, иначе потом его придётся встраивать в готовый код. В обоих случаях запросите у подрядчика схему: кто источник правды, как часто синхронизация и что происходит, когда 1С недоступна. По ответам на эти три вопроса видно, насколько продуман будущий обмен. Обсудить вашу ситуацию можно на странице интеграции приложения с 1С.
Можно ли подключить приложение к 1С, если она стоит на компьютере в офисе?
Да, но серверу приложения нужен стабильный доступ к базе. Обычно публикуем защищённый канал от 1С к нашему бэкенду, а не открываем 1С в интернет. Если связь пропадает, заказы ждут в очереди.
Как часто синхронизируются остатки и цены?
По расписанию от 15 минут, заказы и заявки — сразу. Частоту подбираем под нагрузку 1С, чтобы обмен не тормозил учёт.
Подойдёт ли 1С на старой конфигурации?
Да, если есть доступ к базе или выгрузкам. Что-то отдаём через правила обмена, что-то — через промежуточный сервис с кешем. Объём работ виден после аудита.
Учёт не в 1С — интеграция возможна?
Да, принцип тот же: подключаемся к учётной системе через API или выгрузки. Если API нет, делаем промежуточный слой без переделки самой системы.