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

View File

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

View File

@@ -80,7 +80,7 @@
АдресРесурса = АдресРесурсаПоИмениМетода("sendDocument"); АдресРесурса = АдресРесурсаПоИмениМетода("sendDocument");
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", ""); Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель); ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Разделитель, Надпись, БезУведомления);
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента); ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента); Возврат 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"?> <?xml version="1.0" encoding="UTF-8"?>
<VERSION>26</VERSION> <VERSION>27</VERSION>