- Добавил оформление областей в общих модулях
- Декомпозиция процедур и функций общих модулей
This commit is contained in:
@@ -17,8 +17,8 @@
|
||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/delete" Тогда
|
||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено
|
||||
И ДанныеПользователя.СтатусДиалога = Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
|
||||
КонецЕсли;
|
||||
ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда
|
||||
@@ -29,7 +29,6 @@
|
||||
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -56,7 +55,7 @@
|
||||
"Для корректного отслеживания обновлений нужно ввести версию конфигурации (четыре группы цифр, разделённых точками):" +
|
||||
Символы.ПС +
|
||||
"Например: 3.1.30.197";
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьСтатусДиалога(ИдЧата, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии,
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии,
|
||||
ИмяКонфигурации);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,,);
|
||||
КонецЕсли;
|
||||
@@ -127,7 +126,7 @@
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
Попытка
|
||||
МенеджерЗаписи.Записать();
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьСтатусДиалога(ИдЧата, Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
|
||||
ТекстОтвета = СтрШаблон("Версия: %1 успешно добавлена", Версия);
|
||||
Исключение
|
||||
ТекстОтвета = "При сохранении данных возникла ошибка";
|
||||
@@ -148,7 +147,7 @@
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
Для Каждого ГруппаЦифрВерсии Из МассивГруппЦифр Цикл
|
||||
Если Не ТолькоЦифрыВСтроке(ГруппаЦифрВерсии) Тогда
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ТолькоЦифрыВСтроке(ГруппаЦифрВерсии) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -158,30 +157,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТолькоЦифрыВСтроке(Знач Значение, Знач ПробелыЗапрещены = Истина) Экспорт
|
||||
|
||||
Если ТипЗнч(Значение) <> Тип("Строка") Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПробелыЗапрещены Тогда
|
||||
Значение = СтрЗаменить(Значение, " ", "");
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрДлина(Значение) = 0 Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// Если содержит только цифры, то в результате замен должна быть получена пустая строка.
|
||||
// Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы.
|
||||
Возврат СтрДлина(
|
||||
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
|
||||
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
|
||||
Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Процедура ОбработатьКомандуСтарт(ОбновлениеТелеграм)
|
||||
|
||||
ТекстОтвета = "Привет! Я бот, который поможет тебе следить за обновлениями конфигураций 1С." + Символы.ПС +
|
||||
@@ -222,7 +197,7 @@
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion);
|
||||
|
||||
МассивРядов = МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь);
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
@@ -239,7 +214,7 @@
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion);
|
||||
|
||||
МассивРядов = МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
@@ -252,32 +227,4 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
Функция МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Подписка = Неопределено)
|
||||
|
||||
СписокКонфигураций = РаботаСОбновлениямиВызовСервера.СписокКонфигураций(ИдЧата);
|
||||
|
||||
Если СписокКонфигураций.Количество() = 0 Тогда
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
МассивРядов = Новый Массив;
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
Если Подписка = Неопределено
|
||||
ИЛИ (Подписка И ПунктМенюПодписки.Подписка)
|
||||
ИЛИ (НЕ Подписка И НЕ ПунктМенюПодписки.Подписка) Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
|
||||
ПунктМенюПодписки.Наименование
|
||||
,
|
||||
,
|
||||
СтрШаблон("%1 %2", Команда, ПунктМенюПодписки.Имя)
|
||||
));
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Возврат МассивРядов;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
23
src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml
Normal file
23
src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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="6369b63c-3a4f-418b-8ae9-4cf9a6742883">
|
||||
<Properties>
|
||||
<Name>ОбщегоНазначенияКлиентСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Общего назначения клиент сервер</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,26 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ТолькоЦифрыВСтроке(Знач Значение, Знач ПробелыЗапрещены = Истина) Экспорт
|
||||
|
||||
Если ТипЗнч(Значение) <> Тип("Строка") Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПробелыЗапрещены Тогда
|
||||
Значение = СтрЗаменить(Значение, " ", "");
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрДлина(Значение) = 0 Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// Если содержит только цифры, то в результате замен должна быть получена пустая строка.
|
||||
// Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы.
|
||||
Возврат СтрДлина(
|
||||
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
|
||||
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
|
||||
Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьСтатусДиалога(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
|
||||
Процедура УстановитьДанныеПользователя(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
|
||||
|
||||
РасширениеФайла = "";
|
||||
МассивСтрок = СтрРазделить(ИмяФайла, ".", Ложь);
|
||||
@@ -8,3 +10,5 @@
|
||||
Возврат РасширениеФайла;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,12 +1,15 @@
|
||||
Функция ТелеграмТокен() Экспорт
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ТелеграмТокен() Экспорт
|
||||
|
||||
Возврат Константы.ТелеграмТокен.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Функция ЛогироватьHttpЗапросы() Экспорт
|
||||
|
||||
Возврат Константы.ЛогироватьHttpЗапросы.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
|
||||
|
||||
СоответствиеКлавиатуры = Новый Соответствие();
|
||||
|
||||
@@ -26,7 +28,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Функция КнопкаКлавиатурыВстроенной(Надпись, Url = Неопределено, CallbackData = Неопределено) Экспорт
|
||||
|
||||
СоответствиеКнопка = Новый Соответствие;
|
||||
@@ -69,5 +70,33 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Подписка = Неопределено) Экспорт
|
||||
|
||||
СписокКонфигураций = РаботаСОбновлениямиВызовСервера.СписокКонфигураций(ИдЧата);
|
||||
|
||||
Если СписокКонфигураций.Количество() = 0 Тогда
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
МассивРядов = Новый Массив;
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
Если Подписка = Неопределено
|
||||
ИЛИ (Подписка И ПунктМенюПодписки.Подписка)
|
||||
ИЛИ (НЕ Подписка И НЕ ПунктМенюПодписки.Подписка) Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
|
||||
ПунктМенюПодписки.Наименование
|
||||
,
|
||||
,
|
||||
СтрШаблон("%1 %2", Команда, ПунктМенюПодписки.Имя)
|
||||
));
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Возврат МассивРядов;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
// Получить обновления и обработать их по расписанию
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Получить обновления и обработать их по расписанию
|
||||
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
|
||||
|
||||
// Проверка установлен ли вебхук
|
||||
@@ -17,3 +19,5 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -257,6 +257,7 @@
|
||||
<CommonModule>ТелеграмРаботаСКлавиатурой</CommonModule>
|
||||
<CommonModule>ТелеграмРегламент</CommonModule>
|
||||
<CommonModule>БотОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
||||
<HTTPService>HTTPСервис_Telegram</HTTPService>
|
||||
<ScheduledJob>ПроверкаОбновленийТелеграм</ScheduledJob>
|
||||
<Constant>ТелеграмТокен</Constant>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VERSION>8</VERSION>
|
||||
<VERSION>9</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user