Рефакторинг по замечаниям Sonarqube

This commit is contained in:
2025-07-02 17:56:55 +03:00
parent 045d4f2e6c
commit 20eeee94ba
8 changed files with 78 additions and 74 deletions

View File

@@ -68,7 +68,7 @@
#Область СлужебныеПроцедурыИФункции
&НаСервереБезКонтекста
Процедура УстановитьЗначениеКонстанты(ЗначениеКонстанты)
Процедура УстановитьЗначениеКонстанты(Знач ЗначениеКонстанты)
Константы.ТелеграмИспользоватьВебХук.Установить(ЗначениеКонстанты);

View File

@@ -59,6 +59,8 @@
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus)) Тогда
ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата);
Иначе
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
КонецЕсли;
КонецПроцедуры
@@ -155,7 +157,7 @@
Если НЕ ВерсияКонфигурацииКорректна(Версия) Тогда
ТекстОтвета = СтрШаблон("Вы ввели некорректный номер версии: %1%2Для корректного отслеживания обновлений нужно
|ввести версию конфигурации(четыре группы цифр, разделённых точками):Например: 3.1.30.197.", Версия, Символы.ПС);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,,);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
Возврат;
КонецЕсли;

View File

@@ -236,7 +236,7 @@
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия <> ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия
| И ОтслеживаниеВерсийКонфигураций.ИдЧата В
| (ВЫБРАТЬ
| Т.ИдЧата
| Т.ИдЧата КАК ИдЧата
| ИЗ
| ВТатыПолучающиеУведомления КАК Т)
|ИТОГИ ПО

View File

@@ -80,7 +80,7 @@
АдресРесурса = АдресРесурсаПоИмениМетода("sendDocument");
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель);
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Разделитель, Надпись, БезУведомления);
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента);
@@ -122,7 +122,7 @@
КонецФункции
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Надпись = Неопределено, БезУведомления = Ложь, Разделитель)
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Разделитель, Надпись = Неопределено, БезУведомления = Ложь)
//Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
// Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса.

View File

@@ -50,75 +50,14 @@
Если ПараметрыСообщения <> Неопределено Тогда
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
КонецЕсли;
Иначе
Возврат Неопределено;
КонецЕсли;
Возврат МассивСообщенийТелеграм;
КонецФункции
Функция ПараметрыСообщения(ДанныеОбновления)
Результат = Неопределено;
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
Результат = СтруктураСообщенияТелеграм(ДанныеОбновления);
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
Результат = СтруктураКоллбэкЗапроса(ДанныеОбновления);
КонецЕсли;
Возврат Результат;
КонецФункции
Функция СтруктураСообщенияТелеграм(Обновление)
ДанныеСообщения = Обновление["message"];
ПараметрыСообщения = Новый Структура;
ПараметрыСообщения.Вставить("ИдСообщения", Обновление["update_id"]);
Автор = АвторСообщения(ДанныеСообщения["from"]);
ПараметрыСообщения.Вставить("Автор", Автор);
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения, Автор);
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
ИдЧата = ДанныеСообщения["chat"]["id"];
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
Возврат ПараметрыСообщения;
КонецФункции
Функция СтруктураКоллбэкЗапроса(Обновление)
ДанныеСообщения = Обновление["callback_query"];
ПараметрыСообщения = Новый Структура;
ПараметрыСообщения.Вставить("ИдКоллбэкЗапроса", Обновление["update_id"]);
Автор = АвторСообщения(ДанныеСообщения["from"]);
ПараметрыСообщения.Вставить("Автор", Автор);
Если ДанныеСообщения.Получить("message") <> Неопределено Тогда
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения["message"], Автор);
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
КонецЕсли;
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
ИдЧата = Автор.id;
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
ДанныеКоллбэка = ДанныеСообщения["data"];
ПараметрыСообщения.Вставить("ДанныеКоллбэка", ДанныеКоллбэка);
Возврат ПараметрыСообщения;
КонецФункции
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
@@ -271,4 +210,67 @@
КонецФункции
Функция ПараметрыСообщения(ДанныеОбновления)
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
Результат = СтруктураСообщенияТелеграм(ДанныеОбновления);
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
Результат = СтруктураКоллбэкЗапроса(ДанныеОбновления);
Иначе
Результат = Неопределено;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция СтруктураСообщенияТелеграм(Обновление)
ДанныеСообщения = Обновление["message"];
ПараметрыСообщения = Новый Структура;
ПараметрыСообщения.Вставить("ИдСообщения", Обновление["update_id"]);
Автор = АвторСообщения(ДанныеСообщения["from"]);
ПараметрыСообщения.Вставить("Автор", Автор);
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения, Автор);
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
ИдЧата = ДанныеСообщения["chat"]["id"];
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
Возврат ПараметрыСообщения;
КонецФункции
Функция СтруктураКоллбэкЗапроса(Обновление)
ДанныеСообщения = Обновление["callback_query"];
ПараметрыСообщения = Новый Структура;
ПараметрыСообщения.Вставить("ИдКоллбэкЗапроса", Обновление["update_id"]);
Автор = АвторСообщения(ДанныеСообщения["from"]);
ПараметрыСообщения.Вставить("Автор", Автор);
Если ДанныеСообщения.Получить("message") <> Неопределено Тогда
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения["message"], Автор);
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
КонецЕсли;
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
ИдЧата = Автор.id;
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
ДанныеКоллбэка = ДанныеСообщения["data"];
ПараметрыСообщения.Вставить("ДанныеКоллбэка", ДанныеКоллбэка);
Возврат ПараметрыСообщения;
КонецФункции
#КонецОбласти

View File

@@ -1,4 +1,4 @@
#Область ПрограммныйИнтерфейс
#Область СлужебныйПрограммныйИнтерфейс
Функция ТелеграмТокен() Экспорт

View File

@@ -10,11 +10,11 @@
СообщениеПользователю("Данные уже проинициализированы.");
НачальноеЗаполнениеВыполненоУстановить(Истина);
Возврат;
Иначе
ПровестиИнициализациюНаСервере();
СообщениеПользователю("Данные проинициализированы успешно.");
КонецЕсли;
ПровестиИнициализациюНаСервере();
СообщениеПользователю("Данные проинициализированы успешно.");
КонецПроцедуры
#КонецОбласти
@@ -125,7 +125,7 @@
&НаСервереБезКонтекста
Процедура НачальноеЗаполнениеВыполненоУстановить(Признак)
Процедура НачальноеЗаполнениеВыполненоУстановить(Знач Признак)
Константы.НачальноеЗаполнениеВыполнено.Установить(Признак);

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<VERSION>26</VERSION>
<VERSION>27</VERSION>