1С 8.3 Боты системы взаимодействия - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Боты системы взаимодействия

Данные > Примеры кода 1С > 1С 8.3 Боты системы взаимодействия
Реклама:
Бот системы взаимодействия в 1С 8.3 - это объект конфигурации, который используется для реакции на сообщения в режиме реального времени. Обычно используются для реализации различных сценариев при интеграции с мессенджерами (Telegram), социальными сетями (ВКонтакте), интернет-телефонией. Например: ответы на входящие сообщения во время отсутствия сотрудника на рабочем месте (чат-боты) или различные оповещения: о поступление заказа, о новом этапе бизнес процесса в 1С, при проходе сотрудника через турникет предприятия на проходной, о входящем звонке и т.п..

У бота системы взаимодействия есть серверный модуль с обработчиком события получения сообщения. Функциональность доступна с версии 8.3.18. Для внедрения необходим сервер (клиент-серверный вариант) или компьютер с запущенным сеансом (файловый вариант). Реализация возможна также и на разных конфигурациях (например, если в организации используют несколько конфигураций: ERP, БП, Документооборот, ЗУП и т.д.) для этого необходим общий локальный сервер системы взаимодействия или облачный ресурс WSS.
Обработчик события получения сообщения через Систему взаимодействия в 1С 8.3:
&НаСервере
Процедура ОбработкаСообщенияСистемыВзаимодействия(Сообщение, ДополнительныеПараметры)

   
ТелоВалюты = Нрег(Сообщение.Текст);// Получаем весь текст сообщения
   
Если СтрНайти(ТелоВалюты, "USD") <> 0 ИЛИ СтрНайти(ТелоВалюты, "Доллар") <> 0 Тогда
       
КодВалюты = "840";
    ИначеЕсли
СтрНайти(ТелоВалюты, "EUR") <> 0 ИЛИ СтрНайти(ТелоВалюты, "Евро") <> 0 Тогда
       
КодВалюты = "978";
    ИначеЕсли
СтрНайти(ТелоВалюты, "BYN") <> 0 ИЛИ СтрНайти(ТелоВалюты, "Белорусский рубль") <> 0 Тогда
       
КодВалюты = "933";
    Иначе
       
КодВалюты = "0";
    КонецЕсли;

   
// Выводим наш ответ на экран пользователю (в зависимости от кода валюты - покажем её курс)
   
НашОтвет = СистемаВзаимодействия.СоздатьСообщение(Сообщение.Обсуждение);
    Если
КодВалюты <> "0" Тогда
       
// Параметры: адрес, порт (http:80, https:443), пользователь, пароль, прокси, таймаут в секундах, защищ.соединение (для https)
       
Соединение = Новый HTTPСоединение("cbrates.rbc.ru");
       
// Получение текста страницы через запрос.
       
HTTPЗапрос = Новый HTTPЗапрос("tsv/" + КодВалюты + Формат(ТекущаяДата(), "ДФ=/YYYY/MM/DD") + ".tsv");
       
Ответ = Соединение.Получить(HTTPЗапрос);// Get запрос

       
Если Ответ.КодСостояния <> 200 Тогда
           
НашОтвет.Текст = "Код ошибки №" + Ответ.КодСостояния;
        Иначе
           
Содержимое = Ответ.ПолучитьТЕлоКакСтроку();

           
СтрОтвета = "Курс валюты";
            Если
КодВалюты = "840" Тогда
               
СтрОтвета = СтрОтвета + "доллара: ";
            ИначеЕсли
КодВалюты = "978" Тогда
               
СтрОтвета = СтрОтвета + "евро: ";
            ИначеЕсли
КодВалюты = "933" Тогда
               
СтрОтвета = СтрОтвета + "белорусского рубля: ";
            КонецЕсли;

           
МН = СтрРазделитель(Содержимое, Символы.Таб);
           
КурсВалюты = Число(МН[1]) / Число(МН[0]);
           
СтрОтвета = СтрОтвета + КурсВалюты;
           
НашОтвет.Текст = СтрОтвета;
        КонецЕсли;
    Иначе
       
НашОтвет.Текст = "Не найдена валюта";
    КонецЕсли;

   
НашОтвет.Записать();// Сохранение в системе взаимодействия

КонецПроцедуры
Поиск кода
4
комментарии
Илья Артемов
22 май 2020
А мне нравиться, что теперь можно ботов писать без костылей. Спасибо 1С!
Александр
22 май 2020
Скорее начало 22
Гарри
20 май 2020
Погодьте, это 18-ый релиз. Когда массово начнем на нем писать, будет конец 21-ого? :)
Евгений
19 май 2020
Опять что то сделали для разработчиков, а нет нам предлагают программировать ботов с помощью СтрНайти
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 19.05.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому