Compare commits
2 Commits
77535f6a73
...
69b0fc406a
| Author | SHA1 | Date | |
|---|---|---|---|
| 69b0fc406a | |||
| ddb0c43e97 |
@@ -7,28 +7,10 @@
|
||||
Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл
|
||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
|
||||
|
||||
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ПолучитьДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
||||
|
||||
Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда
|
||||
Если ОбновлениеТелеграм.Сообщение.text = "/start" Тогда
|
||||
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/subscribe" Тогда
|
||||
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/add" Тогда
|
||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/delete" Тогда
|
||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
|
||||
КонецЕсли;
|
||||
ОбработатьСообщение(ОбновлениеТелеграм)
|
||||
ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда
|
||||
Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
|
||||
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion)) Тогда
|
||||
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion)) Тогда
|
||||
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
КонецЕсли;
|
||||
ОбработатьКоллбэк(ОбновлениеТелеграм);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -38,6 +20,44 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ОбработатьСообщение(ОбновлениеТелеграм)
|
||||
|
||||
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
||||
|
||||
Если ОбновлениеТелеграм.Сообщение.text = "/start" Тогда
|
||||
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/subscribe" Тогда
|
||||
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/add" Тогда
|
||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/delete" Тогда
|
||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/notify_on" Тогда
|
||||
ОбработатьКомандуВключитьОповещения(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/notify_off" Тогда
|
||||
ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/status" Тогда
|
||||
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКоллбэк(ОбновлениеТелеграм)
|
||||
|
||||
Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
|
||||
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion)) Тогда
|
||||
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion)) Тогда
|
||||
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus)) Тогда
|
||||
ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion);
|
||||
@@ -57,7 +77,7 @@
|
||||
Символы.ПС +
|
||||
"Например: 3.1.30.197";
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии,
|
||||
ИмяКонфигурации);
|
||||
ИмяКонфигурации);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -91,6 +111,34 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПолучитьДанныеСтатусаКонфигурации(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus);
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||
|
||||
Если Конфигурация <> Неопределено Тогда
|
||||
ДанныеКонфигурации = РаботаСОбновлениямиВызовСервера.СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация);
|
||||
|
||||
ТекстОтвета = СтрШаблон("ℹ %1%2 %3 ➡ %4",
|
||||
ДанныеКонфигурации.Наименование,
|
||||
Символы.ПС,
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия);
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
Иначе
|
||||
ТекстОтвета = "По данной конфигурации информация отсутствует.";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
@@ -165,11 +213,14 @@
|
||||
"Что я умею:" + Символы.ПС +
|
||||
"- Отслеживать новые релизы" + Символы.ПС +
|
||||
"- Присылать уведомления о выходе обновлений" + Символы.ПС +
|
||||
"- Показывать текущую версию" + Символы.ПС +
|
||||
"- Показывать текущую информацию о статусе конфигурации" + Символы.ПС +
|
||||
Символы.ВК + Символы.ПС +
|
||||
"/subscribe - Список конфигураций для отслеживания 🔔" + Символы.ПС +
|
||||
"/add - Добавить конфигурацию в список отслеживания ➕" + Символы.ПС +
|
||||
"/delete - Удалить конфигурацию из списка отслеживания ➖";
|
||||
"/subscribe - Список конфигураций для отслеживания" + Символы.ПС +
|
||||
"/add - Добавить конфигурацию в список отслеживания" + Символы.ПС +
|
||||
"/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС +
|
||||
"/notify_on - Включить уведомления о новых версиях" + Символы.ПС +
|
||||
"/notify_off - Выключить уведомления о новых версиях" + Символы.ПС +
|
||||
"/status - Вывести информацию о статусе конфигурации";
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
@@ -184,7 +235,7 @@
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
Иначе
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "✉️", "◼️"),
|
||||
ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "✅", "◼️"),
|
||||
ПунктМенюПодписки.Наименование,Символы.ПС);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
@@ -228,4 +279,41 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуВключитьОповещения(ОбновлениеТелеграм)
|
||||
|
||||
УправлениеОповещениями(ОбновлениеТелеграм.ИдЧата, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм)
|
||||
|
||||
УправлениеОповещениями(ОбновлениеТелеграм.ИдЧата, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.GetStatus);
|
||||
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
|
||||
|
||||
ТекстОтвета = "Выберите нужную конфигурацию для получения ее статуса";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УправлениеОповещениями(ИдЧата, Включить)
|
||||
|
||||
ТекстОтвета = РегистрыСведений.УведомленияОНовыхВерсиях.УправлениеОповещениями(ИдЧата, Включить);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
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="9b0db731-7b36-48ff-b27d-b6946bc97a7b">
|
||||
<Properties>
|
||||
<Name>ОбновленияРегламент</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Обновления регламент</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
||||
38
src/cf/CommonModules/ОбновленияРегламент/Ext/Module.bsl
Normal file
38
src/cf/CommonModules/ОбновленияРегламент/Ext/Module.bsl
Normal file
@@ -0,0 +1,38 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ПроверкаНеактуальныхВерсийКонфигураций() Экспорт
|
||||
|
||||
РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций();
|
||||
СписокДляРассылкиУведомлений = РаботаСОбновлениямиВызовСервера.СписокНеактуальныхКонфигурацийДляУведомления();
|
||||
|
||||
Для Каждого ПолучательУведомления из СписокДляРассылкиУведомлений Цикл
|
||||
ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ТекстСообщенияОНеактуальнойВерсии(КонфигурацииДляВывода)
|
||||
|
||||
ТекстСообщения = СтрШаблон("Следующие конфигурации имеют неактуальные версии:%1%2", Символы.ПС, Символы.ПС);
|
||||
|
||||
Для каждого ДанныеКонфигурации Из КонфигурацииДляВывода Цикл
|
||||
ТекстСообщения = ТекстСообщения + СтрШаблон("🔥 %1%2 %3 ➡ %4%5%6",
|
||||
ДанныеКонфигурации.КонфигурацияПредставление,
|
||||
Символы.ПС,
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия,
|
||||
Символы.ПС,
|
||||
Символы.ПС);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -52,6 +52,39 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК Наименование,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||||
| И ОтслеживаниеВерсийКонфигураций.Конфигурация = &Конфигурация";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
Запрос.УстановитьПараметр("Конфигурация", Конфигурация);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Результат = Новый Структура("Наименование, ТекущаяВерсия, АктуальнаяВерсия",
|
||||
ВыборкаДетальныеЗаписи.Наименование,
|
||||
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокКонфигураций(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
@@ -97,54 +130,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
КэшАктуальныхВерсий = РезультатЗапроса.Выгрузить().СкопироватьКолонки();
|
||||
КэшАктуальныхВерсий.Колонки.Удалить("ИдЧата");
|
||||
ОбработаноЗаписей = 0;
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = ВыборкаДетальныеЗаписи.Конфигурация;
|
||||
ТекущаяВерсия = ВыборкаДетальныеЗаписи.ТекущаяВерсия;
|
||||
ИдЧата = ВыборкаДетальныеЗаписи.ИдЧата;
|
||||
|
||||
АктуальнаяВерсия = ПолучитьИзКэшаАктуальнуюВерсию(КэшАктуальныхВерсий, Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если АктуальнаяВерсия = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если АктуальнаяВерсия = ВыборкаДетальныеЗаписи.АктуальнаяВерсия Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.Конфигурация = Конфигурация;
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
МенеджерЗаписи.ТекущаяВерсия = ТекущаяВерсия;
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
|
||||
МенеджерЗаписи.Записать();
|
||||
ОбработаноЗаписей = ОбработаноЗаписей + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОбработаноЗаписей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонфигурацияПоИмени(ИмяКонфигурации) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
@@ -189,17 +174,17 @@
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||
Если ПользовательОбъект <> Неопределено Тогда
|
||||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||
ПользовательОбъект.Записать();
|
||||
КонецЕсли;
|
||||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||
Если ПользовательОбъект <> Неопределено Тогда
|
||||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||
ПользовательОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьДанныеПользователя(ИдЧата) Экспорт
|
||||
Функция ДанныеПользователя(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
@@ -226,6 +211,61 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокНеактуальныхКонфигурацийДляУведомления() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| УведомленияОНовыхВерсиях.ИдЧата КАК ИдЧата
|
||||
|ПОМЕСТИТЬ ВТ_ЧатыПолучающиеУведомления
|
||||
|ИЗ
|
||||
| РегистрСведений.УведомленияОНовыхВерсиях КАК УведомленияОНовыхВерсиях
|
||||
|ГДЕ
|
||||
| УведомленияОНовыхВерсиях.ОтправлятьУведомления
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ОтслеживаниеВерсийКонфигураций.Конфигурация) КАК КонфигурацияПредставление,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия <> ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия
|
||||
| И ОтслеживаниеВерсийКонфигураций.ИдЧата В
|
||||
| (ВЫБРАТЬ
|
||||
| Т.ИдЧата
|
||||
| ИЗ
|
||||
| ВТ_ЧатыПолучающиеУведомления КАК Т)
|
||||
|ИТОГИ ПО
|
||||
| ИдЧата";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаИдЧата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
|
||||
ДанныеДляУведомлений = Новый Массив;
|
||||
|
||||
Пока ВыборкаИдЧата.Следующий() Цикл
|
||||
ВыборкаДетальныеЗаписи = ВыборкаИдЧата.Выбрать();
|
||||
ДанныеВерсийКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
ДанныеВерсийКонфигураций.Добавить(Новый Структура("КонфигурацияПредставление, ТекущаяВерсия, АктуальнаяВерсия",
|
||||
ВыборкаДетальныеЗаписи.КонфигурацияПредставление,
|
||||
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия));
|
||||
КонецЦикла;
|
||||
|
||||
ДанныеДляУведомлений.Добавить(Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДанныеДляУведомлений;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -242,35 +282,4 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьИзКэшаАктуальнуюВерсию(Кэш, Конфигурация, ТекущаяВерсия)
|
||||
|
||||
СтруктураОтбора = Новый Структура("Конфигурация, ТекущаяВерсия", Конфигурация, ТекущаяВерсия);
|
||||
МассивСтрок = Кэш.НайтиСтроки(СтруктураОтбора);
|
||||
Если МассивСтрок.Количество() <> 0 Тогда
|
||||
Возврат МассивСтрок[0].АктуальнаяВерсия;
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = АктуальнаяВерсияКонфигурации(Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если Ответ.Успех Тогда
|
||||
АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
Если АктуальнаяВерсияССервера = Неопределено Тогда
|
||||
//Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
|
||||
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
|
||||
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации от совпадения текущей и актуальной.
|
||||
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"];
|
||||
Если АктуальнаяВерсияПлатформы <> Неопределено Тогда
|
||||
АктуальнаяВерсияССервера = ТекущаяВерсия;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
НоваяСтрока = Кэш.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтруктураОтбора);
|
||||
НоваяСтрока.АктуальнаяВерсия = АктуальнаяВерсияССервера;
|
||||
Возврат АктуальнаяВерсияССервера;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -79,16 +79,16 @@
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
МассивРядов = Новый Массив;
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
Для каждого Конфигурация Из СписокКонфигураций Цикл
|
||||
Если Подписка = Неопределено
|
||||
ИЛИ (Подписка И ПунктМенюПодписки.Подписка)
|
||||
ИЛИ (НЕ Подписка И НЕ ПунктМенюПодписки.Подписка) Тогда
|
||||
ИЛИ (Подписка И Конфигурация.Подписка)
|
||||
ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка) Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
|
||||
ПунктМенюПодписки.Наименование
|
||||
Конфигурация.Наименование
|
||||
,
|
||||
,
|
||||
СтрШаблон("%1 %2", Команда, ПунктМенюПодписки.Имя)
|
||||
СтрШаблон("%1 %2", Команда, Конфигурация.Имя)
|
||||
));
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -258,8 +258,10 @@
|
||||
<CommonModule>ТелеграмРегламент</CommonModule>
|
||||
<CommonModule>БотОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
||||
<CommonModule>ОбновленияРегламент</CommonModule>
|
||||
<HTTPService>HTTPСервис_Telegram</HTTPService>
|
||||
<ScheduledJob>ПроверкаОбновленийТелеграм</ScheduledJob>
|
||||
<ScheduledJob>ПроверкаАктуальностиКонфигураций</ScheduledJob>
|
||||
<Constant>ТелеграмТокен</Constant>
|
||||
<Constant>ТелеграмВебХук</Constant>
|
||||
<Constant>ЛогироватьHttpЗапросы</Constant>
|
||||
@@ -277,6 +279,7 @@
|
||||
<DataProcessor>РаботаСОбновлениями</DataProcessor>
|
||||
<InformationRegister>ТелеграмСообщения</InformationRegister>
|
||||
<InformationRegister>ОтслеживаниеВерсийКонфигураций</InformationRegister>
|
||||
<InformationRegister>УведомленияОНовыхВерсиях</InformationRegister>
|
||||
</ChildObjects>
|
||||
</Configuration>
|
||||
</MetaDataObject>
|
||||
@@ -40,6 +40,6 @@
|
||||
&НаСервереБезКонтекста
|
||||
Функция АктуализироватьВерсииНаСервере(ИдЧата)
|
||||
|
||||
Возврат РаботаСОбновлениямиВызовСервера.АктуализироватьВерсииКонфигураций();
|
||||
Возврат РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций();
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -62,6 +62,18 @@
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="a1e5fa2c-ce22-4e45-9920-0d7e77168996">
|
||||
<Properties>
|
||||
<Name>GetStatus</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Get status</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
</ChildObjects>
|
||||
</Enum>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,86 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
КэшАктуальныхВерсий = РезультатЗапроса.Выгрузить().СкопироватьКолонки();
|
||||
КэшАктуальныхВерсий.Колонки.Удалить("ИдЧата");
|
||||
ОбработаноЗаписей = 0;
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = ВыборкаДетальныеЗаписи.Конфигурация;
|
||||
ТекущаяВерсия = ВыборкаДетальныеЗаписи.ТекущаяВерсия;
|
||||
ИдЧата = ВыборкаДетальныеЗаписи.ИдЧата;
|
||||
|
||||
АктуальнаяВерсия = ПолучитьИзКэшаАктуальнуюВерсию(КэшАктуальныхВерсий, Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если АктуальнаяВерсия = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если АктуальнаяВерсия = ВыборкаДетальныеЗаписи.АктуальнаяВерсия Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.Конфигурация = Конфигурация;
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
МенеджерЗаписи.ТекущаяВерсия = ТекущаяВерсия;
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
|
||||
МенеджерЗаписи.Записать();
|
||||
ОбработаноЗаписей = ОбработаноЗаписей + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОбработаноЗаписей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьИзКэшаАктуальнуюВерсию(Кэш, Конфигурация, ТекущаяВерсия)
|
||||
|
||||
СтруктураОтбора = Новый Структура("Конфигурация, ТекущаяВерсия", Конфигурация, ТекущаяВерсия);
|
||||
МассивСтрок = Кэш.НайтиСтроки(СтруктураОтбора);
|
||||
Если МассивСтрок.Количество() <> 0 Тогда
|
||||
Возврат МассивСтрок[0].АктуальнаяВерсия;
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = РаботаСОбновлениямиВызовСервера.АктуальнаяВерсияКонфигурации(Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если Ответ.Успех Тогда
|
||||
АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
Если АктуальнаяВерсияССервера = Неопределено Тогда
|
||||
//Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
|
||||
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
|
||||
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации от совпадения текущей и актуальной.
|
||||
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"];
|
||||
Если АктуальнаяВерсияПлатформы <> Неопределено Тогда
|
||||
АктуальнаяВерсияССервера = ТекущаяВерсия;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
НоваяСтрока = Кэш.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтруктураОтбора);
|
||||
НоваяСтрока.АктуальнаяВерсия = АктуальнаяВерсияССервера;
|
||||
Возврат АктуальнаяВерсияССервера;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
156
src/cf/InformationRegisters/УведомленияОНовыхВерсиях.xml
Normal file
156
src/cf/InformationRegisters/УведомленияОНовыхВерсиях.xml
Normal file
@@ -0,0 +1,156 @@
|
||||
<?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">
|
||||
<InformationRegister uuid="d3461208-ab0d-48b0-a2fe-f4555454b5bf">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="InformationRegisterRecord.УведомленияОНовыхВерсиях" category="Record">
|
||||
<xr:TypeId>1ddf54a2-3a5d-4946-b427-506bcd95309c</xr:TypeId>
|
||||
<xr:ValueId>cdb2e881-03b3-48c3-9ec7-36462b294999</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterManager.УведомленияОНовыхВерсиях" category="Manager">
|
||||
<xr:TypeId>eb27fce8-427d-4986-b690-8b604cfb6e06</xr:TypeId>
|
||||
<xr:ValueId>dd7778d0-3d88-4d72-9401-ad365a283424</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterSelection.УведомленияОНовыхВерсиях" category="Selection">
|
||||
<xr:TypeId>163d29b8-7d9a-4c51-8145-21104edd9cf0</xr:TypeId>
|
||||
<xr:ValueId>1b5d9f41-7c3f-4236-a370-49896e8aaa4f</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterList.УведомленияОНовыхВерсиях" category="List">
|
||||
<xr:TypeId>9af2c819-a19b-4b90-b979-ee6c3b018789</xr:TypeId>
|
||||
<xr:ValueId>fa5f217a-afc0-4b7a-aa11-60b18156061b</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordSet.УведомленияОНовыхВерсиях" category="RecordSet">
|
||||
<xr:TypeId>e63c7fa6-bac4-472c-a645-8e7eb0d5a1a4</xr:TypeId>
|
||||
<xr:ValueId>71240200-3f61-4922-8563-3eb04bb4f15a</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordKey.УведомленияОНовыхВерсиях" category="RecordKey">
|
||||
<xr:TypeId>3c8868ef-6bbc-4fb2-a0e6-6dcf2ad2e4fe</xr:TypeId>
|
||||
<xr:ValueId>161d890d-6e0f-49ac-a1d3-b12797973f7d</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordManager.УведомленияОНовыхВерсиях" category="RecordManager">
|
||||
<xr:TypeId>c75317f4-5fca-4b82-859c-adcce2cdcd0f</xr:TypeId>
|
||||
<xr:ValueId>0c55617c-1757-49b7-a647-f6b027904fcb</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>УведомленияОНовыхВерсиях</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Уведомления о новых версиях</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<EditType>InDialog</EditType>
|
||||
<DefaultRecordForm/>
|
||||
<DefaultListForm/>
|
||||
<AuxiliaryRecordForm/>
|
||||
<AuxiliaryListForm/>
|
||||
<InformationRegisterPeriodicity>Nonperiodical</InformationRegisterPeriodicity>
|
||||
<WriteMode>Independent</WriteMode>
|
||||
<MainFilterOnPeriod>false</MainFilterOnPeriod>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<DataLockControlMode>Managed</DataLockControlMode>
|
||||
<FullTextSearch>DontUse</FullTextSearch>
|
||||
<EnableTotalsSliceFirst>false</EnableTotalsSliceFirst>
|
||||
<EnableTotalsSliceLast>false</EnableTotalsSliceLast>
|
||||
<RecordPresentation/>
|
||||
<ExtendedRecordPresentation/>
|
||||
<ListPresentation/>
|
||||
<ExtendedListPresentation/>
|
||||
<Explanation/>
|
||||
<DataHistory>DontUse</DataHistory>
|
||||
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<Resource uuid="cdc02f8b-b82c-48d9-b936-bb2515c15258">
|
||||
<Properties>
|
||||
<Name>ОтправлятьУведомления</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Отправлять уведомления</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip/>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillFromFillingValue>false</FillFromFillingValue>
|
||||
<FillValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Resource>
|
||||
<Dimension uuid="3d0a0b1e-a7f9-4b8d-b95c-6e23973e0896">
|
||||
<Properties>
|
||||
<Name>ИдЧата</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Ид чата</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>15</v8:Digits>
|
||||
<v8:FractionDigits>0</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip/>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillFromFillingValue>false</FillFromFillingValue>
|
||||
<FillValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Master>false</Master>
|
||||
<MainFilter>true</MainFilter>
|
||||
<DenyIncompleteValues>false</DenyIncompleteValues>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
<TypeReductionMode>TransformValues</TypeReductionMode>
|
||||
</Properties>
|
||||
</Dimension>
|
||||
</ChildObjects>
|
||||
</InformationRegister>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,22 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция УправлениеОповещениями(ИдЧата, Включить) Экспорт
|
||||
|
||||
МенеджерЗаписи = СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
МенеджерЗаписи.Прочитать();
|
||||
Если МенеджерЗаписи.Выбран() Тогда
|
||||
Если МенеджерЗаписи.ОтправлятьУведомления = Включить Тогда
|
||||
Возврат СтрШаблон("Оповещения уже %1", ?(Включить, "включены", "выключены"));
|
||||
Иначе
|
||||
МенеджерЗаписи.ОтправлятьУведомления = Включить;
|
||||
МенеджерЗаписи.Записать();
|
||||
Возврат СтрШаблон("Оповещения %1", ?(Включить, "включены 🔉", "выключены 🔇"));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрШаблон("Не удалось %1 оповещения", ?(Включить, "включить", "выключить"));
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
22
src/cf/ScheduledJobs/ПроверкаАктуальностиКонфигураций.xml
Normal file
22
src/cf/ScheduledJobs/ПроверкаАктуальностиКонфигураций.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?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">
|
||||
<ScheduledJob uuid="79975f8c-5a0b-4b2b-b314-5e6574a7b213">
|
||||
<Properties>
|
||||
<Name>ПроверкаАктуальностиКонфигураций</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Проверка актуальности конфигураций</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<MethodName>CommonModule.ОбновленияРегламент.ПроверкаНеактуальныхВерсийКонфигураций</MethodName>
|
||||
<Description/>
|
||||
<Key/>
|
||||
<Use>true</Use>
|
||||
<Predefined>true</Predefined>
|
||||
<RestartCountOnFailure>3</RestartCountOnFailure>
|
||||
<RestartIntervalOnFailure>10</RestartIntervalOnFailure>
|
||||
</Properties>
|
||||
</ScheduledJob>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<JobSchedule xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
|
||||
<Schedule BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="00:00:00" EndTime="00:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="300" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="1">
|
||||
<ent:WeekDays>1 2 3 4 5 6 7</ent:WeekDays>
|
||||
<ent:Months>1 2 3 4 5 6 7 8 9 10 11 12</ent:Months>
|
||||
<ent:DetailedDailySchedules BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="00:00:00" EndTime="00:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="300" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="0">
|
||||
<ent:WeekDays/>
|
||||
<ent:Months/>
|
||||
</ent:DetailedDailySchedules>
|
||||
</Schedule>
|
||||
</JobSchedule>
|
||||
@@ -21,6 +21,10 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.Конфигурации</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмСтатусДиалога</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">ScheduledJob.ПроверкаАктуальностиКонфигураций</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ОбновленияРегламент</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.УведомленияОНовыхВерсиях</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.РаботаСОбновлениямиВызовСервера</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмРежимРазметки</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмСтатусДиалога</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.БотОбщегоНазначения</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ТелеграмРаботаСКлавиатурой</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VERSION>19</VERSION>
|
||||
<VERSION>21</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user