gifts2017

Отчеты на мобильном устройстве (через Telegram) без изменения конфигурации.

Опубликовал Денис Харченко (nomadon) в раздел Обмен - Обмен с другими системами

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

Задача:

  • Необходимо получать отчеты и другую информацию из базы с мобильного устройства, не получая доступа к базе 1С
  • Минимизировать использование лицензий роботом
  • Не изменять конфигурацию (внешняя обработка)
  • Не открывать входящий канал к базе 1С, только исходящий

Функции робота:

  • Формирование сохранного варианта отчета на СКД (Работает со справочником "варианты отчетов". Розница, УТ 11)

  • Задание параметров СКД в диалоге с пользователем (дата, булево)

  • Отправка сформированных отчетов пользователю (html,xls, pdf и т.д.)

  • Настраиваемое меню бота

  • Разграничение пунктов меню по РОЛЯМ

  • Управление доступом и ролями пользователей тоже из бота

  • Резервное копирование и перенос настроек

  • Запуск не ограниченного числа роботов в одной базе

  • Назначения роли новому пользователю

  • Назначения пользователя 1С новому пользователю

  • Режим подтверждения доступа  к роботу по пин-коду

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

  • Настраиваемые рекламные сообщения для первого и каждого сообщений

  • Заглушка. Временное (или постоянное) отключение основных функций робота с соответствующим сообщением

  • Рассылка произвольных сообщений пользователям бота

  • Выполнение произвольного кода (для сообщения пользователю, показ быстрых кнопок, отправка файлов)

  • Настройка прокси-сервера для подключение в интернет

Инструкция по регистрации нового робота.

Установка

Робот может работать как:

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

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

Это позволяет настраивать и запускать неограниченное число роботов.

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

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

  2. Встроив в конфигурацию можно программного вызвать метод обработки (ВыполнитьКоманду). Здесь уже продвинутые пользователи самостоятельно определяют как чем и когда запускать обработку запросов.

Как настроить отчет

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

  • Сохраняется вариант отчета с требуемым именем

  • Это имя прописывается в поле "Данные формирования" в меню робота

Использование в отдельных разработках - по согласованию с автором. 

Достоинства

Робот-обработка подключается и настраивается опытным пользователем.

Нет необходимости программировать.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Обработка бот Телеграм v 1.31
.epf 62,95Kb
13.10.16
13
.epf 62,95Kb 13 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Макаров (XOCTEP) 10.11.15 12:24
Очень интересно, но для распространения "как есть" многовато 10sm
dyuha; zif74; webester; ValeriTim; BigB; +5 5 Ответить 1
2. Александр Губанов (gubanoff) 10.11.15 15:41
Судя по описанию - это божественно! Можно встраивать в свои конфиги?
3. Александр Губанов (gubanoff) 10.11.15 16:00
(0) а как происходит связь бота с внешним миром? Должен быть доступ в интернет на сервере? Или какие-то определенные порты?
4. Денис Харченко (nomadon) 10.11.15 16:20
(2) gubanoff,
Подключается внешней обработкой, но можно и в конфу вставить
5. Денис Харченко (nomadon) 10.11.15 16:22
(3) gubanoff,
Да должен быть доступ с сервера, т.к. обработка запросов происходит в серверной директиве. Есть настройка прокси сервера
6. Денис Харченко (nomadon) 10.11.15 16:25
(1) XOCTEP, как есть, потому что функционал будет увеличиваться.
7. Денис Харченко (nomadon) 10.11.15 16:26
(3) gubanoff, обращение происходит к HTTPS, думаю достаточно 443 открыть
9. Александр Губанов (gubanoff) 11.11.15 09:52
(0) а какая кстати требуется версия платформы?
10. Денис Харченко (nomadon) 11.11.15 17:54
(9) gubanoff, на 8.3.5 проверено точно, на ранее - не тестировалось
11. г. Казань Рустем Гумеров (Rustig) 02.12.15 00:03
12. Антон (anton.fly7) 26.02.16 10:39
как сделать на iphone сделать кнопки на клавиатуре для выбора как на втором скриншоте?
13. Денис Васильев (Denis_Viktorovich) 07.03.16 08:41
(12) anton.fly7, у меня на iphone 4 ios 7 все норм, появляются
14. Денис Васильев (Denis_Viktorovich) 07.03.16 08:42
Обработка с колоссальным вложением труда, спасибо, молодец!
15. Александр Горлов (gavlexx) 04.04.16 22:52
Подскажите, как передавать параметры в 1С через бота? Даты для отчета, или Да/Нет для произвольного кода...
Например, как использовать этого бота для согласования заявок на расходование ДС, например. То есть отправить сообщение конкретным пользователям ИБ и получить ответ Да/Нет (Согласовано или нет).
16. Александр Горлов (gavlexx) 04.04.16 23:03
При удалении роли через управление из Телеграм "из середины" забирает первую букву следующей роли и пользователь больше не может нормально работать. Нужно возвращать роли в обработке.
17. Andrei Shibanov (shibanovan) 08.04.16 11:14
А он сможет отправить отчет в группу по расписанию ?
18. Вадим Назаров (NazarovV) 11.04.16 13:00
Добрый день. Скачал вашу обработку, полузуясь случаем говорю спасибо за столь полезную вещь!
Все работало хорошо, до вчерашнего утра. Теперь при попытке отправить отчет из 1С - выдает ошибку: [Error]: Bad Request: Can't parse reply keyboard markup JSON object.
По отладке получает ошибку от Телеграмм вот в этот момент: Ответ = Соединение.ОтправитьДляОбработки(Запрос); Ошибка 400 метода SendDocument. Как думаете, что может быть?!
При этом все остальные команды работают на ура, не могу только отправлять документ.
Складывается впечатление, что на стороне Телеграмм что-то изменили. Есть мысли?
19. Денис Харченко (nomadon) 12.04.16 09:45
(15) gavlexx,
в форме редактирования произвольного когда есть небольшая справка по параметрам в шапке формы. там можно кнопки ответа настроить
20. Денис Харченко (nomadon) 12.04.16 09:50
(17) shibanovan, наверное придется допилить чуть чуть. ну или сделать новую процедурку которая будет это выполнять по регл заданию
21. Денис Харченко (nomadon) 12.04.16 11:06
(16) gavlexx, исправлено в новой версии
22. Денис Харченко (nomadon) 12.04.16 18:06
(18) NazarovV, Исправлено в новой версии
23. Артём Андриянов (CSiER) 14.04.16 12:54
Здравствуйте. Код открыт?
24. Денис Харченко (nomadon) 14.04.16 13:36
(23) CSiER, Полностью открыт
25. Денис Васильев (Denis_Viktorovich) 25.04.16 11:52
(21) nomadon, скажите в чем проблема заключалась?
26. Антон Антон (kare) 25.04.16 11:56
День добрый, а каким образом меняются настройки бота?(команды) передается запрос (настройки) на сервер телеграм?
27. Денис Харченко (nomadon) 25.04.16 15:28
(25) Denis_Viktorovich, Ошибка в коде при разборе строки ролей
28. Денис Харченко (nomadon) 25.04.16 15:29
(26) kare, Настройки меняются в форме обработки и хранятся в базе вашей. Настройки на сервер телеграм не передаются, передаются только сообщения
29. Антон Антон (kare) 26.04.16 08:23
(28) nomadon, я может не так выразился , именно команды для отчетов самом боте как настраиваются ? из обработки?
30. Денис Харченко (nomadon) 26.04.16 10:01
(29) kare, да, в режиме предприятия, можно написать свой код вызова своих отчетов
31. Вадим Назаров (NazarovV) 27.04.16 06:02
(22) nomadon, Если не секрет - а что было?!
32. Антон Антон (kare) 27.04.16 08:35
(30) nomadon, и если я правильно понял то бот жив пока запущенна 1с? может Вам бы стоило еще статью оформить ну уже с примерами работы (ПОЛУЧЕНИЕ ДАННЫХ ИЗ 1С) это тема очень актуальна и интересна.
33. Денис Харченко (nomadon) 27.04.16 10:26
(32) kare, если файловая то да, в серверной регламентное задание можно запустить.
34. Денис Харченко (nomadon) 27.04.16 10:27
(31) NazarovV, Ошибка в коде при разборе строки ролей
35. Антон Антон (kare) 27.04.16 10:54
(33) nomadon, оч круто! только хотелось бы от Вас почитать статью для джуниоров ) разбор простого примера получения списка всех пользователей и тп.
37. Сан Саныч (herfis) 27.04.16 11:18
Реализацию не смотрел, но концепция просто великолепная по всем пунктам.
38. Денис Харченко (nomadon) 03.05.16 12:08
39. Алексей (zhurba) 20.05.16 15:11
Поделитесь опытом, каким способом обращались к серверу Telegram?
HTTPСоединение (в 1С), WinHttprequest или каким другим?
40. Денис Васильев (Denis_Viktorovich) 12.06.16 09:13
Телеграмм бот в сбесился, первое: в 1С появился новы пользователь ботом Diego какой то, с галочкой что он подтвержден, Второе: идут нескончаемые запросы без остановки, в телеграм приходят не переставая ответы.
41. Денис Харченко (nomadon) 12.06.16 13:12
(40) Denis_Viktorovich, насчет пользователя не знаю, но если шлет отдно и то же без остановки, скорее всего номер сообщения сбился,
остановите его, очистите поле ИД сообщения и снова запустите, должно помочь
42. Денис Васильев (Denis_Viktorovich) 14.06.16 14:38
(41) nomadon, где хранится инфа по этому полю, по коду я так понимаю в хранилище настроек? как его очистить?
43. Денис Харченко (nomadon) 14.06.16 17:55
(42) Denis_Viktorovich, нужно открыть форму обработки, прочитать данные из хранилища, почистить поле и обязательно записать настройки
44. Александр Горлов (gavlexx) 18.09.16 19:29
nomadon, подскажите, что изменилось в новой версии обработки?
45. Алексей _ (iolko) 20.09.16 04:24
Доброго дня. Сейчас у Telegram API есть возможность обрабатывать call_back запросы. Если использовать эту возможность, то можно сделать меню гораздо эргономичнее (не такое как на скринах). В принципе с точки зрения переделки кода, там не так много.
46. Денис Харченко (nomadon) 20.09.16 10:00
(45) iolko, Добрый день. для использования call_back функция необходимо наличие точки входа в 1С. http сервис, например. Данная разработка позиционируется как функционал без изменения ПО и канал интернет - только исходящий
47. Денис Харченко (nomadon) 20.09.16 10:01
(44) gavlexx, ничего существенного, закладка с интернте-страничкой комментариев
48. Алексей _ (iolko) 20.09.16 10:14
(46) nomadon, немного не то, у Вас сейчас при нажатии на кнопку у пользователя отображается то что она нажал, т.е. фактически он отсылает сообщение боту, которое Вы потом анализируете. При использовании callback_data в кнопках , при ее нажатии вам отправиться callback_data а на экране не будет ни чего.

Пример

	МассивКнопок = новый Массив;	
	СтруктураКнопок = Новый Структура;
	СтруктураКнопок.Вставить("text","УзнатьИД");
	СтруктураКнопок.Вставить("callback_data","УзнатьИД");
...Показать Скрыть


	Для Каждого МассивОтветов Из СтруктураОтветов.result Цикл
		//Обработка меню через call_back 
	Если МассивОтветов.Свойство("callback_query") Тогда ......
...Показать Скрыть
49. Денис Харченко (nomadon) 20.09.16 10:28
(48) iolko, а как бы вы хотели использовать данный функционал ? не показывать пользователю выбранный пункт меню?
50. Алексей _ (iolko) 20.09.16 10:35
(49) nomadon, пункт меню показан - это
СтруктураКнопок.Вставить("text","Запросить свой ИД");

При нажатии в окне чата бота не происходит ни какого вывода сообщений, за то бот получает
 СтруктураКнопок.Вставить("callback_data","ИД");


и уже его обрабатывает 1С.
51. Михаил Беляев (METAL) 08.11.16 11:03
Добрый день!
Скажите, а не приходилось ли Вам делать интеграцию с Facebook API https://developers.facebook.com/ ?
Иными словами, можно ли то же самое прикрутить не к Телеграм, а к Фейсбуку?
Просто в нашей компании никто Телеграм не использует, а интеграцию с каким-нибудь популярным мессенджером хотят, и несмотря на мои уговоры, даже пробовать телеграм не хотят, аргумент такой - вот есть Фейсбук, приложение у всех стоит, АПИ есть, пусть корпоративный бот работает на этой платформе...
Но мне пока не удалось найти ни одного примера реализации бота.. Это потому что на порядок сложней, чем с телеграмом, или просто руки не дошли ни у кого?..
Спасибо!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа