Опыт разработки ботов на 1С: от идеи до продукта, кейсы использования

Публикация № 1789347 12.01.23

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

Телеграм-боты прочно вошли в нашу жизнь – через них удобно получать уведомления и обращаться к информационным системам за нужными данными. О тонкостях двусторонней интеграции телеграм-бота с 1С без публикации базы 1С на веб-сервере на митапе «Мессенджеры в 1С» рассказал аналитик Тинькофф банка Антон Локтионов.

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

 

https://lh6.googleusercontent.com/vqm7S_OxtmB3Zwx6ORhD0zVSgdrVd6g8-UQrXf6_PlCom7YzH0GSIRrezAjhRONnirj7L3X0I3hOqRM6pI8q7JQXGfqo1oQYJLUil1joGm-tRTHRq-GYtKwfGLb1xom7qfPxstRJ-bAFBbHXtf-Kxw_00l6bGx39_f_6K6T9pJu28Da_HBXFW2evN4JQ0A

 

В конце 2016 года мне пришла идея создать конструктор уведомлений в Телеграм. В то время в ИТ-сообществе была довольно популярна тема настройки разных оповещений по событиям – при возникновении ошибок или для каких-либо алертов. Кроме того, я видел, что на Инфостарте уже есть популярные продукты, которые позволяют создавать рассылки через SMS и Email. А мне показалось логичным использовать для внутренних рассылок именно Telegram, потому что это дешевле SMS и удобнее Email.

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

 

https://lh4.googleusercontent.com/F2YFpnd9A2QemqjfGo5NeD7tXMaZ_5lePg4SJQ49xo6L70msQVlKHLWT9yVVXgDKhcz3qto6THYLvbwzc3sGTt1XOsr4cZbCeTpiRlAaj9prPoVshtCiPAiVR0QPoiS7eur13YxTFkxfgSvHUZJ9aeQX-Sj1Pk-M8jKaspt8M3BVQEwPvtVP2keXKphLgw

 

Идея состояла в том, чтобы дать возможность простому пользователю в режиме 1С:Предприятие создавать различные уведомления по событиям. 

  • Для этого достаточно было двух справочников «События» и «Шаблоны сообщений». Создавалось событие, и на основании этого события создавался шаблон сообщения.

  • Предполагалась, что между 1С и Telegram будет реализована односторонняя связь – просто чтобы была возможность отправлять сообщения.

  • И основным вопросом для реализации первой версии продукта было то, что отправка сообщений в Telegram возможна только по ID пользователя, который никому не известен в отличие от вариантов с SMS и Email, когда координаты адресата заранее известны – это номер телефона и почта.

 

Получение ID пользователя

 

https://lh3.googleusercontent.com/Yr0DVnwPAyMb1NNn8vrE3ItaK6WXiwWx_I5o3RWOH8lViwSA6ldIa43FjSJK7EM02DBHGowzmSZHqdBVChGh5WObl_e5XhM0YS_9NKCT5t5hQnmwPaeLvDEK1UozmIa2HLb7CztvP1H2_pI_YVTofoXqPNWe0L4tCDtIbaUTq5tybN1sv7UDllrI4Qq9FQ

 

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

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

  • А в 1С по нажатию кнопки «Проверить сообщение» забирались новые сообщения от бота, в сообщении искался заданный код подтверждения и если находила такое сообщение, то выводила информацию о найденном пользователе, и мы могли его привязать. 

  • Привязка означала, что мы можем какой-то конкретный объект 1С, например, конкретный пользователь или контрагент (карточку контрагента) связать с ID конкретного пользователя бота.

 

https://lh6.googleusercontent.com/fpnxiwJcoHUbiCHpnBIVWwxkSAtDuw0F8wsH4qfL-NMLEN6n4T_kefas4xdDyAbV3MuQlNY3RaFCiBwrp1aFlmodi6stzzILjhNyPByOzf9yLf7SsTxB7m4SY0_bZCF4G2RVQM3lQglewzo6hjN7Unpp1V5tvwDvyaTxbQoPyL-zUh9IvR24lPBlgMT_4g

 

Это работало, но пользователи часто хотели получать уведомления не в личку, а в группы. Например, компания хотела, чтобы бот отправлял уведомления по поступлению товаров в группу, где были все сотрудники отдела закупок. В связи с этим была добавлена возможность привязывать к справочникам 1С группы Telegram, а потом – каналы обоих видов – публичные и приватные. 

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

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

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

 

https://lh6.googleusercontent.com/_sAydGHn-n5wlI4ZZMtXdy8eTuo8E6UUlgz9OWKa-m3n1VCy1lnxwf4nWBf-A5VXHP_rLB3HmtiAWINm9yxQiNa90ZCd3GONG2owU8HwZfDrPQnwLTJ4pEwcn0p-l_B8izMmi4vP7VusN821qMnx57JFsLGpR2u37pT3eaqTSbz0XaWKhHTvNOQ_YiqfGw

 

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

Если мы нажмем кнопку «Поделиться контактом», Telegram просто отправляет в чат наш контакт. 

В этот момент, когда бот получает контакт, и 1С обрабатывает это событие, мы ищем по всем объектам 1С, есть ли у них такой номер телефона, и, если есть, привязываем найденный объект к ID этого текущего пользователя. 

Вот такая механика авторизации по номеру телефона.

 

https://lh3.googleusercontent.com/GBEL7L1oDebtcqlg03p-yFgKB5Mb_8TFt_FdgsSGlYisZNgz5ioHnOmTwaoBRP2orG9TDdvMr95eIisQWA_wsCFVV_tlLKq6EDbghxHxogFk8r2NwVS_f4FlLX_tWDM91r5CuEFWLxuR0G5RXefpbxF8HE73d_onqC8D-6-noUsKxfNj6wie1IzM6P2TpA

 

Интересный момент: по кнопке отправки номера телефона в сообщении, по сути, приходит обычный контакт – это стандартный объект Telegram. Поэтому нужно обязательно проверять, кому он принадлежит. 

Здесь на скриншоте показано, как мы проверяем, соответствует ли ID пользователя, который отправил контакт, ID, привязанному к этому контакту. Это нужно обязательно делать.

 

Подсистема уведомлений. События и шаблоны сообщений

 

https://lh5.googleusercontent.com/soEeMXkZMhC3QM-sfM96SiBX9hIFQ0yX-OHAu46hWplwJ1CqDrNPlobAYRuO3APiXOQFpsZr5dUnNJPVHfjYbPP_FltxldKecvKWCKNQEoWI3Mz-UczsJqPcaH02gML1YD0F1yUWyyzDh6WqAUb67MFgTj9RGB-OANTu_0yyMJs41sLFQ16W_CqTb_Mljw

 

Возвращаемся к подсистеме уведомлений. Один из основных ее объектов – это справочник «Событие». 

Здесь можно выбрать вид события:

  • Проведение документа

  • Запись задачи

  • Запись элемента справочника

  • Регламентное задание (по расписанию)

В основном, сообщения в Telegram отправляются при проведении документов или записи справочников. Также можно было установить различные произвольные условия отбора – для этого динамически формировалось СКД на основании источника события.

 

https://lh6.googleusercontent.com/bG7SpaUQ_n9-B5AqZmgI4vDXfv_NLF6GKMXPxYNwSuzz2lXwugSZyur5PqN8NogI8gqFvLTjzMsxjXe6yrXZGBM3mPymVx7CYpXHbl-yuNDb_qq6_5TVlJE46IJsHB-esUm3HboxPcL8ikozsg6tgP6YQLfWyqtxpZY09Sx2E2F3MxvzLsdbueevxu-jVw

 

На основании события создается шаблон сообщения. 

В шаблоне мы можем использовать статический текст, включающий любые поля источника сообщения – в данном случае, источником является документ «Заявка на расход средств». 

Если нам не хватает каких-то полей, мы можем зайти в режим редактирования схемы СКД и прямо в режиме 1С:Предприятие добавить нужные поля и потом их использовать в шаблоне.

Кроме текста, конечно, еще нужно указать получателей – ими могут быть какие-то поля источника (например, Ответственный или Контрагент). Либо конкретный элемент справочника, если мы просто хотим, чтобы такое сообщение приходило администратору или какому-то конкретному пользователю.

 

https://lh3.googleusercontent.com/20o7btoHMcJJVA4UkB-T0PJkw3L8tTiDsqGyTotGueE-Qv1V8Un-CjlDElTmAIho2nI0kbJydB4c_o6ID831J4HJoJxvXxrh8sO5TgHdsNZyXIRqKw58KVHu0Ol-UGegkhPt3rJ1hfAsQqSRcr09kytIhQjA8nptAxJKemxbMPu0eHDBzgicJtGz0N75mg

 

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

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

И в таком формате эта подсистема уведомлений использовалась. Но этого было недостаточно.

 

https://lh4.googleusercontent.com/-USsFb2M1njOSgubqezOu60-0WQgDpJS4a6XBsesYvkIvoo2Ha3-nzMOCAgG1GahT6H-syKL3gSK7Zxhuiwmentd0aQ7Tgl6IqN29iIJNxit-fsmRFVwZQI6Xr3yeJK-b1numxjSsCN_OmlO3Vtm725j5L99cpxR3ElITk4N82qJxcZxJapM_L0O-QdshQ

 

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

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

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

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

 

https://lh6.googleusercontent.com/josf6fpoxEDusClQnP7DdMGfEr2PYVSg24fZ8MaDrUz2Mx7cDGBzMo0M7veV_sBfd1tMh-rki3vl1qgTDAVcTXa3T6k3ddqfIhS8KpenGDiQL1PAlKPmyTpI3Ya606YiJkBM3hBwQwU7xr4b97T5SN6eeU2fqeXkZSA2Jg-7OfM7R1xZOQqN1TeBjxwfOw

 

Если очень сильно заморочиться на хештегах, может получиться примерно такая история. 

  • Сообщение в центре слайда – это то, что приходит из бота автомойки. Тут почти все в хештегах. 

  • А справа – пример карточки бронирования из конфигурации 1С:Отель. Здесь мы видим вывод хештега #Бронирование и для примера номер комнаты выведен в виде смайлов.

Такие хештеги реализованы с помощью вызова функции прямо в шаблоне сообщения.

 

https://lh6.googleusercontent.com/BiwqMvHPUgAbHP1Z92jrdm8c5sgS3fZoOBMjOQkWxAaexsBQvnECHgYqdH1fAI6MUYbffoO0rJ5ezeWagh_F-cEEtGQ9F6nznIiwcj-9MyPdl6R9jWJ2IsgNIcuoypD5bz5Qc7Te36HMxBSq_6id-D6DPkYXDThin1211lWbOJG-UUiJtoGipnXJTjB3Qw

 

Пару слов о том, что можно было не делать.

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

  • Отправка отчетов по расписанию тоже никому не зашла, никто не понял, в каких кейсах это можно использовать.

  • И была еще функциональность сбора отзывов. Ею тоже никто не пользовался, к сожалению, но наработки по сбору отзывов я в дальнейшем использовал для справочника «Клавиатуры» – чуть позже я покажу пример, как он работает.

 

Подсистема меню. Двусторонняя связь с Telegram

 

https://lh3.googleusercontent.com/Ge5MTn_RzfvQZ9fgvx0lX0Hw-lddZC0iVNu-UCISeD6wwqS7geeryIvcTe5AfGo6spOO7d3n40cZSyZkXsGaoKiyuAApITeeZIAKgfQpcbW7vJDjsQ4g-6wHlhb7capdp-1BO5tLoc_Iox94cE_6kFuTT70aUkySNzBiBz4G_ZZpuK89UNvVv2ifSIBLIQ

 

Логичным продолжением этой подсистемы уведомлений стала подсистема меню. Она родилась из потребности клиентов самостоятельно запрашивать отчеты. В отличие от уведомлений это подразумевало полноценную двустороннюю связь между 1С и Telegram. 

Я начал думать, как можно это настроить. И тут возможные варианты – всем, я думаю, известны. 

  • Это либо публикация базы на веб-сервере и получение сообщений от Telegram на Webhook. 

  • Либо регламентное задание и получение новых сообщений методом getUpdates.

 

https://lh6.googleusercontent.com/QAu3B37R_88xrFqg_E1RUB4VKEkf6Fj9u1eh_OapDhSZCzU4nNrg0VYFirGTUNLCUB8BqRBZQuFgyVimExZQ_pqj87KYiO5nN5fXXrLVfo0kqem6W0DIxRPJyfKEEQnkkh1LrSXkk1RIqtxiPke_pWMzadWMdmfuq7mnX0gt-e5UMutBgVYB2Y6b3vdP-A

 

Webhook я изначально не стал рассматривать, потому что не хотел с каждым клиентом решать инфраструктурные вопросы – связываться с публикацией на веб-сервере и настройкой SSL. Это занимает очень много времени.

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

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

 

https://lh5.googleusercontent.com/bQLO_gqB2fnJniTxyqN6P_7koEiWY8KKJQE0DLE0zNF3msQ81R6uo-HXRITS_3uMS3-c0D-kDuzk1AIimZ-1JhOPSJXvnSOwfL_cXgD1s3xqMxxPQea1qyXzhh0NUd2bt72Zy6V_q3EX5ItU7DwWZD2b3J0mirHNHEIEOSy_Gm6dvFZKpPnxDMf_iQNZ-A

 

Полез в документацию ботов, начал читать про метод getUpdates. 

Там было написано, что вариант с регламентным заданием и опросом сервера – это, так называемый short polling, который должен использоваться только для тестовых целей.

В противовес short polling есть понятие long polling. Это рекомендуемый метод. Он подразумевает передачу параметра timeout вместе с методом getUpdates. Для сервера Telegram это будет означать, что он будет держать соединение до тех пор, пока либо не произойдет новое событие, либо не закончится таймаут.

 

https://lh4.googleusercontent.com/dWrd8A0XailM5Lx_Ux5ztguG7Y6GRimEn2Cas2l1oeNx0CA52jbxF4PEdhuTpURUqtcVnYA6osagAi4EmOWjqHJriwxrKxz9-8l_nM7VgXHY4y2q8lV8bv-kx0kQ_pXJ7ChBam9d-Kx7k9jLsg-bltOg33DV9FtHN8n9U2wIn648NeU6tbT2-2CMsPWDLQ

 

Как реализовать это в 1С?

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

В обработчике получения сообщений находится цикл, который можно прервать двумя способами:

  • либо по флагу в настройках – например, такое может понадобиться, если нужно обновлять базу или произвести какие-то другие действия;

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

А в теле цикла размещаем процедуру ПолучитьНовоеСообщение(), где отправляем запрос getUpdates, не забыв указать параметр timeout – обычно рекомендуется 30 секунд, но я ставлю промежуток больше:

  • такое значение таймаута мы передаем в параметрах запроса getUpdates; 

  • и на уровне 1С при создании HTTPСоединения мы также указываем такое же значение таймаута, чтобы 1С раньше времени не прервала соединение.

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

 

Оптимизация скорости

 

https://lh3.googleusercontent.com/lIYJi8QacF5alunte2rgtnfqq0R1AlL_I2V0OxSDwe0Urvhd2dhoAeL89V5NwoWIfUit2yT0o75ilfZ75QNwnFdpRNh8NMzFK-quZXHGFo7WDoSN4W5xGJRjJPtOHAkpqb9MM3QwCKf421yqRJiEdbtfO4ukIy-vtUFO7BWrj1AhrqhKQ_J50mRVcqLURw

 

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

Кэширование HTTP-соединения на уровне 1С. Для этого нам просто нужно вынести процедуру создания объекта HTTPСоединение в общий модуль с включенным флагом «Повторное использование возвращаемых значений». Это позволит переиспользовать установленное один раз соединение с сервером Telegram – получается довольно ощутимая скорость отклика.

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

 

https://lh3.googleusercontent.com/Eto1Gb44CU8GLNZjx1qihWO8PtaTosb4UjcQ3z6bR5rYmR_Mq0FCW8qtj_SKn2k6J5saEMIDZOaaAbt41nM-NCfncE_q2vDTqlKuHV57ntHW1g0-UxJsZrVJc4_pqNCA-TmqX6mpG8RkM5VRjkJDVCsVMEZ4FihvPfJhbiCTlVrv4v12G2bXQnMGLWaB4w

 

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

Поэтому я искал другие варианты, как можно обеспечить надежную и главное, быструю работу бота на файловой базе. И придумал создать отдельную утилиту на C#, которая держит long poll соединение с сервером Telegram, а события в 1С отправляет по COM-соединению.

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

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

 

Справочник Меню. Настройка доступа

 

https://lh6.googleusercontent.com/qdltF-cqGx3BekLxgC-PQQvd697kn5FsDxSt5t_UTkwaWkyS0kfW7VYSooxgPVzVQ-vLc72Ea36qJN7zcfLhtrZnwADHNJrmzgvxkt2mCvzZOeNCcTmSitZVWpVJA3Jf57Kqead0-OXRXKOXHqmzK2FQuRBA4lmuOBptWb8i9aTVhc11Qkt3vub0NZbLkw

 

Возвращаемся к вопросу реализации отчетов по запросу пользователя. 

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

 

https://lh3.googleusercontent.com/vb4LspVWjNxoiDEUMTexRLFl_QNU8HgkS4zk40RZ8-3ynIs7C_EymcSBQPbSbpDRoOjMnhU5mFD62ccRsvQAAHOq12OA0YIJ-hdrAm4nq8uvICZzZVQAuICzsUetf8_4TpDXVPSWi8Ar0vpdZcqSfkiKl5VD4lxaGWblBzBqnU4X0RFKV7y7KR_AGiHbqw

 

Пару слов по поводу доступов – доступ был сделан на основе справочника «Меню».

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

  • Гости – те пользователи, которые нашли бота через поиск или перешли по прямой ссылке. 

  • Пользователи, о которых что-то известно в 1С – это могут быть:

    • либо конкретные элементы справочников, например, элементы «Администратор» или «Директор» справочника «Пользователи»;

    • либо типы справочников, к которым мы можем привязывать ID пользователей бота – например, справочники «Контрагенты» или «Пользователи».

 

https://lh4.googleusercontent.com/4j5sFloyexMJrYX4xaRRjcO609JKl6FB-ME9Q_RMrismCjaKFkm_0Ap8Jbw6aMPDtRA66UXCpPYYtncjBNwzF900_Tsk_JIMcwos7uNmPTyuUKxt3vuf9yhN6v6_9w6VLsCV4fYiiUeZ5Os2fKBwCIItzx8Y2xrCevDi0Un3SwIds7P2TQnF8Nba2LUSbA

 

Как это все организовано? На базе справочника «Меню» мы можем создать различные пункты меню и предоставить для них разные доступы. 

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

  • Директору и бухгалтеру дать права на финансовые отчеты, выбрав их в доступе. 

  • А, например, всем пользователям, которые привязаны к справочнику «Контрагенты» мы дадим возможность запрашивать, например, отчет по дебиторской задолженности, акт сверки или индивидуальный прайс-лист.

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

 

Инлайн vs Обычные кнопки меню

 

https://lh3.googleusercontent.com/CJSfVuTwxXomcWx29HHuxcx_Ykk1lv7kvRiqVlGJQYq-4CDYohk9CwW_xhh2KS-q3rU_Kz6bTp7DWY-sNtIQt5um7-gFh1JkYwfIyFIXqlHNPLZL1xT410w5xQZvVwCHe7-mYNIlVbPFukLcQv6zctV8cJrVe2R0fFMbzSXI63EHmTZGrewcDx_UPMB42w

 

Расскажу про различия между инлайн и обычными кнопками меню:

  • обычные кнопки меню у меня используются для доступа и для выбора режимов взаимодействия;

  • инлайн-кнопки привязываются к конкретному сообщению. 

Основное различие инлайн и обычных кнопок заключается в том, что обычная кнопка отправляет в чат текст, который на ней написан. 

А инлайн-кнопка отправляет данные, которые не видны пользователю и заданы для этой кнопки программно. 

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

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

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

 

https://lh6.googleusercontent.com/LGVgudDZ6wivmPXajFrq2bR0_DldKCToF0aCbCSY259E4cvuYsHK3mqboyr3oi4-8YkYaL0z6zwNxAbHLTbAeXXybSSZ1eEKEH9fv8sXxwPDwWB14I_nomfoPrMSLO7QNnZDDq5A7b5zWU07npi4ytOhzI4ZPLLBjmGQr3g1NTRSpo2xN-N7Fdv0qCHVRQ

 

На слайде показано, как это выглядит. 

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

При создании кнопки обязательно нужно для нее установить:

  • текст – название склада, которое будет на ней написано;

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

Код обработчика события – это код специального элемента справочника «Действия». Когда мы получим событие с этими данными, мы поищем, есть ли элемент с таким кодом в нужном справочнике. И, если мы его найдем, то выполним алгоритм, который написан в теле этого обработчика.

 

https://lh3.googleusercontent.com/CFwyjyroX6S1BNavNAKbRwO1stHmubG_PzJEWa9aReTxo4e6zsZFl4bVt-uEL91mSJAMZ2VVU5_pwmt2ZTuk7Jg5HQsITwhPqWxtcmL1ExaWwAA0F3QDYitek6hSj4vBYkr-ptYr4x1dZy2No95-aFTeDBTLFUxaqoim6pCYwIqH-4FkPmAU3iS6kSSbUg

 

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

  • в справочнике «Действие» определяются обработчики для обычных кнопок меню, 

  • а справочник «Обработка callback» используется для обработки инлайн-событий.

В этих справочниках у меня есть возможность отредактировать запрос через схему СКД. Это очень удобно, потому что позволяет быстро накидать в режиме 1С:Предприятие запрос по извлечению нужных данных. Там же можно указывать какие-то параметры. Например, получить текущего пользователя – например, контрагента, и выбрать заказы, которые принадлежат только ему.

И затем в теле алгоритма мы можем получить эти данные с помощью специального метода.

 

https://lh5.googleusercontent.com/GP4PeuSVaRpPVx-qP8_CWZoSxXazdCEW_cRCmQDfBgH5FjH93lVHAQdgSy7nibGiLO_A_lRjI9kNNZF6S8SMW-x6NkT8B_TfTxwriN1ID-CSvD-zt7fMEQS7e8KEf5CER1pduWrsmpJycFoJVnypsCYhSp3I2JlJ4cNbAgJJcy8ZH7Bh13DmpBBWbPit-Q

 

По инлайн-кнопкам – есть множество возможностей. Основное – это то, что их можно менять динамически.

На скриншоте показан пример, как можно:

  • изменять клавиатуру;

  • изменять одновременно клавиатуру и текст сообщения;

  • или удалять клавиатуру. 

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

 

https://lh4.googleusercontent.com/Ky9bXYdSc9Cl8bOTv8nnEtDtHRFmNmfk__QGQkitrHnBQkiS9FAMKo7w8t1H-uq2AnepPr-JSuBZbEy1HHFhJptTwev416SbrlvNRd6Sfgg_SosUNadly4KR4JRC4760YdFcBi91-eFbpVcRtW-rB_mBjL07x-OqEWWiVPsnYEtju78mnssto-rOXdvtZQ

 

По инлайн-клавиатурам также есть ограничения. 

  • Во-первых, в параметре data можно хранить только 64 символа.

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

 

https://lh6.googleusercontent.com/mvc7wme8kFk0_0A4KVYS6r8_e3q0NaoNJ-U4eSl-SaAY1ony1i3LHR5E9q_egH0ijUOZqy5vrhoAIEAD2hmyFrHLrBC0DJ2hD08_z88FUiBZVExH0gpsc1sN0rdCRhgtOVLyylpN6a2XdiFeOcdgvAwxBd9dcoBHL9ERzz1QcZFATjduwQTu-gGQprZk5w

 

Но что делать, если нужно вывести весь справочник? Например, мы хотим предоставить клиенту возможность смотреть список всех своих заказов и скачивать накладные по ним.

Чтобы это сделать, нужно дать возможность листать результаты данных. Для этого был реализован метод «ПолучитьКлавиатуруСтраницы()». 

  • В него мы передаем таблицу – те данные, которые мы будем использовать и отображать. 

  • Вторым параметром – количество элементов на одной странице.

  • Третий параметр отвечает за номер отображаемой в данный момент страницы.

  • И дальше – коды обработчиков для кнопок «Назад» и «Далее».

Когда мы нажимаем на «Назад» и «Далее», мы снова получаем результат нужного запроса, переключаем нужную страницу – прибавляем или убавляем ее. И отправляем запрос на изменение инлайн-клавиатуры.

 

https://lh3.googleusercontent.com/j2rL1-HrUQ0UGn1hq0CZpLAaesjz8UO5p4FJ_5SJbvw33U9F4T8p1fVwbF8pMs2UA21mN2CSposaZyQ3vDJqV-MHJJx9WEOTpr4vfwzbWUABJfoTQDTHtk8Chb40Dh7RWNyaSv7yuWdmDHrX1V4kBTM9egZICw96kyCFoaENa1D0PAgHnOvxj_DgGN9OTQ

 

Продолжением этого механизма стало отображение каталога товаров.

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

 

https://lh3.googleusercontent.com/lDkNoLX5_L2dR2EeMid1POBAlSocn4IEKywd2wuqU6yOurRuml_wMycUPwsELUOGyKED4zq94ZnXVH2K3rG0U_vymLp0fYx78SAQgvliF23E3PutWpE8iAKeHKzZJ5y-KONNomCQdT6s3pqLhk9adcQj_loosCCp5ho20-C1UZvpCtMANETd1GemN461vA

 

Вот так это может выглядеть на реальном боте.

Мы здесь видим папки и конкретные элементы номенклатуры.

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

Есть отдельные кнопки для пролистывания каталога «Назад» и «Далее» и для перемещения по уровням иерархии «На уровень наверх».

При нажатии на карточку конкретного товара открывается его описание с изображением – вы можете указать количество и положить товар в корзину.

 

Как быстро создать согласование документа

 

https://lh4.googleusercontent.com/0ZkiywIcOJ3-_vp0XD5LAl8YDXyrfaE0GyM8flmTnxxae9X2jX0pwN9gJ5E1Y0JuHKcd37q-NP0G3fRz9x6SSWCxdd0wxbIjFhORgblz7ldXTFaICa-hU0uaJxCp-DwubIJWmJ-mevXLopBgSQBdtOJtwA6QUhP-jaXqbVcqayiPTqeuhhwRBYxyTBRezA

 

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

Шаг 1. Мы создаем событие с видом «Проведение документа» и указываем тип документа – например, мы хотим согласовать заявку на расход средств.

Шаг 2. На основании этого события создаем шаблон. В нем прописываем текст сообщения и указываем получателя.

 

https://lh5.googleusercontent.com/UYH6Ra3HdfnKaW2ybsA6uK0JJZx-g9UbX9A0GNOaURW0E8INfpX6KGe-iKk5lQOlbQ1TkB6jSk_4AesIj3EmgQaaAK2fUMWDKEhSdJ6RATRUyhBntC1zuKdYRxioEaye4U9wr_UmH6tzDSKbchqcmT-WbXcXn1yN0BURVi-ikzhiqKdgtNVGqOJIxbk0Yw

 

Шаг 3. Прикрепляем к шаблону сообщения элемент справочника «Клавиатуры», в котором добавлена одна кнопка «Согласовать» – в поле «Возвращаемое значение» пишем для нее код обработчика события. И устанавливаем здесь флаг «Обработать событие» – он при формировании этой клавиатуры автоматически добавит к обработчику события GUID текущего объекта.

 

https://lh3.googleusercontent.com/4BahO6HaCHTtCNpJH8JZdX4WZ_l71KuT_naras6ljbyOmwVLVJ_1JUHWbQrfwLTtFsK6YR7EHeKwEUctTCOeUj3EdSW22mOdn0-MOEZK0mBYzo74hk3WVHhn9E1jUS9m6Lil3jxxlMDkwXK_GSO4byFnMTfpykdlUI5HKe-8syqgZsYv1dHHYbMV12zrOw

 

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

 

https://lh4.googleusercontent.com/AkJLjdR7687kw9p6kZIxY2QmmmNYjpBsvcTvn19YjgT9ansPDk77VS4lIgf_fMCwUFMcr5K4Qm3bitb3_ZINaRK9E4Ze2S5Maeq0EBJgdTNt0Mi_a4vhdi5LBAyYdu2bGdAeA3vdic8FTgn-ijcVZMpk9J2eUI4Yr_oNmT7xYVTzJl5Q3TzHqzjDqC-t2Q

 

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

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

 

Кейсы

 

https://lh6.googleusercontent.com/wcHvfLj1nzdKC-2Mx-W0Bfelg-jJYeDN23ewmysZmdyryElZyOPjq-oD4mkSlOU_50fpiH1N16ohoTpC8xoS8M0CDVSQLCEPYHxwcEK49jrbKRnnG6qS_Vj2G2hx7eNku8u-lhLBUIl_6-ZQsyn9M8vz78hOzOT3zS1dq9WhFk9bQ1vn3cnKSKX3Dqe3UQ

 

Теперь несколько кейсов из реальной практики.

Бот для отеля. Это – один из первых ботов, основанных на этой подсистеме, по запросу от этого клиента как раз-таки и была реализована возможность создавать кнопки. 

Здесь мы видим:

  • многоуровневое меню с возможностью запроса различных отчетов;

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

 

https://lh3.googleusercontent.com/ZCOtRieRfN4rZL9WPDgeBECD9o0A5Uw2PuiyMwXzCPSK8CTUKEyoeyz4cpJsltEesPX-x6bl5hQ8Ka-SRV6Q6i6DUGNSzF_RFEi0qD66pJ2zQzCzjLK5JDbihH2M0QiWcgEQIvByhO4MJhbv1cPipa91Z2KzDm5IAPtz6Zepqw_ejQlnUSB3aytTdyWwBg

 

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

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

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

  • Запрашиваем корзину – можем ее просмотреть и очистить

  • Также можем сформировать заказ по кнопке «Сформировать отчет». При этом в 1С будет создан документ, и клавиатура изменится на предложенные типы цен, доступные этому клиенту – он сможет по нажатию на нужный тип цен скачать счет на оплату.

 

https://lh3.googleusercontent.com/gViBSD9j_-LSZ-fWkYOKONxd79Fjhyl8bilZO9ogFQ6-yRmAtdhlY1VLYxgCw22rGftKuX7cy2kXPWviFfnV-HPVIIdgtau_NSUWwUq9RL7oWw3vmrw2Ux3xekSEDpe-RkqZUOvGZvytjX3oEp8oFLkIsGwIkMK5pjNRrrp_K9TIy0n3xcAT2cQniay7GQ

 

Бот для нескольких автосервисов. Здесь используется авторизация по номеру телефона клиента.

 Т.е. клиент, по которому есть информация в 1С, может:

  • авторизоваться здесь в боте по номеру телефона, и ему сразу будет доступен остаток его бонусных баллов;

  • запросить штрихкод своей карты лояльности для зачета скидки на кассе;

  • и скачать свою сервисную книжку.

 

https://lh6.googleusercontent.com/PMxpErdx0g0rrJqocAmcWo_wNEnucvNLq6EsA6nEsOx8kRJxo8moCU2k7ibIp7bgwHA2BO3sd2D-0iAG9P4Y-s8gIy-q1meo3qM13twjLzxUIU-3COu2f9n2rfCu3_SWJqRqd-FEarTyU0MlBCJ8JqXzA2xgZwutCCHyXG3LBoFZJ4w_fbPhPSVKV53FSg

 

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

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

Когда мы отметим все, что нужно, и нажмем кнопку «Сформировать», нам придет отчет в pdf с выставленными отборами.

 

Работа при блокировке, и производительность при большой нагрузке

 

https://lh6.googleusercontent.com/EHNm3IZxcyhnJnxnuGAr_v0zK7VTHLBROtEHqyZdFyFOAC6XP5Bluz9akwFaXfSlWomprod53Lx1zfUy3XP1dr3etE-fZ4nk_Ek_r1ja_mrL0NqtAmxEYhyyPg9EkI4U2YfW1x-1iolUx-SqRnnnWM3Vtl_hDHJCR-6nqbq40uVOFHyF4AaaRlYzfINKCA

 

В период блокировки Telegram во все клиенты были добавлены настройки прокси-серверов. 

Бесплатные прокси показали себя очень плохо, и те, кто хотел продолжать пользоваться ботами, покупали платные – с ними никаких проблем замечено не было.

 

https://lh3.googleusercontent.com/JV3Do-nG30ralGlWjENqVhwY98s3FhgZTEl1354qOvwrslblyiHkBKjvZTX0EOqf-TWDkdeQ9Eea2DUNl8AYy2J66yG8uv8jFWv8Ke9er-Y_FCWsC-OBNFZ3oBmozNsThZmFVsCkjef3w6XVPekLdBnj9-2qAsxS02OipQjtV8SDYp4tM5u7piBylcFlHA

 

Что касается нагрузки, самый нагруженный проект – поддержка для консультантов в сети ювелирных магазинов. 

Там около 15 пользователей, которые постоянно загружают тяжелые отчеты в pdf и запрашивают карточки товаров с фотографиями – это невероятное количество событий от онлайн-кнопок.

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

 

Другие мессенджеры

 

https://lh5.googleusercontent.com/UlwRKP7E4DkwTA93j5ooFO_lp0X4W-9KIk58Rqqw8G1ICX63j_r5AGMSvLqmujWg9z9BwAFyvaXpK7l3pypP3t0Hh19hqEdIqOOejGc_3TNXDj5vwmYZQcMs5KD9dfWQII3kbeALnJaJMBNx0Nk7sfSyRlFSYAubIOi7GajSxmmq31P9UIRTubfsJYCCwA

 

Другие мессенджеры я тоже рассматривал. 

  • Пользователи спрашивали, можно ли было сделать интеграцию с чем-то более распространенным, чем Telegram, например, с ВКонтакте. Я сделал интеграцию с ВКонтакте, но по факту оказалось, что она никому не нужна

  • Viber – тоже достаточно распространенный мессенджер, но отличается очень непрозрачной политикой в отношении ботов. Там было много историй, связанных с разделением публичных аккаунтов и ботов. Сейчас они внедряют какие-то лимиты, после которого все сообщения от бота будут платные.

  • Telegram из всех мессенджеров отличается наиболее продвинутым API, поэтому я остановился на нем и другие мессенджеры не стал внедрять в подсистему.

 

Рекомендации и выводы

 

https://lh4.googleusercontent.com/kASrZgCWAofs1Vift5S5ml5rUn300fpzXyx3wDavi0KYweH5UgO25SUNuTwwD_C8mDoSBZlo6BhGrwzk8OdoGOwlmu5M5kTL0rfARqcmK-0XnLfSXRtAJneJg0y96UkytG9sUKdeZEXO_Ka_fjeHvOZyiM1z4-FQr1EXNiQqVTv0ClPojYzZq4Qy_m6hkw

 

Рекомендации простые.

  • Как я уже сказал, если вы используете getUpdates, то делайте это правильно – через long polling.

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

 

https://lh3.googleusercontent.com/3k-y55euu3tPGW_aCRj5CY6K28KoF8D8bCAd_Ja-irUB5vQW2M4pG1cQDwBMe0ymSL3tSXn5E9hyklGfksVLWY6yPYRT-8iaMAw6OzAbHoEmDZpcQtPV55FqAkfWq0hInuSmrRMnkWk33vnXPsUuDoOpp5utSLMWzTW5NPfqiY5kcZ8IvDzfAkCEvMjvLw

 

Я думаю, что за мессенджерами будущее как за средством коммуникации между клиентом и бизнесом. 

 

https://lh4.googleusercontent.com/FCpWNbMyZU4kzYmxw4b7zo4ztQbNTC6cg8lPnvFjXoCgesyR4O-nGmfSMTMm-mK_oEEKNrJxw7ONxRDoSg75XQFDJ242DLaFiuU-ljyAKxDsK5hNxGpIum183X4UwW_5Zi1k7DHRgFTqPC6lFpugxCxlE_stANnEzf8_GmqHlee__Kc4tfAj3DSvF7MJfQ

 

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

Поэтому нужно начинать с понятных кейсов для клиента – например, использовать мессенджер вместо SMS для получения кода скидки. Это позволит бизнесу экономить на SMS, а пользователь сможет получить контролируемый канал коммуникации с бизнесом.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на митапе Мессенджеры и 1С.

Больше статей можно прочитать здесь.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 12.01.23 19:16
Сообщение было скрыто модератором.
...
2. artbear 1430 06.02.23 21:23 Сейчас в теме
Отличная статья получилась, спасибо!
3. пользователь 07.02.23 13:04
Сообщение было скрыто модератором.
...
4. пользователь 07.02.23 13:23
Сообщение было скрыто модератором.
...
5. пользователь 07.02.23 13:26
Сообщение было скрыто модератором.
...
6. пользователь 07.02.23 13:28
Сообщение было скрыто модератором.
...
7. Sartinsky 16 15.05.23 18:44 Сейчас в теме
Добрый день! Решение тиражируете?
Оставьте свое сообщение

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

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

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

15000 11250 руб.

18.06.2021    46546    227    229    

286

Платформа интеграции 1С с чат-ботами (Telegram, Viber, Instagram, ICQ, Facebook, ВКонтакте, Skype, Одноклассники, Яндекс.Алиса, WhatsApp, Verbox, Jivochat)

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

Мощный модуль для интеграции 1С с чат-ботами: Telegram, Viber, Viber Business, Instagram, ICQ, Facebook, Vkontakte, Skype, Одноклассники, Яндекс.Алиса, WhatsApp, WhatsApp Business, а так же виджеты чата для сайтов: Verbox, Jivochat. Это универсальное и эффективное решение с большими возможностями, простым интерфейсом, наличием визуального конструктора, базовыми сценариями поведения из коробки, позволяющий запустить чат-ботов в течении 1-го дня.

29000 руб.

08.10.2019    52781    41    0    

142

Интеграция 1С и WhatsApp (Ватсап)

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

WhatsApp — самый популярный мессенджер не только в России, но и во всем мире. Его установили более 70% москвичей и 59% пользователей смартфонов по всей стране (по данным института современных медиа MomriInstitute).

9600 руб.

02.07.2018    90797    195    239    

165

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов

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

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

13200 руб.

27.12.2021    24454    61    129    

151

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

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

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С

7788 руб.

07.04.2014    79153    36    188    

122

Интеграция Whatsapp / Instagram c 1C через сервис Wazzup (расширение, для УНФ 1.6 / УНФ 3.0, УТ 11, КА 2, ERP 2 (все версии), платформа 8.3.14)

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

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

14400 руб.

30.11.2020    9558    6    13    

12

Личный кабинет сотрудника для ЗУП 3.1 в Telegram

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

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

9600 руб.

21.03.2022    10226    8    10    

17

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

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

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

4100 руб.

28.04.2022    8232    2    5    

22

Расширение "Интеграция Viber"

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Расширение "Интеграция Viber" для конфигураций "Управление небольшой фирмой для Украины", "BAS Small business", "Управление нашей фирмой" (при небольших доработках подойдет практически к любой конфигурации на тонком клиенте). Научим свою 1С управлять Viber-ботом, и не одним, а сколько душе угодно...

4200 руб.

29.01.2020    13150    8    11    

17

Заготовка для использования технологии GPT в 1С

Идеи и тренды в разработке Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

10 стартмани

25.05.2023    4038    3    mkalimulin    28    

19

ChatGPT и 1С

Идеи и тренды в разработке Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже несколько месяцев в сети шумят разговоры о чат-боте ChatGPT, я решил не оставаться в стороне и тоже поинтересовался, что это за штуковина, чем она может быть полезна и пора ли искать новую работу программистам, копирайтерам, а заодно и дизайнерам, которых вот-вот подсидит Midjorney?

16.05.2023    8580    300_po_vstrechke    30    

61

Интернет-магазин в Телеграм

Мессенджеры и боты Сайты и интернет-магазины Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Как мы создали продающий в Телеграм интернет-магазин с возможностью оплаты online для карт банков России.

15.05.2023    782    wrooom    0    

13

Закрытие месяцев за период с отправкой результата в телеграм для КА, УТ

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

Операция закрытия месяца - очень долгий процесс, бывает, занимает часы. Было бы здорово получить сообщение об ее окончании, чтобы не ждать. Решение - данная обработка! Так же есть функционал закрытия месяцев за период.

1 стартмани

15.05.2023    2015    5    itcorpru    2    

3

Чат GPT (OpenAI) + генератор изображений

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

5 стартмани

10.04.2023    4421    5    Jokstr    4    

4

ChatGPT в 1С для самых маленьких

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример использования в 1С примитивного чата с ИИ на движке ChatGPT.

3 стартмани

30.03.2023    6551    11    SerVer1C    34    

15

Как мы создаем виртуального помощника

Мессенджеры и боты Бесплатно (free)

Создание не просто чат-ботов, а систем с имитацией искусственного интеллекта, виртуальных ассистентов – это актуальная, интересная и полезная задача. В платформе 1С уже появились первые объекты для подобной функциональности – боты, система взаимодействия, интеграция с телеграм. Начальник разработки в группе компаний Полипластик Владимир Крючков на конференции Infostart Event 2021 Post-Apocalypse поделился опытом создания виртуальных помощников для мониторинга сервисов, тестирования, контроля разработки и техподдержки в крупной компании.

23.03.2023    2584    ivanov660    4    

34

Автоответчик для мессенджера WhatsApp, с искусственным интеллектом ChatGPT

Мессенджеры и боты Россия Абонемент ($m)

Автоответчик для мессенджера WhatsApp, с искусственным интеллектом ChatGPT Умеет: - автоматически отвечать на сообщения пользователей, с использованием искусственного интеллекта ChatGPT - понимает русский (любой) язык - отвечать на русском (любом) языке - отвечать от имени мужчины (женщины) - не отвечает в групповых чатах

1 стартмани

12.03.2023    2077    3    ManyakRus    3    

8

Расширение "ИНФОБАЗА. Интеграция с OpenAI" - ChatGPT в 1С

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Беларусь Россия Абонемент ($m)

Расширение "ИНФОБАЗА. Интеграция с OpenAI" позволяет использовать языковую модель ChatGPT прямо из 1С (конфигурация 1С Управление компанией для Беларуси).

1 стартмани

02.03.2023    2762    29    NikitaXa    8    

8

Робот рассылки по WhatsApp

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

Обработка рассылки использует локальное EXE-приложение WhatsApp, а именно активацию отправки через переход по навигационной ссылке вида whatsapp://send?phone=79ххххххх12&text=TEXT, затем ждет секунду и делает SendKey(ENTER) для запуска отправки сообщения, и так далее по всем строкам таблицы.

1 стартмани

28.02.2023    2162    3    user739143    2    

6

Мессенджер Avito для 1С:CRM

Мессенджеры и боты Платформа 1С v8.3 1С:CRM ПРОФ, КОРП Россия Управленческий учет Абонемент ($m)

Добавление канала диалогов для 1С:CRM из популярного сайта объявлений.

10 стартмани

26.02.2023    1877    3    andryandry    5    

3

Чат "Беседка" на управляемых формах

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

Расширение. Чат. Для общения пользователей, обмена файлами. Можно создавать групповые каналы.

1 стартмани

02.02.2023    2195    5    user-sergey    14    

4

Telegram: Согласование заявок на расходование денежных средств

Бюджетирование и планирование Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Расширение конфигурации для согласования заявок на расходование денежных средств через чат бот Telegram. Проверено на платформе 1С:Предприятие 8.3 (8.3.22.1750). Проверено на конфигурациях: 1С:ERP Управление предприятием 2 (2.5.10.74), Управление торговлей, редакция 11 (11.5.10.52).

10 стартмани

24.01.2023    2882    16    Pira    2    

9

Взаимодействие с сотрудниками и клиентами из одного окна конфигурации 1С (Телеграм, ВКонтакте, Facebook, Discord). Преимущества, технические особенности, подводные камни

Мессенджеры и боты Бесплатно (free)

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

10.01.2023    2418    Akcium    2    

18

Работа с Telegram Bot для 1С

Мессенджеры и боты Платформа 1С v8.3 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

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

2 стартмани

26.12.2022    2966    4    user1540741    0    

1

Получение отчетов из 1С в Телеграм с помощью расширения Боцман

Мессенджеры и боты 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

Обработка, реализующая функционал получения выбранных отчетов 1С через Телеграм-бот. Параметры отчетов также можно задавать через бот перед формированием отчета или использовать предустановленные параметры. Выбор отчетов, предустановленных параметров и параметров для установки происходит стандартными средствами БСП. Демо этой обработки работает в телеграм: @Telega1C_Bot по адресу: https://t.me/Telega1C_Bot

3 стартмани

07.12.2022    2570    10    DrWeb3    14    

6

Работа с API Rocket.Chat из 1С - Отправка сообщений и файлов, получение списков каналов и пользователей

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Rocket.Chat - опенсорсный корпоративный чат. Может рассматриваться в качестве альтернативы Slack. Существует возможность установить собственный сервер, что очень актуально в свете текущей геополитической обстановки.

5 стартмани

11.11.2022    3322    9    madonov    3    

9

[FREE] Библиотека для интеграции 1С с Whatsapp шлюзом (API) "Whatsgate"

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Функционал библиотеки позволяет полностью манипулировать элементами системы "Whatsgate" (Например: отправить сообщение с прикрепленным файлом, получить чаты и т.д.). Это позволит вам разработать множество интересных и полезных решений, начиная от интеграции с типовыми решениями и заканчивая целыми CRM системами!

1 стартмани

03.11.2022    3461    13    TheNabiulla    0    

9

Telegram бот для ЗУП 3.1 (Telegram bot)

Мессенджеры и боты Сложные периодические расчеты 8.3.14 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Бот предназначен для получения информации по сотрудникам из БД ЗУП: "Расчетный листок" и количество отработанных смен за выбранный месяц. Реализован в виде расширения конфигурации Зарплата и управление персоналом, редакция 3.1.

1 стартмани

30.09.2022    3940    16    dima-2828    19    

6

Уведомления в Телеграмм со ссылкой на любой документ

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Добавление кнопки [Уведомление в Telegram] во все формы справочников и документов. Уведомления можно использовать для согласований или для технической поддержки. Крайне простая установка и настройка.

1 стартмани

20.09.2022    6270    27    wrooom    25    

33

Обмен данными между базами 1С посредством передачи сообщений

Обмен между базами 1C Мессенджеры и боты Платформа 1С v8.3 Абонемент ($m)

Разбор примера демо-реализации группового чата с использованием стороннего сервиса. Цель, - знакомство с некоторыми функциями платформы DESP. Вопросы эффективности и безопасности не затрагиваются. Исполняемый код серверной части платформы не представлен в данной публикации, но выполняется в "облаке", в демо-режиме.

1 стартмани

12.07.2022    3623    0    kodkraft    0    

2

Бесплатная отправка сообщений в Whatsapp бот из 1С

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: Имеются 200 контрагентов, которым ежедневно нужно из отчета 1С выслать сумму их задолженности или предоплаты в Whatsapp (рассылка должна идти с номера менеджера этих контрагентов).

2 стартмани

08.06.2022    11450    48    John_d    48    

143

История развития телеграм-ботов в одной сибирской компании

Идеи и тренды в разработке Мессенджеры и боты Бесплатно (free)

Хочу рассказать историю развития и применения Telegram-ботов в одной компании. Говорить буду о том, что сделано, а не как сделано. Идея написать об этом возникла, так как, делясь опытом с коллегами, неожиданно обнаружил, что реализованные фичи вызывали немалое удивление, по принципу: "А так можно было?". Надеюсь, мой рассказ будет вам полезен и вдохновит на создание чего-нибудь занятного.

28.03.2022    2017    zeltyr    2    

13

Отправка сообщений в своей группе Телеграм (telegram)

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Простой инструмент для отправки сообщений в телеграм из 1С (бесплатно).

22.03.2022    6118    317    e9504100606    13    

25

Telegram бот для УТ 11

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

Бот умеет формировать заказы клиентов в базе УТ 11, осуществлять согласование заказов, показывать остатки товара и отправлять информацию рекламного или справочного характера в ответ на введенную клиентом команду. Предназначен для самостоятельной работы клиентов (дилеров) и сотрудников вашей компании. Файл поставки предназначен для встраивания силами программиста 1С. Связь с чат ботом реализована через HTTP Запрос. При необходимости могу адаптировать и доработать бота для вашей конфигурации. Могу добавить функционал отправки произвольных сообщений клиентам, сотрудникам компании, служебной информации, опросов, верификацию клиентов по номеру телефона и т.д.

10 стартмани

16.03.2022    7419    29    Pira    32    

16

Telegram. Пример реализации

Мессенджеры и боты Платформа 1С v8.3 Абонемент ($m)

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

5 стартмани

16.12.2021    6763    33    Pira    3    

19