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


&НаСервере
Процедура ПриПроведенииЧекаОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
    
    Если Источник.СтатусЧекаККМ = Перечисления.СтатусыЧековККМ.Пробитый Тогда
            
            //Текст сообщения        
            ТекстЧек = Строка(Источник) + " (статус: " + Строка(Источник.СтатусЧекаККМ) + ")";
            
            Товары = "Товары: ";
            Для Каждого Строка Из Источник.Товары Цикл
                Товары = Товары + Строка.Номенклатура.Наименование + ": " +
                Строка(Строка.Количество) + " " +
                Строка(Строка.Номенклатура.ЕдиницаИзмерения.Наименование) +
                " по " + Строка(Строка.Цена) + " = " + Строка(Строка.Сумма) +
                ?(Строка.ПроцентАвтоматическойСкидки <> 0, " (Автоскидка = " + Строка(Строка.ПроцентАвтоматическойСкидки) + "%; Сумма автоскидки = " + Строка(Строка.СуммаАвтоматическойСкидки), "")  +
                ?(Строка.ПроцентРучнойСкидки <> 0, " (Ручнаяскидка = " + Строка(Строка.ПроцентРучнойСкидки) + "%; Сумма ручной скидки = " + Строка(Строка.СуммаРучнойСкидки), "")  +
                 ";" + Символы.ПС;
            КонецЦикла;
            
            ТекстСумма = "Сумма чека: " + Строка(Источник.СуммаДокумента);
            
            ТекстОплаты = "Оплата: ";
            Для Каждого Строка Из Источник.Оплата Цикл
                ТекстОплаты = ТекстОплаты + Строка(Строка.ВидОплаты.Наименование) + ": " + Строка(Строка.Сумма);
            КонецЦикла;
            
            ТекстСкидки = "Скидки: ";
            Для Каждого Строка Из Источник.СкидкиНаценки Цикл
                ТекстСкидки = ТекстСкидки + Строка(Строка.СкидкаНаценка) + ": " + Строка(Строка.Сумма) + Символы.ПС;
            КонецЦикла;
            
            ТекстСообщения = ТекстЧек + "; " + Символы.ПС + Товары + "; " + Символы.ПС + ТекстСумма + Символы.ПС + ТекстОплаты + Символы.ПС + ТекстСкидки;
            
            //Телеграм
            Сервер = "api.telegram.org";
            Токен = "ЗдесьСтрокаСТокеном";
            ID = "ЗдесьСтрокаС_АйДи";
            Ресурс = "bot" + Токен + "/SendMessage?chat_id=" + ID + "&text=" + ТекстСообщения;
            Соединение  =  Новый HTTPСоединение(Сервер,443,,,,5,Новый ЗащищенноеСоединениеOpenSSL());
            Запрос = Новый HTTPЗапрос(Ресурс);
            Ответ = Соединение.Получить(Запрос);
            
    КонецЕсли;
        
КонецПроцедуры
16 vova1122
 
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Запрос(Ресурс);
    Ответ = Соединение.Получить(Запрос);
17 oleg_km
 
16.04.19
16:25
(16) Потому что нужно кодировать спецсимволы в URL
18 vova1122
 
16.04.19
16:29
(17) Переведите на русский, пожалуйста, для "Особо одаренных".
19 Dzenn
 
гуру
16.04.19
16:53
20 Nyoko
 
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;
КонецФункции
21 Nyoko
 
17.04.19
12:03
А что телегу разблокировали у нас?
22 eklmn
 
гуру
17.04.19
12:06
(21) а что была заблокирована? ниче не делал, как работала, так и работает