Постоянное соединение с 1С из другого приложения.

1. nevelin_storm 12.04.23 15:50 Сейчас в теме
Привет всем!
Подскажите пожалуйста, как можно реализовать такой функционал: есть мобильное приложение, через которое пользователь отправляет данные. Сразу оговорюсь, что это не мобильный клиент 1С и не мобильная конфигурация. 1С должен принимать эти данные и выполнять какие-либо действия с ними. Происходить это должно не по нажатию кнопки в 1С, а автоматически. По сути должен постоянно прослушиваться определённый адрес, через которой по http передаются данные. Читал, что это можно реализовать через сокеты, нашёл такой пример кода:

1. Настройка HTTP-сервера в 1С. Для этого необходимо создать обработчик событий HTTP-сервера, который будет обрабатывать полученные запросы.

&НаСервереБезКонтекста
&Расширение(/ОбработчикиСобытий/HTTP/)

&АвтосохранениеДанных
&ЧтениеДанных
&ЗаписьДанных

Процедура ПриПоступленииЗапроса(Запрос, Ответ)
  Попытка
    Данные = Запрос.Прочитать(); // Чтение полученных данных
    ОбработкаДанных(Данные); // Обработка полученных данных
    Ответ.УстановитьКодСостояния(200); // Ответ с кодом 200 - "Успех"
  Исключение
    Ответ.УстановитьКодСостояния(500); // Ответ с кодом 500 - "Ошибка сервера"
  КонецПопытки;
КонецПроцедуры
Показать


В данном примере задается процедура ПриПоступленииЗапроса, в которой читаются данные из полученного запроса и выполняется обработка этих данных функцией ОбработкаДанных(). Если при обработке происходит ошибка, возвращается ответ с кодом 500, иначе - с кодом 200.

2. Настройка порта для работы с HTTP-сервером. Для этого нужно добавить настройки порта в конфигурацию 1С. Настройки могут включать параметры, такие как IP-адрес, порт, протокол и другие для настройки подключения. Например:

&НаСервере
&РазрешитьДоступ

СерверHTTP = Новый СерверHTTP();
ПортСервера = 8080;
СерверHTTP.НачатьОбслуживание(ПортСервера);


Только так и не понял, где это реализовать и есть ли более простой способ?

Буду только рад ссылкам на документацию или похожие темы с ответами
По теме из базы знаний
Найденные решения
4. spacecraft 12.04.23 16:08 Сейчас в теме
(3) именно HTTP-сервисы. Их можно настроить как необходимо и выполнять необходимый код по обработке получаемых данных.
Входящие обращения прослушивает веб-сервер. И если адрес соответствует, то вызывает эти сервисы. Так что да, в итоге HTTP-сервисы постоянно прослушивают обращение к себе, если доступны.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 12.04.23 15:59 Сейчас в теме
(1) чем стандартный функционал HTTP-сервисов в 1С не устраивает?
По описанию полностью соответствует.
nevelin_storm; +1 Ответить
3. nevelin_storm 12.04.23 16:03 Сейчас в теме
(2) а он умеет прослушивать на постоянке обращения к себе? И вы подразумеваете REST-интерфейс (OData)?
4. spacecraft 12.04.23 16:08 Сейчас в теме
(3) именно HTTP-сервисы. Их можно настроить как необходимо и выполнять необходимый код по обработке получаемых данных.
Входящие обращения прослушивает веб-сервер. И если адрес соответствует, то вызывает эти сервисы. Так что да, в итоге HTTP-сервисы постоянно прослушивают обращение к себе, если доступны.
5. nevelin_storm 12.04.23 16:10 Сейчас в теме
(4)а получается тот код, который в примере был описан как обработка события http-сервиса, пишется в модуле http-сервиса?
6. spacecraft 12.04.23 16:13 Сейчас в теме
(5) тот код не подходит напрямую. Но в качестве псевдо кода можно рассматривать.
Создается сервис. Настраивается. В соответствующем модуле создается обработчик точки входа и пишется необходимый код.
Затем настраивается веб-сервер и публикуются сервисы на нем.
7. nevelin_storm 12.04.23 16:15 Сейчас в теме
(6)спасибо вам большое, более-менее понял как реализовать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот