diff --git a/src/cf/CommonModules/БотОбщегоНазначения/Ext/Module.bsl b/src/cf/CommonModules/БотОбщегоНазначения/Ext/Module.bsl
index 7132618..ca0b5db 100644
--- a/src/cf/CommonModules/БотОбщегоНазначения/Ext/Module.bsl
+++ b/src/cf/CommonModules/БотОбщегоНазначения/Ext/Module.bsl
@@ -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", Команда, ПунктМенюПодписки.Имя)
- ));
- МассивРядов.Добавить(МассивКнопок);
- КонецЕсли;
- КонецЦикла;
- Возврат МассивРядов;
- КонецЕсли;
-
-КонецФункции
-
#КонецОбласти
\ No newline at end of file
diff --git a/src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml b/src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml
new file mode 100644
index 0000000..57c6d53
--- /dev/null
+++ b/src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ ОбщегоНазначенияКлиентСервер
+
+
+ ru
+ Общего назначения клиент сервер
+
+
+
+ false
+ true
+ true
+ true
+ false
+ false
+ false
+ DontUse
+
+
+
\ No newline at end of file
diff --git a/src/cf/CommonModules/ОбщегоНазначенияКлиентСервер/Ext/Module.bsl b/src/cf/CommonModules/ОбщегоНазначенияКлиентСервер/Ext/Module.bsl
new file mode 100644
index 0000000..81e58cb
--- /dev/null
+++ b/src/cf/CommonModules/ОбщегоНазначенияКлиентСервер/Ext/Module.bsl
@@ -0,0 +1,26 @@
+#Область ПрограммныйИнтерфейс
+
+Функция ТолькоЦифрыВСтроке(Знач Значение, Знач ПробелыЗапрещены = Истина) Экспорт
+
+ Если ТипЗнч(Значение) <> Тип("Строка") Тогда
+ Возврат Ложь;
+ КонецЕсли;
+
+ Если Не ПробелыЗапрещены Тогда
+ Значение = СтрЗаменить(Значение, " ", "");
+ КонецЕсли;
+
+ Если СтрДлина(Значение) = 0 Тогда
+ Возврат Истина;
+ КонецЕсли;
+
+ // Если содержит только цифры, то в результате замен должна быть получена пустая строка.
+ // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы.
+ Возврат СтрДлина(
+ СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
+ СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
+ Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0;
+
+КонецФункции
+
+#КонецОбласти
diff --git a/src/cf/CommonModules/РаботаСОбновлениямиВызовСервера/Ext/Module.bsl b/src/cf/CommonModules/РаботаСОбновлениямиВызовСервера/Ext/Module.bsl
index d9292ef..90c125a 100644
--- a/src/cf/CommonModules/РаботаСОбновлениямиВызовСервера/Ext/Module.bsl
+++ b/src/cf/CommonModules/РаботаСОбновлениямиВызовСервера/Ext/Module.bsl
@@ -170,7 +170,7 @@
КонецФункции
-Процедура УстановитьСтатусДиалога(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
+Процедура УстановитьДанныеПользователя(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
diff --git a/src/cf/CommonModules/РаботаСФайламиКлиентСервер/Ext/Module.bsl b/src/cf/CommonModules/РаботаСФайламиКлиентСервер/Ext/Module.bsl
index 831f21c..4b8bf37 100644
--- a/src/cf/CommonModules/РаботаСФайламиКлиентСервер/Ext/Module.bsl
+++ b/src/cf/CommonModules/РаботаСФайламиКлиентСервер/Ext/Module.bsl
@@ -1,4 +1,6 @@
-Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
+#Область ПрограммныйИнтерфейс
+
+Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
РасширениеФайла = "";
МассивСтрок = СтрРазделить(ИмяФайла, ".", Ложь);
@@ -8,3 +10,5 @@
Возврат РасширениеФайла;
КонецФункции
+
+#КонецОбласти
\ No newline at end of file
diff --git a/src/cf/CommonModules/ТелеграмПовторноеИспользование/Ext/Module.bsl b/src/cf/CommonModules/ТелеграмПовторноеИспользование/Ext/Module.bsl
index 0a12f90..b546a84 100644
--- a/src/cf/CommonModules/ТелеграмПовторноеИспользование/Ext/Module.bsl
+++ b/src/cf/CommonModules/ТелеграмПовторноеИспользование/Ext/Module.bsl
@@ -1,12 +1,15 @@
-Функция ТелеграмТокен() Экспорт
+#Область ПрограммныйИнтерфейс
+
+Функция ТелеграмТокен() Экспорт
Возврат Константы.ТелеграмТокен.Получить();
КонецФункции
-
Функция ЛогироватьHttpЗапросы() Экспорт
Возврат Константы.ЛогироватьHttpЗапросы.Получить();
КонецФункции
+
+#КонецОбласти
diff --git a/src/cf/CommonModules/ТелеграмРаботаСКлавиатурой/Ext/Module.bsl b/src/cf/CommonModules/ТелеграмРаботаСКлавиатурой/Ext/Module.bsl
index 3ca7c76..f977365 100644
--- a/src/cf/CommonModules/ТелеграмРаботаСКлавиатурой/Ext/Module.bsl
+++ b/src/cf/CommonModules/ТелеграмРаботаСКлавиатурой/Ext/Module.bsl
@@ -1,4 +1,6 @@
-Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
+#Область ПрограммныйИнтерфейс
+
+Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
СоответствиеКлавиатуры = Новый Соответствие();
@@ -26,7 +28,6 @@
КонецФункции
-
Функция КнопкаКлавиатурыВстроенной(Надпись, Url = Неопределено, CallbackData = Неопределено) Экспорт
СоответствиеКнопка = Новый Соответствие;
@@ -69,5 +70,33 @@
КонецФункции
+Функция МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Подписка = Неопределено) Экспорт
+
+ СписокКонфигураций = РаботаСОбновлениямиВызовСервера.СписокКонфигураций(ИдЧата);
+
+ Если СписокКонфигураций.Количество() = 0 Тогда
+ Возврат Неопределено;
+ Иначе
+ МассивРядов = Новый Массив;
+ Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
+ Если Подписка = Неопределено
+ ИЛИ (Подписка И ПунктМенюПодписки.Подписка)
+ ИЛИ (НЕ Подписка И НЕ ПунктМенюПодписки.Подписка) Тогда
+ МассивКнопок = Новый Массив;
+ МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
+ ПунктМенюПодписки.Наименование
+ ,
+ ,
+ СтрШаблон("%1 %2", Команда, ПунктМенюПодписки.Имя)
+ ));
+ МассивРядов.Добавить(МассивКнопок);
+ КонецЕсли;
+ КонецЦикла;
+ Возврат МассивРядов;
+ КонецЕсли;
+
+КонецФункции
+
+#КонецОбласти
diff --git a/src/cf/CommonModules/ТелеграмРегламент/Ext/Module.bsl b/src/cf/CommonModules/ТелеграмРегламент/Ext/Module.bsl
index 9d49c25..57d6733 100644
--- a/src/cf/CommonModules/ТелеграмРегламент/Ext/Module.bsl
+++ b/src/cf/CommonModules/ТелеграмРегламент/Ext/Module.bsl
@@ -1,4 +1,6 @@
-// Получить обновления и обработать их по расписанию
+#Область ПрограммныйИнтерфейс
+
+// Получить обновления и обработать их по расписанию
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
// Проверка установлен ли вебхук
@@ -17,3 +19,5 @@
КонецЕсли;
КонецПроцедуры
+
+#КонецОбласти
\ No newline at end of file
diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml
index 17ebb65..581dd7e 100644
--- a/src/cf/Configuration.xml
+++ b/src/cf/Configuration.xml
@@ -257,6 +257,7 @@
ТелеграмРаботаСКлавиатурой
ТелеграмРегламент
БотОбщегоНазначения
+ ОбщегоНазначенияКлиентСервер
HTTPСервис_Telegram
ПроверкаОбновленийТелеграм
ТелеграмТокен
diff --git a/src/cf/VERSION b/src/cf/VERSION
index 66caf1d..b7e0ffc 100644
--- a/src/cf/VERSION
+++ b/src/cf/VERSION
@@ -1,2 +1,2 @@
-8
+9