diff --git a/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl index 5ec23c374eb..af4a5c6a5bd 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Telegram/Module.bsl @@ -322,7 +322,7 @@ OPI_Инструменты.ДобавитьПоле("parse_mode" , Разметка , Строка_ , Параметры); OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_ , Параметры); OPI_Инструменты.ДобавитьПоле("reply_markup" , Клавиатура , "Коллекция" , Параметры); - OPI_Инструменты.ДобавитьПоле("reply_to_message_id", IDВходящего, Строка_ , Параметры); + OPI_Инструменты.ДобавитьПоле("reply_to_message_id", IDВходящего, "Число" , Параметры); ДобавитьИдентификаторЧата(IDЧата, Параметры); @@ -663,8 +663,8 @@ URL = "api.telegram.org/bot" + Токен + "/forwardMessage"; Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("from_chat_id", ОткудаID , "Строка", Параметры); - OPI_Инструменты.ДобавитьПоле("message_id" , IDОригинала, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("from_chat_id", ОткудаID , "Число", Параметры); + OPI_Инструменты.ДобавитьПоле("message_id" , IDОригинала, "Число", Параметры); ДобавитьИдентификаторЧата(КудаID, Параметры); @@ -694,8 +694,8 @@ URL = "api.telegram.org/bot" + Токен + "/deleteMessage"; Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, "Строка", Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, "Число", Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число", Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); Возврат Ответ; @@ -723,7 +723,7 @@ Строка_ = "Строка"; Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("message_id" , IDСообщения, Строка_ , Параметры); + OPI_Инструменты.ДобавитьПоле("message_id" , IDСообщения, "Число" , Параметры); OPI_Инструменты.ДобавитьПоле("reply_markup", Клавиатура , "Коллекция", Параметры); ДобавитьИдентификаторЧата(IDЧата, Параметры); @@ -756,7 +756,7 @@ Строка_ = "Строка"; Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, Строка_, Параметры); + OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, "Число", Параметры); OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры); ДобавитьИдентификаторЧата(IDЧата, Параметры); @@ -789,7 +789,7 @@ Строка_ = "Строка"; Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, Строка_, Параметры); + OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, "Число", Параметры); OPI_Инструменты.ДобавитьПоле("caption" , Описание , Строка_, Параметры); ДобавитьИдентификаторЧата(IDЧата, Параметры); @@ -866,8 +866,8 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode", "Markdown" , Строка_, Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , Строка_, Параметры); - OPI_Инструменты.ДобавитьПоле("user_id" , IDПользователя, Строка_, Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число", Параметры); + OPI_Инструменты.ДобавитьПоле("user_id" , IDПользователя, "Число", Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -897,8 +897,8 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode" , "Markdown" , Строка_ , Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , Строка_ , Параметры); - OPI_Инструменты.ДобавитьПоле("user_id" , IDПользователя, Строка_ , Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число" , Параметры); + OPI_Инструменты.ДобавитьПоле("user_id" , IDПользователя, "Число" , Параметры); OPI_Инструменты.ДобавитьПоле("only_if_banned", Ложь , "Булево", Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -935,9 +935,9 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode" , "Markdown" , Строка_ , Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , Строка_ , Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число" , Параметры); OPI_Инструменты.ДобавитьПоле("name" , Заголовок , Строка_ , Параметры); - OPI_Инструменты.ДобавитьПоле("member_limit" , ЛимитПользователей, Строка_ , Параметры); + OPI_Инструменты.ДобавитьПоле("member_limit" , ЛимитПользователей, "Число" , Параметры); OPI_Инструменты.ДобавитьПоле("expire_date" , ДатаИстечения , "Дата" , Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -968,8 +968,8 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode" , "Markdown" , Строка_ , Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , Строка_ , Параметры); - OPI_Инструменты.ДобавитьПоле("message_id" , IDСообщения, Строка_ , Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число" , Параметры); + OPI_Инструменты.ДобавитьПоле("message_id" , IDСообщения, "Число" , Параметры); OPI_Инструменты.ДобавитьПоле("disable_notification", Ложь , "Булево", Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -1000,8 +1000,8 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode", "Markdown" , Строка_, Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , Строка_, Параметры); - OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, Строка_, Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число", Параметры); + OPI_Инструменты.ДобавитьПоле("message_id", IDСообщения, "Число", Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -1029,7 +1029,7 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("parse_mode", "Markdown" , "Строка", Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число" , Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -1232,7 +1232,7 @@ URL = "api.telegram.org/bot" + Токен + "/editGeneralForumTopic"; Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("chat_id", IDЧата , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id", IDЧата , "Число" , Параметры); OPI_Инструменты.ДобавитьПоле("name" , Заголовок, "Строка", Параметры); Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -1336,9 +1336,9 @@ Параметры = Новый Структура; OPI_Инструменты.ДобавитьПоле("name" , Заголовок, Строка_, Параметры); - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , Строка_, Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата , "Число", Параметры); OPI_Инструменты.ДобавитьПоле("icon_custom_emoji_id", IDИконки , Строка_, Параметры); - OPI_Инструменты.ДобавитьПоле("message_thread_id" , IDТемы , Строка_, Параметры); + OPI_Инструменты.ДобавитьПоле("message_thread_id" , IDТемы , "Число", Параметры); Если ЗначениеЗаполнено(IDТемы) Тогда Метод = "/editForumTopic"; @@ -1365,8 +1365,8 @@ Метод = ОпределитьМетодУправленияФорумом(Статус, Форум); Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата, "Строка", Параметры); - OPI_Инструменты.ДобавитьПоле("message_thread_id", IDТемы, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("chat_id" , IDЧата, "Число", Параметры); + OPI_Инструменты.ДобавитьПоле("message_thread_id", IDТемы, "Число", Параметры); URL = "api.telegram.org/bot" + Токен + Метод; Ответ = OPI_Инструменты.Get(URL, Параметры); @@ -1542,10 +1542,12 @@ IDЧата = МассивЧата[0]; IDТемы = МассивЧата[1]; + OPI_ПреобразованиеТипов.ПолучитьЧисло(IDТемы); Параметры.Вставить("message_thread_id", IDТемы); КонецЕсли; + OPI_ПреобразованиеТипов.ПолучитьЧисло(IDТемы); Параметры.Вставить("chat_id", IDЧата); КонецПроцедуры diff --git a/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl index 8a06cd59265..5fe0f70bee2 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl @@ -1030,8 +1030,16 @@ КонецПроцедуры -Функция ЧислоВСтроку(Знач Число) Экспорт - Возврат СтрЗаменить(Строка(Число), Символы.НПП, ""); +Функция ЧислоВСтроку(Знач Значение) Экспорт + + Если ТипЗнч(Значение) = Тип("Число") Тогда + Значение_ = Формат(Значение, "ЧГ=0"); + Иначе + Значение_ = Строка(Значение); + КонецЕсли; + + Возврат Значение_; + КонецФункции Функция ПолучитьТекущуюДату() Экспорт diff --git a/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl index f01f80ef690..a518c828742 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl @@ -214,13 +214,12 @@ Если ЭтоСимвольное(Значение) Тогда + Значение = OPI_Инструменты.ЧислоВСтроку(Значение); + Если Не ИзИсточника Тогда - Значение = OPI_Инструменты.ЧислоВСтроку(Значение); Возврат; КонецЕсли; - Значение = OPI_Инструменты.ЧислоВСтроку(Значение); - ЗначениеУП = Значение; OPI_Инструменты.ВернутьУправляющиеПоследовательности(ЗначениеУП); @@ -296,9 +295,34 @@ Процедура ПолучитьЧисло(Значение) Экспорт - ОписаниеТипа = Новый ОписаниеТипов("Число"); - Значение = ОписаниеТипа.ПривестиЗначение(Значение); + Если ТипЗнч(Значение) = Тип("Число") Тогда + + Возврат; + + ИначеЕсли ТипЗнч(Значение) = Тип("Булево") Тогда + + Значение = ?(Значение, 1, 0); + + Иначе + + ОписаниеТипа = Новый ОписаниеТипов("Число"); + Значение = Строка(Значение); + Значение_ = ОписаниеТипа.ПривестиЗначение(Значение); + + Если Значение_ = 0 Тогда + + Попытка + Значение = Число(Значение); + Исключение + Возврат; + КонецПопытки; + + Иначе + Значение = Значение_; + КонецЕсли; + КонецЕсли; + КонецПроцедуры #КонецОбласти