«БИП: Бизнес-Процессы». Интеграция с Telegram и Конструктор чат-ботов

16.03.21

Интеграция - Мессенджеры и боты

В статье приводятся примеры настройки автоматических оповещений в системе «БИП: Бизнес-Процессы» с использованием мессенджера Telegram. Также, приводятся примеры создания и настройки произвольных чат-ботов с использованием Конструктора чат-ботов.

Всем здравствуйте!

Это продолжение предыдущих частей Часть №1Часть №2Часть №3Часть №4 и Часть №5, в которых речь шла о различных вариантах и аспектах использования системы «БИП: Бизнес-Процессы».

 

 

Программный продукт «БИП: Бизнес-Процессы» предназначен для настройки произвольных бизнес-процессов в пользовательском режиме в любых конфигурациях 1С, работающих на технологической платформе «1С:Предприятие 8.3» в режиме управляемого приложения. Продукт может использоваться как отдельная конфигурация для моделирования бизнес-процессов, как дополнение для встраивания в существующие конфигурации и как расширение. Каждый вариант сертифицирован и имеет официальный статус «1С:Совместимо!».

 

Программный продукт предлагается в 2 вариантах:


Система автоматических оповещений устанавливается как отдельное расширение «Сигнал» и позволяет отправлять автоматические и ручные сообщения пользователям следующими способами:

  •  в штатной системе взаимодействия,
  •  по электронной почте,
  •  в Telegram.

Эта часть будет посвящена мессенджеру Telegram и его использованию в рамках системы «БИП: Бизнес-Процессы» (или её базовой версии «Зодиак»), начиная с версии 1.0.3.6.

 

Содержание

  1. Общие сведения
  2. Пример использования Telegram для автоматических оповещений
  3. Пример использования Telegram для отправки сообщений вручную
  4. Пример использования чат-бота в Telegram для взаимодействия с системой
  5. Конструктор чат-ботов
  6. Настройка интеграции с Telegram
  7. Дополнение: программный код
  8. Заключение

 

Общие сведения

Для демонстрации примеров, приведенных в данной статье, нам потребуется:

  • «БИП: Бизнес-Процессы» (или её базовая версия «Зодиак»),
  • Расширение для автоматических оповещений «Сигнал» (входит в комплект основной поставки),
  • Telegram-клиент (мобильная версия или версия для компьютера).

Для демонстрации примеров подсистема «БИП: Бизнес-Процессы» подключена к типовой конфигурации «1С:Управление Торговлей», ред. 11.4. Это могла бы быть любая другая типовая (или нетиповая) конфигурация. Механизмы настройки и использования одинаковы для всех конфигураций.

Подробное описание подключения и настройки расширения для автоматических оповещений «Сигнал» приводится в статье «БИП: Бизнес-Процессы». Примеры использования. Часть №5. Система оповещений. В настоящей статье приводятся только нюансы, непосредственно связанные с Telegram.

↑Наверх


Пример использования Telegram для автоматических оповещений

Для примера создадим самый простой сценарий, состоящий из 1 шага. Это будет шаг - «Согласование договора».

 

Для процесса и задачи по нему укажем сроки выполнения (это необязательно, но сроки выполнения мы позже увидим в полученных сообщениях):

  

 

Исполнителя для задачи указывать не будем. В этом случае исполнителем будет назначен пользователь, запустивший новый процесс.

В рамках данного примера этого вполне достаточно.

 

Сценарий к использованию готов. Теперь по нему можно в любое время запускать новые процессы «согласования договоров».

Теперь осталось научить программу, чтобы по данному сценарию она отправляла сообщения в Telegram.

Для этого откроем настройки оповещений по текущему сценарию и добавим 2 оповещения:

  • Telegram-оповещение при запуске процесса с текстом сообщения «Запущен новый процесс». Получатель сообщения - Автор процесса (пользователь, запустивший новый процесс по сценарию).
  • Telegram-оповещение при создании новой задачи с текстом сообщения «Вам поставлена новая задача». Получатель сообщения - Исполнитель задачи (в нашем случае это тот же пользователь, который запустил процесс).

 

Всё готово.

 

После того, как пользователь запустит новый процесс (или процесс будет запущен автоматически), указанные в настройках оповещений пользователи получат сообщения в Telegram.

В зависимости от Telegram-клиента, точнее от его версии (для компьютера или для смартфона) и платформы (Windows, Android, iOS) форматирование сообщений может незначительно отличаться. При этом, текстовое наполнение будет одним и тем же.

 

В настройках оповещения, при вводе текста сообщения, доступно форматирование, а также использование эмодзи.

 

Полученное в данном случае сообщение будет иметь жирную подчеркнутую строку «Важно! Обратите внимание на срок выполнения».

↑Наверх

 

Пример использования Telegram для отправки сообщений вручную

Кроме автоматических оповещений в рамках расширения «Сигнал» доступно ручное создание и отправка сообщений в Telegram.

Для этого, в списке сообщений следует добавить новое сообщение, указать получателя, выбрать тип оповещения Telegram и написать сообщение.


Для немедленной отправки следует нажать . Сообщение будет отправлено.

 

Если требуется отложенная отправка сообщения, то в новом сообщении следует указать дату и время, когда сообщение должно быть отправлено.

 

Сообщение будет отображаться в общем списке с отметкой об отложенной отправке.

 

В указанное время сообщение будет отправлено получателю автоматически.

↑Наверх

 

Пример использования чат-бота в Telegram для взаимодействия с системой

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

Пользователь данного чат-бота может выполнять следующие функции, находясь в мессенджере Telegram:

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

Рассмотрим эти функции по порядку.

Для того, чтобы начать работу с этими функциями пользователь должен написать команду Меню.

После этого появится 3 новых кнопки: Мои задачи, Новая задача, Новый процесс.

При нажатии кнопки Новая задача, бот предложит ввести данные о новой задаче в формате [Описание], [Исполнитель], [Срок], [Важная].

Срок, при этом, можно указывать в различных вариантах: 06.02 14:00, 06.02.21 14:00, 06.02.2021 14:00, 6.2 14:00, 6.2. Если указать число - количество дней, то срок будет рассчитан от текущей даты по указанному количеству дней.

После ввода данных, в основной базе будет создана новая задача.

 

Информация о созданной задаче будет показана в окне сообщений...

..., а в базе данных появится новая задача для выполнения.

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

 

 

Следующим пунктом меню является пункт создания и запуска новых процессов.

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

После этого в системе будет автоматически запущен новый процесс по выбранному сценарию.

Информация о новом процессе будет показана в окне сообщений...

..., а в базе данных появится новый активный процесс.

Если в настройках сценария включена настройка «Ручной старт новых процессов», то новый процесс не будет запущен, а будет только записан в статусе «Создан». И сообщение будет содержать не строку «Создан и запущен новый процесс», а «Создан новый процесс».

 

Следующий пункт меню - создание новых задач.

При нажатии кнопки Мои задачи, бот покажет список задач, которые необходимо выполнить текущему пользователю.

При выборе задачи будет предложено 2 кнопки: Подробнее... и Выполнена.

 

При нажатии кнопки Подробнее... будет показана подробная информация о задаче.

При нажатии кнопки Выполнена бот предложит ввести комментарий по задаче, после чего задача будет выполнена.

 

Этот функционал похож на функционал выполнения задач по электронной почте, который, также, доступен в рамках расширения «Сигнал».

 

В том случае, если по задаче, кроме комментария, требуется ввести дополнительные данные, то бот сообщит об этом.

 

 

Общий список команд, доступных в чат-боте (для расширения «Сигнал» версии 1.0.1.3):

  • /Start, Старт,
  • Мой ключ, мк,
  • Ме ню,
  • Без меню, бм,
  • Мои задачи, мз, Задачи,
  • Новая задача, нз,
  • Новый процесс, нп.

↑Наверх

 

Настройка интеграции с Telegram

Инструкция по настройке расширения «Сигнал» для использования с Telegram - Настройка системы «Сигнал» для использования с Telegram.pdf, входит в комплект основной поставки.

Для настройки интеграции потребуется не более 30 минут.

Порядок настройки следующий:

  • Создание нового чат-бота в Telegram,
  • Настройка подключения чат-бота в расширении «Сигнал»,
  • Запуск чат-бота,
  • Подключение пользователей к чат-боту.

Подробности настройки по каждому пункту доступны в инструкции.

Здесь будут приведены только скриншоты настройки на примере Telegram-клиента для Windows:

1. Создание нового чат-бота и получение токена

 

2. Ввод токена в настройках расширения «Сигнал» и проверка токена

 

3. Получение ключа пользователя

 

4. Ввод ключа пользователя в расширении «Сигнал»

↑Наверх

 

Конструктор чат-ботов

 

Выше была продемонстрирована работа основного чат-бота, предназначенного для рассылки автоматических уведомлений, для отправки ручных сообщений, а также для базовой работы с задачи и процессами.

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

 

Для ведения списка чат-ботов предназначен отдельный справочник Чат-боты.

 

Для примера создадим самый простой чат-бот и попробуем его чему-нибудь научить.

Перед этим получим токен нового чат-бота. О том, как получить новый токен было написано выше.

Укажем токен нашего чат-бот и его описание.

Т.к. чат-бот ещё ничего не умеет, на закладке Дополнительно заполним поле Ответ на неизвестный запрос.

Этими словами чат-бот будет отвечать всегда, когда не будет знать, что ответить.

В своём минимальном исполнении новый чат-бот системы «Сигнал» готов.

 

Можно его проверить.

Откроем любой Telegram-клиент, найдём наш чат-бот и напишем /Start или Старт.

Чат-бот нас поприветствовал и сообщил информацию о себе.

Но, пока, он ничего не умеет и не знает. И на любое наше сообщение, наш запрос или вопрос, называть можно как угодно, он отвечает одно и тоже.

 

Перед тем, как чему-нибудь научить нашего чат-бота, настроим для него авторизацию. Чтобы пользоваться им могли только те, кому мы сами позволим.

 

 
 Авторизация

 

Авторизация выполнена, пользователь Telegram в нашей системе зарегистрирован. Теперь программа точно знает как его идентифицировать - как элемент справочника Пользователи, как Партнера или как Контрагента.

Если в системе создано несколько чат-ботов, то авторизация выполняется для каждого из них.

 

Все тексты чат-ботов, показанные на скриншотах выше, могут быть изменены индивидуально для каждого чат-бота. Для этого предназначена таблица Тексты. В ней для изменений доступно более 30 текстовых полей.

 

После того, как пользователь авторизовался в чат-боте, чат-бот готов обрабатывать входящие сообщения.

Для этого чат-бота требуется «обучить» реагировать на входящие сообщения.

Для этой настройки предназначен справочник «Ключевые слова», который открывается при выборе чат-бота нажатием кнопки .

Пример настройки правила обработки ключевых слов приведен ниже.

  • Ключевое слово - сообщение, отправленное пользователем чат-бота.
  • В поле Ключевое слово могут быть перечислены несколько слов через запятую.
  • При проверке сообщения от пользователя не учитываются регистр и пробелы. Т.е. сообщения «А1» и «а 1» для чат-бота одинаковы и будут обрабатываться как одно и тоже ключевое слово.
  • Вид - вариант обработки ключевого слова:
    • Текстовый ответ - пользователю чат-бот будет отправлен фиксированный текст, в ответ на полученное ключевое слово.
    • Выполнение алгоритма - в ответ на полученное от пользователя ключевое слово, чат-бот выполнит указанный алгоритм и вернёт в виде сообщения значение переменной _Результат.
    • Выбор - чат-бот предложит выбор из нескольких вариантов.
      • Выбор будет предложен в виде кнопок.
      • Настройки ответов для каждой из кнопок настраиваются как отдельные записи справочника Ключевые слова. Записи должны быть подчинены текущей записи. Для таких записей будет заполнено поле Родитель.
      • Ключевые слова подчиненных записей должны соответствовать вариантам выбора у записи-родителя.
      • Результатом выбора кнопки, также, может быть Текстовый ответ, Выполнение алгоритма или ВыборВложимость ключевых слов не ограничена.
    •  Ключевое слово - чат-бот будет обрабатывать текущее слово по настройкам другого ключевого слова.
  • Помеченные на удаление ключевые слова не учитываются при обработке входящих сообщений.

 

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

 

Порядок обработки ключевых слов чат-ботом Telegram

 

  • Если в настройках чат-бота включена настройка Разрешить выполнять программный код, то входящее сообщение в первую очередь будет проверяться на возможность обработки как программный код. При этом, обработка программного кода возможна в 2 вариантах:
    • как программный код - в этом случае пользователь может написать программный код. Чат-бот его выполнит и вернет результат вычисления. Например, если пользователь напишет 2+2*2, чат-бот вернет результат вычисления 6. Если пользователь напишет ТекущаяДата(), то пользователь вернёт текущую дату. Любой корректно написанный программный код на встроенном языке 1С может быть обработан.
    • как алгоритм - если пользователь чат-бота отправит название алгоритма, то чат-бот выполнит алгоритм с таким названием и с установленным признаком алгоритм Telegram. Ответное сообщение чат-бота будет содержать значение переменной _Результат. При выполнении алгоритма можно обращаться к ссылке на объект текущего авторизованного пользователя через переменную _Исполнитель. Таким образом, можно программно формировать и отправлять данные конкретному Пользователю/Партнеру/Контрагенту.
  • Если входящее сообщение не является программный кодом или вызовом алгоритма, чат-бот ищет его в списке ключевых слов и обрабатывает в соответствии с настройками ключевых слов.
  • Если не найдено ни одно ключевое слово, соответствующее входящему сообщению, чат-бот вернёт Ответ на неизвестный запрос, который указывается в настройках чат-бота.

Ниже приводятся примеры общения с чат-ботом в соответствии с произведенными выше настройками.

 

Для примера добавим в программу алгоритм с названием «Алгоритм1», дополнительным наименованием «А1» и признаком Алгоритм Telegram.

Алгоритм будет выполнять запрос к остаткам регистра с учетом принадлежности партнеров к текущему авторизованному пользователю Telegram, отправившему запрос.

 

 

Выполнение программного кода и запуск алгоритмов напрямую стал возможен потому, что в настройках чат-бота включена настройка Разрешить выполнять программный код.

Если бы эта настройка не была включена, то все запросы чат-бот обрабатывал бы только через справочник Ключевые слова.

 

Похожим на предыдущий вариант выполнения алгоритмов является вид настройки ключевого слова Выполнение алгоритма, но уже через справочник Ключевые слова.

Для ключевых слов «Расчёт» и «Расчет» указан алгоритм Алгоритм для чат-бота. Он и будет выполняться, когда пользователь напишет одно из этих слов. А результат выполнения чат-бот будет присылать ответным сообщением.

Программный код алгоритма:

 

Добавим ещё одну настройку с видом Выбор варианта. В качестве вариантов выбора укажем 3 абстрактных варианта, из которых пользователю нужно выбрать 1.

В поле Заголовок выбора укажем текстовое сообщение, которое будет сопровождать выбор.

Для того, чтобы чат-бот запрашивал подтверждение нашего выбора, включим настройку Подтверждать выбор.

 

Для каждого из 3 вариантов добавим настройки обработки:

  • Для Варианта №1 это будет текстовое сообщение «Выбрали "Вариант №1"»,
  • Для Варианта №2 - ещё один выбор из 3 вариантов,
  • Вариант №3 будет обрабатываться как ключевое слово Выбор. В нашем случае произойдет рекурсия и чат-бот снова предложит первоначальный выбор.

Для Варианта №2 с дополнительным выбором укажем 3 варианта:

  • Вариант 2.1 (Алгоритм) - будет выполнен указанный алгоритм,
  • Вариант 2.2 и Вариант 2.3 - будут показаны текстовые сообщения.

 

При выполнении алгоритма для варианта выбора Вариант 2.1 (Алгоритм) будет выполняться следующий программный код:

В переменной _ДанныеДляОбработки содержится вся история текущего выбора. Через эту переменную можно получать результаты выбора и использовать их для реализации логики работы чат-бота.

 

Проверим, как чат-бот будет взаимодействовать с авторизованным пользователем по указанным настройкам.

 

 

 

Данные примеры показывают:

  • чат-бот может предлагать выбор из заранее указанных вариантов,
  • выбранный вариант может приводить к простому текстовому ответу, к выполнению алгоритма, к ещё одному выбору варианта или к рекурсии.
  • история текущего выбора передается в алгоритм и может использоваться для обработки, формирования и возврата пользователю данных с учётом этого выбора.

 

Ещё 1 вариантом реализации выбора может быть динамическое формирование вариантов выбора.

Добавим ещё одну настройку и укажем в ней алгоритм.

 

Алгоритм будет получать массив свободных дат в расписании и предлагать их пользователю чат-бота для выбора.

*Если результат выполнения алгоритма имеет тип Массив, то система воспринимает это как массив кнопок выбора.

 

Для данной настройки добавим 1 подчиненную настройку, которая будет обрабатывать выбор.

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

Взаимодействие чат-бота с авторизованным пользователем будет выглядеть следующим образом:

 

↑Наверх

 

 

Дополнение: программный код

Данный раздел не относится непосредственно к расширению «Сигнал» и настройкам интеграции с Telegram.

Программный код приводится исключительно для справки и содержит несколько базовых строк кода для работы с Telegram в среде 1С, которые, возможно, для кого-то окажутся полезными.

// HTTP-соединение (без указания прокси).
HTTPСоединение = Новый HTTPСоединение("api.telegram.org", 443, , , , 15, Новый ЗащищенноеСоединениеOpenSSL());

// Токен чат-бота (созданного ранее в Telegram-клиенте).
Токен = "1691889283:AAFgK7brh5ACYCE1mcYvcsJpmspJL9zyEms";

// Запрос проверки подключения.
ТекстЗапросаПроверкиПодключения = "bot" + Токен + "/getMe";

// Запрос получения всех входящих сообщений.
ТекстЗапросаВходящихСообщений = "bot" + Токен + "/getUpdates"

// Запрос получения входящих сообщений, начиная с указанного номера.
ТекстЗапросаВходящихСообщений = "bot" + Токен + "/getUpdates?offset=" + Формат(НомерСообщения + 1, "ЧГ=")

// Запрос отправки сообщения, указанного в переменной ТекстСообщения (допускается форматирование текста с помощью html-тегов). КлючПолучателя можно получить из входящих сообщений.
// Для вставки в сообщение эмодзи используйте их код UTF-8 в формате %E2%9A%A0.
ТекстЗапросИсходящегоСообщения = "bot" + Токен + "/sendMessage?chat_id=" + КлючПолучателя + "&text=" + ТекстСообщения

// HTTP-запрос и получение ответа.
ЗапросHTTP = Новый HTTPЗапрос(ТекстЗапроса);
ОтветHTTP = СоединениеHTTP.Получить(ЗапросHTTP);

// Преобразование ответа в значение типа "Структура".
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьПоток(ОтветHTTP.ПолучитьТелоКакПоток());
Результат = ПрочитатьJSON(ЧтениеJSON)

↑Наверх

 

Заключение

Подсистема «Сигнал» позволяет повысить удобство использования системы «БИП: Бизнес-Процессы» за счёт расширения информационного пространства, в котором она функционирует.

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

Интеграция с популярным мессенджером Telegram позволяет реализовать новые варианты каналов коммуникаций с сотрудниками и клиентами.

↑Наверх

 

Основная поставка «БИП: Бизнес-Процессы», версия 1.0  доступна по ссылке.

Базовая версии программы  Расширение для настройки бизнес-процессов «Зодиак» доступна по ссылке.

См. также

Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    9517    58    12    

34

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38233    108    161    

201

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор чат-ботов в Телеграм.

15000 11250 руб.

18.06.2021    65598    312    272    

369

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    30285    35    49    

71

Мессенджеры и боты Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Данное расширение представляет собой интерфейс взаимодействия 1С с сервисом Wazzup. Данный сервис позволяет вести беседу с использованием номера телефона, привязанного к Whatsapp. Почитать о сервисе и его условиях использования можно по ссылке https://wazzup24.com/. На данный момент расширение поддерживает почти все доступные через API функции. Обновление от 19.05.2023, версия 2.1!

14400 руб.

30.11.2020    13606    8    13    

15

Мессенджеры и боты SMS рассылки Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.

7800 руб.

15.05.2024    1551    3    6    

6

Мессенджеры и боты Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Универсальная система сообщений для конфигураций 1С: Предприятие 8.3. Позволяет пользователям обмениваться текстовой информацией и ссылками на объекты (документы, справочники и др.). Система универсальна, подойдет для любой организации. Реализовано на управляемых формах (тонкий клиент) по технологии расширений 1С. Конфигурация останется на поддержке (для автоматического обновления).

4800 руб.

29.03.2021    17036    3    10    

8