Рефакторинг по замечаниям Sonarqube
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
|
||||
Процедура ОбработкаКомандыБота(Тело) Экспорт
|
||||
|
||||
МассивОбновленийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Тело);
|
||||
МассивОбновленийТелеграм = ТелеграмОбщегоНазначенияВызовСервера.ОбновленияТелеграм(Тело);
|
||||
Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл
|
||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
|
||||
ТелеграмОбщегоНазначенияВызовСервера.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
|
||||
|
||||
Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда
|
||||
ОбработатьСообщение(ОбновлениеТелеграм);
|
||||
@@ -269,7 +269,7 @@
|
||||
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
|
||||
ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1");
|
||||
КонецЕсли;
|
||||
|
||||
Соединение = Новый HTTPСоединение("update-api.1c.ru",443, , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
|
||||
@@ -42,9 +42,11 @@
|
||||
МассивКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = Новый Структура("Наименование, Имя, ТекущаяВерсия, АктуальнаяВерсия",
|
||||
ВыборкаДетальныеЗаписи.КонфигурацияНаименование, ВыборкаДетальныеЗаписи.КонфигурацияИмя,
|
||||
ВыборкаДетальныеЗаписи.ТекущаяВерсия, ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
Конфигурация = Новый Структура;
|
||||
Конфигурация.Вставить("Наименование", ВыборкаДетальныеЗаписи.КонфигурацияНаименование);
|
||||
Конфигурация.Вставить("Имя", ВыборкаДетальныеЗаписи.КонфигурацияИмя);
|
||||
Конфигурация.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
|
||||
Конфигурация.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
МассивКонфигураций.Добавить(Конфигурация);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -284,4 +286,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовоеСоединениеХТТП(Таймаут = 0)
|
||||
|
||||
Возврат Новый HTTPСоединение("update-api.1c.ru", 443, , , , ?(Таймаут > 0, Таймаут, 15),
|
||||
Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -48,8 +48,8 @@
|
||||
|
||||
Функция GetUpdates(Таймаут = 0) Экспорт
|
||||
|
||||
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0, 0,
|
||||
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
Смещение = ? (ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() = 0, 0,
|
||||
Формат(ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
||||
Если Таймаут > 0 Тогда
|
||||
ПараметрыЗапроса.Вставить("timeout", Таймаут);
|
||||
@@ -125,10 +125,11 @@
|
||||
|
||||
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Разделитель, Надпись = Неопределено, БезУведомления = Ложь)
|
||||
|
||||
//Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
|
||||
// Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
|
||||
// Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса.
|
||||
|
||||
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла") И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
|
||||
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла")
|
||||
И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
|
||||
ВызватьИсключение "Неверный параметр Документ: ожидается непустой объект, содержащий двоичные данные";
|
||||
КонецЕсли;
|
||||
|
||||
@@ -166,7 +167,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено, ТипСодержимого = Неопределено)
|
||||
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено,
|
||||
ТипСодержимого = Неопределено)
|
||||
|
||||
Если Значение = Неопределено Тогда
|
||||
Возврат;
|
||||
@@ -174,7 +176,8 @@
|
||||
|
||||
ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель);
|
||||
Если ИмяФайла <> Неопределено Тогда
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("Content-Disposition: form-data; name=%1; filename=%2", ИмяПараметра, ИмяФайла));
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("Content-Disposition: form-data; name=%1; filename=%2", ИмяПараметра,
|
||||
ИмяФайла));
|
||||
Иначе
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("Content-Disposition: form-data; name=%1", ИмяПараметра));
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
|
||||
<CommonModule uuid="4dc6cf4e-e097-4cb0-ba80-0472e448fac0">
|
||||
<Properties>
|
||||
<Name>ТелеграмОбщегоНазначения</Name>
|
||||
<Name>ТелеграмОбщегоНазначенияВызовСервера</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Телеграм общего назначения</v8:content>
|
||||
<v8:content>Телеграм общего назначения вызов сервера</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
@@ -73,8 +73,8 @@
|
||||
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
||||
|
||||
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса,, Истина);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, , Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
Функция TimeStampToDate(ЮниксТайм)
|
||||
|
||||
Возврат Дата(1970,1,1,1,0,0) + СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + ЮниксТайм;
|
||||
Возврат Дата(1970, 1, 1, 1, 0, 0) + СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + ЮниксТайм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЛогироватьHttpЗапросы() Экспорт
|
||||
Функция ЛогироватьХТТПЗапросы() Экспорт
|
||||
|
||||
Возврат Константы.ЛогироватьHttpЗапросы.Получить();
|
||||
|
||||
|
||||
@@ -80,16 +80,11 @@
|
||||
Иначе
|
||||
МассивРядов = Новый Массив;
|
||||
Для каждого Конфигурация Из СписокКонфигураций Цикл
|
||||
Если Подписка = Неопределено
|
||||
ИЛИ (Подписка И Конфигурация.Подписка)
|
||||
ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка) Тогда
|
||||
Если НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация) Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
|
||||
Конфигурация.Наименование
|
||||
,
|
||||
,
|
||||
СтрШаблон("%1 %2", Команда, Конфигурация.Имя)
|
||||
));
|
||||
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(Конфигурация.Наименование, ,
|
||||
СтрШаблон("%1 %2", Команда, Конфигурация.Имя));
|
||||
МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -100,4 +95,13 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация)
|
||||
|
||||
Возврат Подписка = Неопределено ИЛИ (Подписка И Конфигурация.Подписка) ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
|
||||
Если НЕ ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда
|
||||
Попытка
|
||||
ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию",,"GetTelegramUpdatesLongPolling");
|
||||
ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию", ,"GetTelegramUpdatesLongPolling");
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
РезультатЗапроса.Описание));
|
||||
КонецЕсли;
|
||||
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
@@ -67,7 +67,7 @@
|
||||
Запрос.Заголовки.Вставить("Content-Length", Формат(Данные.ДвоичныеДанные.Размер(), "ЧН=0; ЧГ="));
|
||||
Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Данные.Разделитель);
|
||||
Иначе
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
Запрос.Заголовки.Вставить("Content-Type", "application/json");
|
||||
Запрос.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
@@ -93,7 +93,7 @@
|
||||
РезультатЗапроса.Описание));
|
||||
КонецЕсли;
|
||||
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
@@ -167,7 +167,7 @@
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
|
||||
СтруктураОтвета = Новый Структура("result, description", "error",
|
||||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
<CommonModule>РаботаСОбновлениямиВызовСервера</CommonModule>
|
||||
<CommonModule>РаботаСФайламиКлиентСервер</CommonModule>
|
||||
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
|
||||
<CommonModule>ТелеграмОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ТелеграмОбщегоНазначенияВызовСервера</CommonModule>
|
||||
<CommonModule>ТелеграмПовторноеИспользование</CommonModule>
|
||||
<CommonModule>ТелеграмРаботаСКлавиатурой</CommonModule>
|
||||
<CommonModule>ТелеграмРегламент</CommonModule>
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ЗаписьЖурналаРегистрации("Обработка начального заполнения.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации("Обработка начального заполнения.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -115,7 +115,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция НачальноеЗаполнениеВыполнено()
|
||||
|
||||
@@ -123,7 +122,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура НачальноеЗаполнениеВыполненоУстановить(Знач Признак)
|
||||
|
||||
@@ -132,7 +130,3 @@
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ЭтаФорма.ТолькоПросмотр = Истина;
|
||||
ЭтотОбъект.ТолькоПросмотр = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,6 +1,9 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ПриНачалеРаботыСистемы()
|
||||
|
||||
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Функция ШаблонURL1PostGetUpdate(Запрос)
|
||||
|
||||
Попытка
|
||||
@@ -6,8 +7,8 @@
|
||||
Ответ = ХТТПОбщегоНазначенияВызовСервера.ОтветУспех();
|
||||
Возврат Ответ;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
@@ -23,9 +24,11 @@
|
||||
Возврат Ответ;
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
||||
Функция АктуализироватьВерсииКонфигураций() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
@@ -65,9 +65,10 @@
|
||||
Если Ответ.Успех Тогда
|
||||
АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
Если АктуальнаяВерсияССервера = Неопределено Тогда
|
||||
//Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
|
||||
// Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
|
||||
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
|
||||
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации от совпадения текущей и актуальной.
|
||||
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации
|
||||
// от совпадения текущей и актуальной.
|
||||
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"];
|
||||
Если АктуальнаяВерсияПлатформы <> Неопределено Тогда
|
||||
АктуальнаяВерсияССервера = ТекущаяВерсия;
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VERSION>34</VERSION>
|
||||
<VERSION>35</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user