Вход | Регистрация
 
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 или кнопку "Обновить" в браузере.
Рекламное место пустует