в HTTP-сервис прилетает JSON структура, которую я разбираю. (Делаю чат, прилетает сообщение) Вот как в реальном времени можно обновлять чат?
1. идея есть записывать в РС регламентным заданием каждые 5 сек искать новые сообщения.
2. (было бы идеально) моментально через Оповестить() передавать данные, но как я понял Оповестить на сервере не работают.
Может кто-то сможет накинуть крутую идею?
1. идея есть записывать в РС регламентным заданием каждые 5 сек искать новые сообщения.
2. (было бы идеально) моментально через Оповестить() передавать данные, но как я понял Оповестить на сервере не работают.
Может кто-то сможет накинуть крутую идею?
По теме из базы знаний
- "Подводные камни" при работе с макетами типа ActiveDocument 1С 8.3 УФ. Клиент-Сервер. Режимы работы Тонкий, Веб клиенты
- Передача файла с клиента на сервер и с сервера на клиент. Управляемые формы
- Передача данных с сервера на клиент
- Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки
- Взаимодействие с сотрудниками и клиентами из одного окна конфигурации 1С (Телеграм, ВКонтакте, Facebook, Discord). Преимущества, технические особенности, подводные камни
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)
Ну тут либо сервер взаимодействия, либо провоцировать обмен с клиента.
У сервиса который делает интеграцию с мессенджерами, есть вебхуки. В них вставляешь опубликованный на апаче http сервис. В http сервисе делаешь процедуру метода GET или POST и в зависимости от того какой запрос прилетает, та процедура и срабатывает
Ну тут либо сервер взаимодействия, либо провоцировать обмен с клиента.
У меня аналогичная задача была. Я через Сервер Взаимодействия вопрос решил. С сервера посылаешь и у клиента все квакает, показывает. Там еще плюшки есть. Но ... или Диалог (ругают периодически за тупость) или свой, но дорого.
(9)Я разбирался с задачей не так давно. Вариантов найти не смог. Кроме сервера взаимодействия. Но как вы сказали сервер взаимодействия платный. И мне он не подошел. Поэтому я пришел к одному логичному выводу: Получить данные можно только с клиента. Другими словами клиент должен спровоцировать событие и оповестить сервер о своем существовании (если уж совсем по простому). Если кто-то со мной не согласен, прошу написать аргументированные доводы.
(9) Ну как пример лови мою процедурку рассылающую уведомления пользователям. Вызывается с сервера само собой.
Процедура ОповещениеОтАТС(Кому, ТекстОповещения, Действие=Неопределено, Данные = Неопределено)
Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
КомуИБ = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(Кому.Наименование));
КомуИД = СистемаВзаимодействия.ПолучитьИдентификаторПользователя(КомуИБ.УникальныйИдентификатор);
// Уведомления рассылаются от пользователя "АТС"
АвторИБ = ПользователиИнформационнойБазы.НайтиПоИмени("АТС");
АвторИД = СистемаВзаимодействия.ПолучитьИдентификаторПользователя(АвторИБ.УникальныйИдентификатор);
КлючОбсуждения = Строка(АвторИД) +" - "+ Строка(КомуИД);
Обсуждение = СистемаВзаимодействия.ПолучитьОбсуждение(КлючОбсуждения);
// Если Обсуждение не найдено создается новое
Если Обсуждение = Неопределено Тогда
Обсуждение = СистемаВзаимодействия.СоздатьОбсуждение();
Обсуждение.Групповое = Ложь;
Обсуждение.Ключ = КлючОбсуждения;
Обсуждение.Участники.Добавить(АвторИД);
Обсуждение.Участники.Добавить(КомуИД);
Обсуждение.Записать();
КонецЕсли;
Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор);
Сообщение.Автор = АвторИД;
Сообщение.Текст=ТекстОповещения;
Если Действие<>Неопределено Тогда
Сообщение.Действия.Добавить(Действие.Команда, Действие.Описание);
КонецЕсли;
Если Данные<>Неопределено Тогда
Сообщение.Данные = Данные;
КонецЕсли;
Сообщение.Записать();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот