Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Интеграция 1С с телеграм

Интеграция 1С с телеграм
Я
   6elka1703
 
15.04.19 - 19:54
Добрый день. может есть тут люди которые делали интеграцию 1с с телеграм, чтобы в телеге создать бота и с помощью него можно было получать из 1с отчеты и другую информацию. Есть есть такие люди, можете поделиться базой или обработкой кому не жалко. Просто делаю похожую вещь и интересно было бы посмотреть как вы это реализовывали.:D
 
 
   shuhard
 
1 - 15.04.19 - 20:06
   6elka1703
 
2 - 15.04.19 - 20:11
(1) это я уже видел, делаю свое по примеру этой и еще одной статьи, хотелось бы посмотреть может кто сам делал, как они реализовывали.
   palsergeich
 
3 - 15.04.19 - 20:23
Что хочешь то?
На конкрентый вопрос отвечу. Свой пот целиком отдать - уж извини.
   6elka1703
 
4 - 15.04.19 - 20:28
(3) да конкретного вопроса нет, просто интересно посмотреть. Да отдавать не прошу, написал же кому не жалко. А если думаю что, то украду и выложу куда-то, то делаю я это как курсовой проект для колледжа, никакой комерции.
   Sysanin_1ц
 
5 - 15.04.19 - 20:28
(0) В ютьюбе у Ильи Низамова есть целая серия видео про написание ботов в телеграмме
   6elka1703
 
6 - 15.04.19 - 20:30
(5) видел эти видосы, но почему то мне как то совсем они не понравились, пару статей на инфостарте как то лучше зашли
   6elka1703
 
7 - 15.04.19 - 20:34
(3) хотя один вопрос будет, ответьте если не сложно. Допустим я хочу сделать так чтобы пользователь ввел команду отчеты и перед ним появилась клавиатура с кнопками(названия) отчета, и при нажатии на кнопку формировался отчет и в виде файла pdf или xls отправлялся пользователю. Как сделать кнопки я понимаю,но не понимаю как их потом обработать.
   Холст
 
8 - 15.04.19 - 21:12
(0) Вы или ваш клиент прикидывали насколько "овчинка стоит выделки" ?
Читал идею узнавать по кодам товара или наименованию наличие остатки и цену, реально торговый агент или покупатель будут спрашивать цену ? удобно ли реальным юзерам ?
или идея узнавать ЛПР выжимки управленческих отчетов - в телеге это проще чем по удаленке или веклиенту получать из самой 1С инфу ? или что ещё даёт эффект ?
   6elka1703
 
9 - 15.04.19 - 21:16
(8) я делаю это как курсовой проект, я не задумывался пригодится ли где это, просто мне это интересно.
   palsergeich
 
10 - 15.04.19 - 21:34
Ты задай конкретный вопрос, тебе помогут.
   6elka1703
 
11 - 15.04.19 - 21:38
(10) блин вот как вы читаете я не понимаю, смотрите только в конец походу, я уже задал вам конкретный вопрос выше, а вообще тему создавал не имея конкретного вопроса, просто интересно было посмотреть на проекты и как реализованы.
   quest
 
12 - 15.04.19 - 22:11
(11) опубликуй свой код, дай здесь ссылку - тебе расскажут где ты не прав. А вымаливать чужие наработки - пошловато (на мой вкус)
   6elka1703
 
13 - 15.04.19 - 22:36
(12) боже мой, с чего взяли что я где то не прав, наработки я не вымаливал, просто интересно было посмотреть и тут началось.Короче тема закрыта,толку от нее 0.
   HawkEye
 
14 - 15.04.19 - 23:39
(7) если ты понимаешь как сделать кнопки, то что тебе мешает посмотреть что придет в ответ на нажатие этих кнопок?
   Prog111
 
15 - 16.04.19 - 06:48
(0) Я вот такой код набросал при проведении чека в Рознице. Текст летит пользователю в Телеграм на телефон при пробитии чека (что, сколько было куплено, с какими скидками и какой вид оплаты).


&НаСервере
Процедура ПриПроведенииЧекаОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
    
    Если Источник.СтатусЧекаККМ = Перечисления.СтатусыЧековККМ.Пробитый Тогда
            
            //Текст сообщения        

            ТекстЧек = Строка(Источник) + " (статус: " + Строка(Источник.СтатусЧекаККМ) + ")";
            
            Товары = "Товары: ";
            Для Каждого Строка Из Источник.Товары Цикл
                Товары = Товары + Строка.Номенклатура.Наименование + ": " + 
                Строка(Строка.Количество) + " " + 
                Строка(Строка.Номенклатура.ЕдиницаИзмерения.Наименование) + 
                " по " + Строка(Строка.Цена) + " = " + Строка(Строка.Сумма) + 
                ?(Строка.ПроцентАвтоматическойСкидки <> 0, " (Автоскидка = " + Строка(Строка.ПроцентАвтоматическойСкидки) + "%; Сумма автоскидки = " + Строка(Строка.СуммаАвтоматическойСкидки), "")  +
                ?(Строка.ПроцентРучнойСкидки <> 0, " (Ручнаяскидка = " + Строка(Строка.ПроцентРучнойСкидки) + "%; Сумма ручной скидки = " + Строка(Строка.СуммаРучнойСкидки), "")  +
                 ";" + Символы.ПС;
            КонецЦикла;
            
            ТекстСумма = "Сумма чека: " + Строка(Источник.СуммаДокумента);
            
            ТекстОплаты = "Оплата: ";
            Для Каждого Строка Из Источник.Оплата Цикл
                ТекстОплаты = ТекстОплаты + Строка(Строка.ВидОплаты.Наименование) + ": " + Строка(Строка.Сумма);
            КонецЦикла;
            
            ТекстСкидки = "Скидки: ";
            Для Каждого Строка Из Источник.СкидкиНаценки Цикл
                ТекстСкидки = ТекстСкидки + Строка(Строка.СкидкаНаценка) + ": " + Строка(Строка.Сумма) + Символы.ПС;
            КонецЦикла;
            
            ТекстСообщения = ТекстЧек + "; " + Символы.ПС + Товары + "; " + Символы.ПС + ТекстСумма + Символы.ПС + ТекстОплаты + Символы.ПС + ТекстСкидки;
            
            //Телеграм

            Сервер = "api.telegram.org";
            Токен = "ЗдесьСтрокаСТокеном";
            ID = "ЗдесьСтрокаС_АйДи";
            Ресурс = "bot" + Токен + "/SendMessage?chat_id=" + ID + "&text=" + ТекстСообщения;
            Соединение  =  Новый HTTPСоединение(Сервер,443,,,,5,Новый ЗащищенноеСоединениеOpenSSL());
            Запрос = Новый HTTPЗапрос(Ресурс);
            Ответ = Соединение.Получить(Запрос);
            
    КонецЕсли;
        
КонецПроцедуры
   vova1122
 
16 - 16.04.19 - 16:17
Чтобы не плодить тем добавлю свой вопрос сюда.
Делал все аналогично как в (15). Но почему то у меня не воспринимает Символы.ПС в ТекстеСообщения. Если в ТекстеСообщения есть хотябы один символ перевода строки, то 1С ругается:
    Ответ = Соединение.Получить(Запрос);
через:
Ошибка роботы из Интернет:   URL using bad/illegal format or missing URL

  Код Оправки сообщения:
    Ресурс = "bot" + Токен + "/SendMessage?chat_id=" +ID + "&text=" + ТекстСообщения;
    Соединение  =  Новый HTTPСоединение(Сервер,443,,,,5,Новый ЗащищенноеСоединениеOpenSSL());
    Запрос = Новый HTTPЗапрос(Ресурс);
    Ответ = Соединение.Получить(Запрос);
   oleg_km
 
17 - 16.04.19 - 16:25
(16) Потому что нужно кодировать спецсимволы в URL
   vova1122
 
18 - 16.04.19 - 16:29
(17) Переведите на русский, пожалуйста, для "Особо одаренных".
   Dzenn
 
19 - 16.04.19 - 16:53
   Nyoko
 
20 - 17.04.19 - 12:03
(16)
Функция КодСимволаASCII(Символ) 
   КодUNICODE = КодСимвола(Символ); 
   Если ((КодUNICODE > 1039) И (КодUNICODE < 1104)) Тогда 
       Возврат (КодUNICODE - 848); 
   ИначеЕсли КодUNICODE = 8470 Тогда 
       Возврат 185; 
   ИначеЕсли КодUNICODE = 1105 Тогда 
       Возврат 184; 
   ИначеЕсли КодUNICODE = 1025 Тогда 
       Возврат 168; 
   Иначе 
       Возврат КодUNICODE; 
   КонецЕсли; 
КонецФункции


Функция URLEncode( value )

    table = "%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14" +
            "%15%16%17%18%19%1A%1B%1C%1D%1E%1F%20%21%22%23%24%25%26%27%28" +
            "%29%2A%2B%2C%2D%2E%2F%30%31%32%33%34%35%36%37%38%39%3A%3B%3C" +
            "%3D%3E%3F%40%41%42%43%44%45%46%47%48%49%4A%4B%4C%4D%4E%4F%50" +
            "%51%52%53%54%55%56%57%58%59%5A%5B%5C%5D%5E%5F%60%61%62%63%64" +
            "%65%66%67%68%69%6A%6B%6C%6D%6E%6F%70%71%72%73%74%75%76%77%78" +
            "%79%7A%7B%7C%7D%7E%7F%80%81%82%83%84%85%86%87%88%89%8A%8B%8C" +
            "%8D%8E%8F%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F%A0" +
            "%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF%B0%B1%B2%B3%B4" +
            "%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF%C0%C1%C2%C3%C4%C5%C6%C7%C8" +
            "%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC" +
            "%DD%DE%DF%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0" +
            "%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF";
    
    result = "";        
            
    length = СтрДлина( value );        
    
    Для i = 1 По  length Цикл        
        symbol = Сред( value, i, 1 );        
      //code = КодСимвола( symbol );    

        code = КодСимволаASCII( symbol );
        result = result + Сред( table, code*3 + 1, 3 );        
    КонецЦикла;
    
    
    
    Возврат result;
КонецФункции
   Nyoko
 
21 - 17.04.19 - 12:03
А что телегу разблокировали у нас?
   eklmn
 
22 - 17.04.19 - 12:06
(21) а что была заблокирована? ниче не делал, как работала, так и работает


Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.