"Помнить все" на 1С Элемент + Телеграм

27.01.25

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

"Помнить все" на 1С Элемент + Телеграм Вы можете напомнить себе о задаче, введя (или надиктовав) подобные фразы:   позвонить через 15 минут, напомнить завтра утром, погулять в 8 вечера в воскресенье, и даже: вынести мусор в последний понедельник следующего месяца без четверти пять.

"Помнить все" на 1С Элемент + Телеграм

Вы можете напомнить себе о задаче, введя (или надиктовав) подобные фразы:  

позвонить через 15 минут  

напомнить завтра утром  

погулять в 8 вечера в воскресенье  

и даже  

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

Давным-давно была программа «Помнить все» под андроид, позволяющая задавать напоминания голосом.

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

Здесь сделана попытка выполнить подобный разбор на старых добрых регулярных выражениях. К переданному тексту последовательно применяются регулярные выражения, пытаясь найти в тексте описание даты/времени. Если часть строки точно не нужно анализировать, можно обрамить ее двойными угловыми скобками <<это не дата>>.

Напоминание придет в привязанный телеграм-бот.

Соответственно, это можно перенести куда угодно. В том числе и на 1С Элемент.

Разбор времени напоминаний находится в общем модуле АнализДат.

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

Чудес от разбора ожидать не приходится, но все фразы, что я мог придумать, заносил в общий модуль АнализДатТест.

В отдельной функции описаны идентификаторы времени: утром (10:00), днем (13:00), вечером (20:00). Их легко можно перенести в справочник.

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

И до полноценного мобильного клиента руки у меня тоже не дошли.

Поэтому по прекрасной статье infostart.ru/1c/articles/2119555 создал телеграм-бота. Как добраться до http-сервиса, подключение вебхука, там все описано.

Описал шаблон в http-сервисe /bot/{SpecialString}/*

Все настройки находится в справочнике СправочникНастройки, в котором всего одна запись с кодом 1.

Структура справочника:

Токен – полученный токен телеграм-бота.

АдресПриложения – путь к вашему приложению. В телеграм-боте есть кнопка «Открыть ссылку» по данному адресу.

SpecialString – строка, которая добавится в путь к сервису. Это определенная защита, добавленная, чтобы адрес отличался от стандартного. Честно говоря, баловство, но и времени не заняло.

КлючАвторизацииСбер – В Телеграм мы легко можем отправить речь. Я не нашел, как можно преобразовать в текст в 1С Элемент на сервере, поэтому просто обращаюсь к api SaluteSpeech сбербанка, бесплатный пакет для физических лиц. Нужно получить ключ авторизации, и указать его, https://developers.sber.ru/docs/ru/salutespeech/authentication.

Путь к http-сервису для установки вебхука формируется автоматически в методе МодульТелеграм.ПолучитьПутьWebhook(): "%{Рез.АдресПриложения}/api/k/bot/%{Рез.SpecialString}/"

На форму объекта вывел команды установки и удаления вебхука.

 

 

В случае записи речи, получение файла и получение текста через api сбербанка выполняется в функции МодульТелеграм.СкачатьИРазобратьРечь().

После того, как разобрали текст и получили время напоминания, нужно обеспечить обращение к боту в это время. Напоминания хранятся в соответствующем справочнике (СправочникНапоминаний). Структура достаточно простая: ДатаНапоминания, СтрокаИсходная, Выполнено, ДатаРегистрации, ИдЧата, Код.

При записи создается ЗапланированноеЗадание. Задание привязывается к функции менеджера справочника СправочникНапоминаний.ВызватьНапоминание(). Ключ задания – код справочника. При срабатывании задания в телеграм-бот отправляется оповещение. Можно избавиться от реквизита «Выполнено» и анализировать время и связанное задание, но это нормальное решение для учебных целей.

В модуле объекта:

@Обработчик
метод ПослеЗаписи(До: СправочникНапоминаний.Данные, ПараметрыЗаписи: СправочникНапоминаний.ПараметрыЗаписи)
    если ПараметрыЗаписи.ЗаписьИзСобытия == Неопределено или не ПараметрыЗаписи.ЗаписьИзСобытия 
        если ЗапланированныеЗадания.ПолучитьПоКлючу(этот.Код) != Неопределено
            ЗапланированныеЗадания.Удалить(этот.Код)
        ;
        если не Выполнено 
            пер НовоеЗадание = ЗапланированныеЗадания.Создать(&СправочникНапоминаний.ВызватьНапоминание,этот.Код)
            НовоеЗадание.Настроить(Расписание = Расписание.Однократно(этот.ДатаНапоминания.ВМомент(ЧасовойПояс.Текущий())),
            Ключ = этот.Код,
            Описание = этот.СтрокаИсходная).Запланировать()
            НовоеЗадание.Запланировать()    
        ;    
    ;
;    

В модуле менеджера:

@ВПроекте

метод ВызватьНапоминание(КодНапоминания: Строка): Строка

    знч Эл = СправочникНапоминаний.НайтиПоКоду(КодНапоминания).ЗагрузитьОбъект()

   

    новый ExecutionEvent(Details =                                          

    "В ${Эл.ИдЧата}, ${Эл.ДатаРегистрации|дд.ММ.гггг ЧЧ:мм} вы написали:

                                         %{Эл.СтрокаИсходная}

                                         "

    ).Записать()

   

    знч ОтветСообщения = МодульТелеграм.ОтправитьТекстовоеСообщение(Эл.ИдЧата,

                                         "В ${Эл.ДатаРегистрации|дд.ММ.гггг ЧЧ:мм} вы написали:

                                         %{Эл.СтрокаИсходная}

                                         ",

                                         МодульТелеграм.ВидыКлавиатуры.Продление

                                         )

   


    Эл.Выполнено=Истина

    Эл.Записать(ПараметрыЗаписи = новый СправочникНапоминаний.ПараметрыЗаписи(ЗаписьИзСобытия = Истина))    

    возврат ОтветСообщения                                    

;

На форму списка добавлена сортировка кода по убыванию. Эта форма списка открывается по умолчанию, поэтому сразу будет видно последние записи.

 

 

Код работы с Телеграм находится в модуле МодульТелеграм ))

Для проверки нужно:

- Опубликовать данный проект в 1С Элемент

- Подключить телеграм-бота

- В пользовательском режиме внести в справочник настроек единственный элемент с кодом 1

- Добавить полученный адрес https://***.1cmycloud.com/applications/***

- добавить любую строку в поле SpecialString

- внести в справочник настроек токен Телеграм

- для автоматического разбора речи нужно получить ключ авторизации SaluteSpeech. Записать его в справочник настроек.

- Записанная или проговоренная строка в боте будет обработана и добавлена в задания.

 

 

При наступлении запланированного времени в Телеграм придет сообщение.

 

 

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

Сообщение будет повторено через указанное время.

 

 

Весь код выложен на https://github.com/KAO-GIT/keepka.

1С Элемент Телеграм Regexp

См. также

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

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

15000 руб.

18.06.2021    67949    322    273    

379

Мессенджеры и боты Платформа 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    11249    65    15    

41

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

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

13200 руб.

27.12.2021    40214    115    163    

209

SALE! 50%

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

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

4800 2400 руб.

07.04.2014    86156    51    195    

137

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

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

14900 руб.

15.11.2018    31332    37    49    

72

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

Сделайте взаимодействие сотрудников компании быстрым и удобным. В Личном кабинете в Телеграм сотрудники могут получать и выполнять задачи используя популярный мессенджер

11520 руб.

29.12.2022    7887    6    11    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vinzor 111 01.02.25 22:52 Сейчас в теме
Мега плюс, за 1С Элемент.
Новая область, тема интересная.
Вот думаю найти время, чтобы освоить это. Материала учебного нет совсем, есть мутные курсы.
Мутные потому, что надо очно в Москве их проходить.
2. K_A_O 550 02.02.25 19:01 Сейчас в теме
(1) Ну да, такая своеобразная ситуация, когда получаешь ошибку и знаешь, что в яндекс искать смысла нет.
3. Vinzor 111 02.02.25 19:08 Сейчас в теме
(2) я на 1С Кабинет сотрудника измучился по этой теме
Оставьте свое сообщение