Integrations23 августа 2026 г.8 мин чтения

Как интегрировать 1С с веб-приложением

Коротко

Интеграцию 1С с веб-приложением строят одним из трёх способов: через HTTP-сервисы 1С (собственный REST API на стороне конфигурации), через файловый обмен по расписанию или через шину с очередями сообщений. Выбор зависит от требуемой свежести данных, объёма обмена и того, можно ли дорабатывать конфигурацию. Независимо от способа, надёжность определяют три проектных решения: контракт данных с устойчивыми идентификаторами (GUID, а не коды и наименования), идемпотентная обработка сообщений и журнал обмена, по которому видна каждая ошибка.

Содержание
  1. 01Зачем связывать 1С и веб-приложение
  2. 02Способы интеграции 1С с веб-приложением
  3. 03Как выбрать способ обмена
  4. 04Контракт данных: решение, которое дороже всего менять
  5. 05Типовые грабли: кодировки, блокировки, дубли
  6. 06Надёжность обмена: статусы, ретраи, журнал
  7. 07Безопасность: как публиковать 1С наружу
  8. 08Практический порядок действий

Зачем связывать 1С и веб-приложение

Для большинства компаний в Казахстане 1С — основной учётный контур: номенклатура, цены, остатки, взаиморасчёты, документы. Веб-приложение живёт по другую сторону: каталог, личный кабинет, заказы, онлайн-оплаты. Интеграция нужна, чтобы эти два мира не расходились и чтобы менеджеры не переносили данные руками.

Номенклатура, цены и остатки

Направление
уходят из 1С на сайт

Заказы, клиенты и статусы оплат

Направление
возвращаются из веб-приложения в 1С

Взаиморасчёты и документы отгрузки

Направление
показываются в личном кабинете
Типовые сценарии обмена

У каждого потока свои требования к скорости: остатки желательно обновлять за минуты, а взаиморасчёты обычно достаточно синхронизировать раз в сутки.

Способы интеграции 1С с веб-приложением

Под «интеграцией 1С через веб» обычно понимают обмен через опубликованные на веб-сервере HTTP-сервисы или OData-интерфейс 1С: сайт, CRM или приложение обращаются к 1С по HTTP, а не через файлы и ручную выгрузку. Ниже — четыре механизма и чем они отличаются.

Технически обмен строится на одном из четырёх механизмов. Они отличаются скоростью доставки данных, требованиями к доработке конфигурации и устойчивостью к недоступности одной из сторон.

  1. 01Веб-приложение
  2. 02HTTP-сервисы · OData · файлы · очереди
  3. 031С
Данные идут в обе стороны; транспорт выбирается под каждый поток отдельно.

HTTP-сервисы 1С

Как устроен
Начиная с платформы 8.3 конфигурация публикует собственные REST-обработчики: веб-приложение запрашивает остатки или передаёт заказ, 1С отвечает JSON
Сильные и слабые стороны
Самый гибкий вариант: наружу выставляется узкий, контролируемый API, а не вся база. Требует доработки конфигурации и публикации базы через веб-сервер

Стандартный интерфейс OData

Как устроен
Автоматический REST-доступ к объектам конфигурации, включается без программирования
Сильные и слабые стороны
Удобен для чтения справочников на старте, но плохо подходит для бизнес-логики: интерфейс «широкий», запросы тяжёлые, а права доступа приходится ограничивать очень аккуратно

Файловый обмен

Как устроен
Выгрузка XML (в том числе CommerceML) или CSV фоновым заданием по расписанию, передача через SFTP или общее хранилище
Сильные и слабые стороны
Медленный, зато простой в отладке и устойчивый: стороны не обязаны быть доступны одновременно. Разумный выбор для ночной синхронизации больших справочников

Шина и очереди сообщений

Как устроен
1С публикует события изменения данных в RabbitMQ или Kafka (напрямую или через агент-прослойку), подписчики забирают их в своём темпе
Сильные и слабые стороны
Оправдано, когда систем три и больше: сайт, CRM, склад, мобильное приложение — и каждой нужны одни и те же данные

Как выбрать способ обмена

Универсального ответа нет — есть набор критериев, по которым способ выбирается за одну проектную сессию. Ошибка на этом шаге дорогая: миграция с файлового обмена на событийную шину означает переписывание обеих сторон интеграции.

Статусы заказов и оплаты

Свежесть
секунды и минуты
Способ
HTTP-сервисы или очереди

Каталог и цены

Свежесть
часы
Способ
расписание

Взаиморасчёты

Свежесть
сутки
Способ
файловый обмен допустим
Свежесть данных
  • Объём: справочник на сотни тысяч позиций нельзя гонять целиком — нужен обмен по изменениям, и механизм должен его поддерживать
  • Возможность дорабатывать конфигурацию: типовая база на поддержке без снятия с замка ограничивает выбор — остаются OData, расширения конфигурации и внешние обработки
  • Число систем: две системы — точечная интеграция, три и больше — кандидат на шину, иначе количество связей растёт квадратично
  • Устойчивость к простоям: если 1С регулярно недоступна (обслуживание, обновления), синхронные HTTP-вызовы из веб-приложения должны быть обёрнуты в очередь с повторами — либо стоит сразу выбрать асинхронный обмен

Контракт данных: решение, которое дороже всего менять

Контракт данных — это зафиксированный до начала разработки ответ на четыре вопроса:

  • Какие сущности участвуют в обмене
  • Какими полями
  • Кто по каждой из них главный
  • Как сущности идентифицируются

Транспорт заменить можно, сломанный контракт — только мигрировать с болью на обеих сторонах.

В обратную сторону работает то же правило: заказ из веб-приложения приходит в 1С с внешним ключом, и 1С хранит его в реквизите документа. Тогда повторная передача того же заказа находит существующий документ, а не создаёт дубль.

Состав полей делайте минимально достаточным. Выгрузка «всего объекта на всякий случай» связывает системы жёстче, чем нужно: любая доработка справочника в 1С начинает ломать парсер на стороне веб-приложения. Версионируйте контракт явно — полем версии в сообщении или версией в адресе HTTP-сервиса.

Типовые грабли: кодировки, блокировки, дубли

Большинство инцидентов в интеграциях с 1С повторяются из проекта в проект. Их стоит закрывать проектно, до первого запуска в прод, а не по факту разбора инцидентов.

Кодировки

Что происходит
1С исторически отдаёт windows-1251, веб-стек ждёт UTF-8. Симптомы — нечитаемые названия номенклатуры, BOM в начале файла, ломающий парсер, числа вида «1 234,56» с неразрывным пробелом и запятой
Решение
Кодировку, разделители и формат дат фиксируйте в контракте явно

Блокировки

Что происходит
Выгрузка «всей базы» в рабочие часы держит длинную транзакцию и конкурирует с проведением документов — пользователи 1С видят зависания
Решение
Обмен по изменениям (планы обмена или регистрация изменений), короткие порции, тяжёлые полные выгрузки — в ночное окно

Дубли

Что происходит
Повторная доставка без проверки внешнего ключа создаёт второй документ заказа или второго контрагента
Решение
Перед созданием — поиск по GUID или внешнему коду, и только потом запись

Даты и часовые пояса

Что происходит
Сервер 1С и веб-приложение могут жить в разных зонах; момент документа без явного смещения сдвигает отчётность на день
Решение
Передавайте время в ISO 8601 со смещением

Справочники «поехали»

Что происходит
Перенумерация кодов, объединение дублей контрагентов, переименование папок — всё это рушит маппинг, построенный на кодах и именах
Решение
Ещё один аргумент за GUID

Надёжность обмена: статусы, ретраи, журнал

Интеграция без наблюдаемости — это обмен, который «вроде работает», пока бухгалтерия не находит расхождение месячной давности.

Минимальный производственный уровень:

  • У каждого сообщения есть статус (принято, обработано, ошибка)
  • Тело сообщения сохраняется в журнале обмена
  • Ошибки видны в мониторинге, а не только в логах сервера

Ошибки обрабатывайте повторными попытками с нарастающим интервалом, а сообщения, не прошедшие все попытки, складывайте в отдельную очередь разбора. Так временная недоступность 1С — обновление конфигурации, ночной бэкап — не превращается в потерянные заказы: обмен догоняет сам, когда база снова доступна.

Безопасность: как публиковать 1С наружу

Стандартная схема:

  • Публикация через веб-сервер
  • Перед ним — обратный прокси или API-шлюз
  • Наружу открыты только конкретные адреса HTTP-сервисов, всё остальное закрыто
  • HTTPS обязателен
  • Доступ — по ключу или токену с ротацией

Для обмена заводится отдельный пользователь 1С с минимальными правами: только те объекты и операции, которые нужны интеграции. Учётная запись администратора в настройках обмена — типовая находка аудита и прямой путь к утечке всей базы.

Практический порядок действий

Интеграция 1С с веб-приложением — это в первую очередь проектная работа, и только потом код. Последовательность, которая защищает от переделок, выглядит так.

  1. Инвентаризация потоков

    Какие данные, в какую сторону, с какой допустимой задержкой.

  2. Источник истины

    Назначение источника истины по каждой сущности и фиксация идентификаторов (GUID плюс внешние ключи).

  3. Транспорт

    Выбор простейшего достаточного транспорта для каждого потока: HTTP-сервисы, файлы, очереди.

  4. Контракт данных

    Поля, форматы, кодировка, версия — до первой строки кода.

  5. Обработчики и журнал

    Идемпотентные обработчики, статусная модель, журнал обмена и ретраи.

  6. QA и сверка

    QA-сценарии на повторную доставку, недоступность 1С и конфликт изменений; ежедневная сверка после запуска.

Сроки и стоимость такой интеграции зависят от состояния конфигурации, числа потоков данных и требований к свежести — оценка формируется после брифа. Команда InterLAB в Алматы проектирует и разрабатывает такие обмены как часть услуги интеграции корпоративных систем: от контракта данных и доработок на стороне 1С до журнала обмена и мониторинга.

Расскажите о задаче — мы изучим запрос и свяжемся с вами

Есть задача?
Обсудим и оценим — бесплатно.

Расскажите о продукте или проблеме. Предложим архитектуру, срок и стоимость первой версии после изучения задачи.

  • Оценка объёма и рисков до старта
  • NDA — по вашему или нашему шаблону
  • Старт работ в течение недели

Не присылайте через форму пароли, ключи доступа и исходный код — безопасную передачу доступа обсудим отдельно.

Нажимая кнопку, вы соглашаетесь с обработкой персональных данных.