diff --git a/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl index b516bfd2b2..b051ca629b 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl @@ -356,7 +356,8 @@ // Текст - Строка - Текст сообщения - text // Документ - ДвоичныеДанные,Строка - Файл документа - doc // Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - JSON клавиатуры или путь к .json -// Разметка - Строка - Вид обработки текста (HTML, Markdown, MarkdownV2) - parsemode +// Разметка - Строка - Вид обработки текста (HTML, Markdown, MarkdownV2) - parsemode +// ИмяФайла - Строка - Отображаемое имя файла c расширением, если необходимо - filename // // Возвращаемое значение: // Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram @@ -365,9 +366,10 @@ , Знач Текст , Знач Документ , Знач Клавиатура = "" - , Знач Разметка = "Markdown") Экспорт + , Знач Разметка = "Markdown" + , Знач ИмяФайла = "") Экспорт - Возврат ОтправитьФайл(Токен, IDЧата, Текст, Документ, "document", Клавиатура, Разметка); + Возврат ОтправитьФайл(Токен, IDЧата, Текст, Документ, "document", Клавиатура, Разметка, ИмяФайла); КонецФункции @@ -1041,7 +1043,14 @@ #Область СлужебныеПроцедурыИФункции -Функция ОтправитьФайл(Знач Токен, Знач IDЧата, Знач Текст, Знач Файл, Знач Вид, Знач Клавиатура, Знач Разметка) +Функция ОтправитьФайл(Знач Токен + , Знач IDЧата + , Знач Текст + , Знач Файл + , Знач Вид + , Знач Клавиатура + , Знач Разметка + , Знач ИмяФайла = "") OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен); OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата); @@ -1054,6 +1063,8 @@ ПреобразоватьДанныеФайла(Файл, Расширение, Вид); OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка); + ИмяФайла = ?(ЗначениеЗаполнено(ИмяФайла), Вид + "|" + ИмяФайла, Вид + Расширение); + Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode" , Разметка , "Строка" , Параметры); OPI_Инструменты.ДобавитьПоле("caption" , Текст , "Строка" , Параметры); @@ -1061,11 +1072,11 @@ ДобавитьИдентификаторЧата(IDЧата, Параметры); - СтруктураФайлов = Новый Структура; - СтруктураФайлов.Вставить(Вид + Расширение, Файл); + СоответствиеФайлов = Новый Соответствие; + СоответствиеФайлов.Вставить(ИмяФайла, Файл); URL = "api.telegram.org/bot" + Токен + Метод; - Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, СтруктураФайлов, "mixed"); + Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, СоответствиеФайлов, "mixed"); Возврат Ответ; diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl index 74023ea5a8..0600c39563 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -4050,6 +4050,12 @@ // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент", "Telegram"); + Проверка_ТелеграмДокумент(Результат, Текст); // SKIP + + Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDЧата, Текст, Документ, , , "customname.docx"); + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент (с именем)", "Telegram"); + Проверка_ТелеграмДокумент(Результат, Текст); // SKIP Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ДокументПуть); @@ -4058,7 +4064,7 @@ Проверка_ТелеграмДокумент(Результат, Текст); // SKIP - Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ДокументДД); + Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ДокументДД, , , "customname.docx"); // END