Как решить проблему с отправкой данных в 1С: микросервис на Python и WebSocket

Проблема с отправкой данных в 1С

При длительных операциях или фоновых заданиях в 1С иногда возникает проблема с корректной отправкой информации с сервера. Это может приводить к задержкам и некорректной работе бизнес‑логики.

Существующие решения

В 1С есть два основных способа обойти эту проблему:

  • Использовать временное хранилище – «костыли», которые не всегда удобны.
  • Внедрить сервер взаимодействия 1С – решение, которое не всегда доступно всем клиентам.

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

Микросервис на Python с WebSocket

Небольшой микросервис, написанный на Python, принимает сообщения через HTTP‑протокол и пересылает их пользователю 1С через WebSocket. Такой подход обеспечивает:

  • Низкую задержку передачи данных.
  • Отсутствие необходимости в сложной настройке 1С.
  • Бесплатность и простоту развертывания.

Как это работает

1. Клиент (сервер 1С) отправляет запрос на микросервис по HTTP.

2. Микросервис принимает запрос, обрабатывает данные и сохраняет их в очередь.

3. Через WebSocket микросервис уведомляет пользователя 1С о готовности данных.

4. Пользователь получает сообщение и может выполнить дальнейшие действия.

Код и настройка

Исходный код микросервиса доступен для покупателей курса 1С Zadarma. В репозитории содержатся:

  • Python‑скрипт, реализующий HTTP‑обработчик и WebSocket‑сервер.
  • Конфигурационные файлы для запуска в Docker.
  • Инструкции по интеграции с 1С.

Вывод

Микросервис на Python с WebSocket предоставляет простое, бесплатное и надёжное решение для отправки данных из 1С при длительных операциях и фоновых заданиях. Это особенно полезно для тех, кто не имеет доступа к серверу взаимодействия 1С или хочет избежать «костылей» временного хранилища.