1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-24 19:49:22 +02:00

Доработка преобразования типов для строк и чисел

This commit is contained in:
Anton Titovets
2025-02-20 09:55:14 +03:00
parent f11b827c12
commit c641520ae9
3 changed files with 65 additions and 31 deletions

View File

@@ -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Чата);
КонецПроцедуры

View File

@@ -1030,8 +1030,16 @@
КонецПроцедуры
Функция ЧислоВСтроку(Знач Число) Экспорт
Возврат СтрЗаменить(Строка(Число), Символы.НПП, "");
Функция ЧислоВСтроку(Знач Значение) Экспорт
Если ТипЗнч(Значение) = Тип("Число") Тогда
Значение_ = Формат(Значение, "ЧГ=0");
Иначе
Значение_ = Строка(Значение);
КонецЕсли;
Возврат Значение_;
КонецФункции
Функция ПолучитьТекущуюДату() Экспорт

View File

@@ -214,13 +214,12 @@
Если ЭтоСимвольное(Значение) Тогда
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
Если Не ИзИсточника Тогда
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
Возврат;
КонецЕсли;
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
ЗначениеУП = Значение;
OPI_Инструменты.ВернутьУправляющиеПоследовательности(ЗначениеУП);
@@ -296,9 +295,34 @@
Процедура ПолучитьЧисло(Значение) Экспорт
ОписаниеТипа = Новый ОписаниеТипов("Число");
Значение = ОписаниеТипа.ПривестиЗначение(Значение);
Если ТипЗнч(Значение) = Тип("Число") Тогда
Возврат;
ИначеЕсли ТипЗнч(Значение) = Тип("Булево") Тогда
Значение = ?(Значение, 1, 0);
Иначе
ОписаниеТипа = Новый ОписаниеТипов("Число");
Значение = Строка(Значение);
Значение_ = ОписаниеТипа.ПривестиЗначение(Значение);
Если Значение_ = 0 Тогда
Попытка
Значение = Число(Значение);
Исключение
Возврат;
КонецПопытки;
Иначе
Значение = Значение_;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти