Compare commits
5 Commits
2c8c581088
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b6e6fbc8a6 | |||
| 01db185d34 | |||
| 85c6219a8d | |||
| 219fe05b43 | |||
| 1f35a110e1 |
@@ -7,6 +7,7 @@
|
|||||||
- Автоматическое отслеживание новых версий конфигураций
|
- Автоматическое отслеживание новых версий конфигураций
|
||||||
- Уведомления о появлении актуальных версий конфигураций
|
- Уведомления о появлении актуальных версий конфигураций
|
||||||
- Включение и отключение уведомлений о выходе новых версий конфигураций
|
- Включение и отключение уведомлений о выходе новых версий конфигураций
|
||||||
|
- Возможность задать периодичность уведомлений (каждый час, день, неделю)
|
||||||
- Просмотр списка отслеживаемых конфигураций
|
- Просмотр списка отслеживаемых конфигураций
|
||||||
- Добавление конкретной конфигурации в список отслеживания
|
- Добавление конкретной конфигурации в список отслеживания
|
||||||
- Удаление конкретной конфигурации из списка отслеживания
|
- Удаление конкретной конфигурации из списка отслеживания
|
||||||
@@ -26,9 +27,9 @@
|
|||||||
|
|
||||||
Бот не требует внешнего сервера или промежуточного backend-а. Всё реализовано средствами платформы 1С.
|
Бот не требует внешнего сервера или промежуточного backend-а. Всё реализовано средствами платформы 1С.
|
||||||
|
|
||||||
- Клонируйте или скачайте репозиторий: `git clone https://github.com/K4shey/tg_bot_1c.git`
|
- Клонируйте или скачайте репозиторий: `git clone https://github.com/K4shey/1c_release_checker_bot.git`
|
||||||
- Создайте новую информационную базу. В режиме конфигуратора выполните команду загрузки конфигурации из файлов.
|
- Создайте новую информационную базу. В режиме конфигуратора выполните команду загрузки конфигурации из файлов.
|
||||||
- Укажите путь к источнику: `tg_bot_1c\src\cf`
|
- Укажите путь к источнику: `\src\cf`
|
||||||
- Зарегистрируйте Telegram-бота через @BotFather и получите токен.
|
- Зарегистрируйте Telegram-бота через @BotFather и получите токен.
|
||||||
- Укажите токен в настройках конфигурации, раздел Администрирование.
|
- Укажите токен в настройках конфигурации, раздел Администрирование.
|
||||||
- Есть возможность получать обновления в двух режимах: `long polling` и `webhook`. Режим устанавливается в настройках, раздел Администрирование. В случае использования `webhook` требуется публикация базы на веб-сервере.
|
- Есть возможность получать обновления в двух режимах: `long polling` и `webhook`. Режим устанавливается в настройках, раздел Администрирование. В случае использования `webhook` требуется публикация базы на веб-сервере.
|
||||||
|
|||||||
@@ -170,7 +170,6 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
Процедура УстановитьПериодУведомления(ТекстСообщения, ИдЧата)
|
Процедура УстановитьПериодУведомления(ТекстСообщения, ИдЧата)
|
||||||
|
|
||||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
|
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
|
||||||
@@ -185,7 +184,6 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя)
|
Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя)
|
||||||
|
|
||||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации);
|
ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации);
|
||||||
ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения,
|
ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения,
|
||||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||||
|
РегистрыСведений.УведомленияОНовыхВерсиях.ОбновитьДатуОтправкиУведомления(ПолучательУведомления.ИдЧата);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
|
|
||||||
МассивРядов = Новый Массив;
|
МассивРядов = Новый Массив;
|
||||||
|
|
||||||
Для каждого ЗначениеПериода из Метаданные.Перечисления.ПериодичностьУведомлений.ЗначенияПеречисления Цикл
|
Для каждого ЗначениеПериода Из Метаданные.Перечисления.ПериодичностьУведомлений.ЗначенияПеречисления Цикл
|
||||||
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(ЗначениеПериода.Синоним, ,
|
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(ЗначениеПериода.Синоним, ,
|
||||||
СтрШаблон("%1 %2", Команда, ЗначениеПериода.Имя));
|
СтрШаблон("%1 %2", Команда, ЗначениеПериода.Имя));
|
||||||
Если ЗначениеПериода.Имя <> "НеУведомлять" Тогда
|
Если ЗначениеПериода.Имя <> "НеУведомлять" Тогда
|
||||||
|
|||||||
@@ -284,7 +284,6 @@
|
|||||||
<Enum>ВидыДанныхОбратныхВызовов</Enum>
|
<Enum>ВидыДанныхОбратныхВызовов</Enum>
|
||||||
<Enum>ПериодичностьУведомлений</Enum>
|
<Enum>ПериодичностьУведомлений</Enum>
|
||||||
<DataProcessor>НачальноеЗаполнениеДанных</DataProcessor>
|
<DataProcessor>НачальноеЗаполнениеДанных</DataProcessor>
|
||||||
<DataProcessor>Тест_Удалить</DataProcessor>
|
|
||||||
<InformationRegister>ТелеграмИсторияСообщений</InformationRegister>
|
<InformationRegister>ТелеграмИсторияСообщений</InformationRegister>
|
||||||
<InformationRegister>ОтслеживаниеВерсийКонфигураций</InformationRegister>
|
<InformationRegister>ОтслеживаниеВерсийКонфигураций</InformationRegister>
|
||||||
<InformationRegister>УведомленияОНовыхВерсиях</InformationRegister>
|
<InformationRegister>УведомленияОНовыхВерсиях</InformationRegister>
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
<?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">
|
|
||||||
<DataProcessor uuid="b86f0a31-b523-4c41-9927-4dde82319197">
|
|
||||||
<InternalInfo>
|
|
||||||
<xr:GeneratedType name="DataProcessorObject.Тест_Удалить" category="Object">
|
|
||||||
<xr:TypeId>8794d5d5-b819-491c-a031-56d53e7d8a5f</xr:TypeId>
|
|
||||||
<xr:ValueId>b128426e-d9e5-4b0e-a516-1d23bd5b8e81</xr:ValueId>
|
|
||||||
</xr:GeneratedType>
|
|
||||||
<xr:GeneratedType name="DataProcessorManager.Тест_Удалить" category="Manager">
|
|
||||||
<xr:TypeId>80877c77-fa14-4b57-a545-33245b3f7993</xr:TypeId>
|
|
||||||
<xr:ValueId>81d4dfa1-1e97-4cd1-a0e6-869af166b6d5</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>
|
|
||||||
<DefaultForm>DataProcessor.Тест_Удалить.Form.Форма</DefaultForm>
|
|
||||||
<AuxiliaryForm/>
|
|
||||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
|
||||||
<ExtendedPresentation/>
|
|
||||||
<Explanation/>
|
|
||||||
</Properties>
|
|
||||||
<ChildObjects>
|
|
||||||
<Form>Форма</Form>
|
|
||||||
</ChildObjects>
|
|
||||||
</DataProcessor>
|
|
||||||
</MetaDataObject>
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<?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">
|
|
||||||
<Form uuid="7a864e05-0f9c-492b-9955-757ac1f96b5f">
|
|
||||||
<Properties>
|
|
||||||
<Name>Форма</Name>
|
|
||||||
<Synonym>
|
|
||||||
<v8:item>
|
|
||||||
<v8:lang>ru</v8:lang>
|
|
||||||
<v8:content>Форма</v8:content>
|
|
||||||
</v8:item>
|
|
||||||
</Synonym>
|
|
||||||
<Comment/>
|
|
||||||
<FormType>Managed</FormType>
|
|
||||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
|
||||||
<UsePurposes>
|
|
||||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
|
||||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
|
||||||
</UsePurposes>
|
|
||||||
<ExtendedPresentation/>
|
|
||||||
</Properties>
|
|
||||||
</Form>
|
|
||||||
</MetaDataObject>
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" 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: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">
|
|
||||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
|
||||||
<ChildItems>
|
|
||||||
<Button name="Команда1" id="1">
|
|
||||||
<Type>UsualButton</Type>
|
|
||||||
<CommandName>Form.Command.Команда1</CommandName>
|
|
||||||
<ExtendedTooltip name="Команда1РасширеннаяПодсказка" id="2"/>
|
|
||||||
</Button>
|
|
||||||
</ChildItems>
|
|
||||||
<Attributes>
|
|
||||||
<Attribute name="Объект" id="1">
|
|
||||||
<Type>
|
|
||||||
<v8:Type>cfg:DataProcessorObject.Тест_Удалить</v8:Type>
|
|
||||||
</Type>
|
|
||||||
<MainAttribute>true</MainAttribute>
|
|
||||||
</Attribute>
|
|
||||||
</Attributes>
|
|
||||||
<Commands>
|
|
||||||
<Command name="Команда1" id="1">
|
|
||||||
<Action>Команда1</Action>
|
|
||||||
</Command>
|
|
||||||
</Commands>
|
|
||||||
</Form>
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура Команда1(Команда)
|
|
||||||
Команда1НаСервере();
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
&НаСервере
|
|
||||||
Процедура Команда1НаСервере()
|
|
||||||
|
|
||||||
ОбновленияРегламент.ПроверкаНеактуальныхВерсийКонфигураций();
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
@@ -7,28 +7,45 @@
|
|||||||
Менеджер.Прочитать();
|
Менеджер.Прочитать();
|
||||||
|
|
||||||
Если Не Менеджер.Выбран() Тогда
|
Если Не Менеджер.Выбран() Тогда
|
||||||
Возврат СообщениеНеудача(Периодичность);
|
Возврат НеудачнаяСменеПериодичности(Периодичность);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Менеджер.Периодичность = Периодичность Тогда
|
Если Менеджер.Периодичность = Периодичность Тогда
|
||||||
Возврат СообщениеДублирование(Периодичность);
|
Возврат ПовторнаяПопыткаУстановки(Периодичность);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Менеджер.Периодичность = Периодичность;
|
Менеджер.Периодичность = Периодичность;
|
||||||
Менеджер.Записать();
|
Менеджер.Записать();
|
||||||
|
|
||||||
Возврат СообщениеУспех(Периодичность);
|
Возврат УспешнаяСменаПериодичности(Периодичность);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СообщениеНеудача(Периодичность)
|
Процедура ОбновитьДатуОтправкиУведомления(ИдЧата) Экспорт
|
||||||
|
|
||||||
|
Менеджер = СоздатьМенеджерЗаписи();
|
||||||
|
Менеджер.ИдЧата = ИдЧата;
|
||||||
|
Менеджер.Прочитать();
|
||||||
|
|
||||||
|
Если Менеджер.Выбран() Тогда
|
||||||
|
Менеджер.ПоследняяОтправка = ТекущаяДатаСеанса();
|
||||||
|
Менеджер.Записать();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
Функция НеудачнаяСменеПериодичности(Периодичность)
|
||||||
|
|
||||||
Возврат СтрШаблон("Не удалось %1 уведомления",
|
Возврат СтрШаблон("Не удалось %1 уведомления",
|
||||||
?(Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять, "выключить", "включить"));
|
?(Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять, "выключить", "включить"));
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СообщениеДублирование(Периодичность)
|
Функция ПовторнаяПопыткаУстановки(Периодичность)
|
||||||
|
|
||||||
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
|
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
|
||||||
Возврат "🔇 Уведомления уже выключены";
|
Возврат "🔇 Уведомления уже выключены";
|
||||||
@@ -39,7 +56,7 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СообщениеУспех(Периодичность)
|
Функция УспешнаяСменаПериодичности(Периодичность)
|
||||||
|
|
||||||
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
|
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
|
||||||
Возврат "🔇 Уведомления выключены";
|
Возврат "🔇 Уведомления выключены";
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.УведомленияОНовыхВерсиях</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.УведомленияОНовыхВерсиях</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.РаботаСОбновлениямиВызовСервера</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.РаботаСОбновлениямиВызовСервера</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">DataProcessor.Тест_Удалить</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">b86f0a31-b523-4c41-9927-4dde82319197</xr:Item>
|
||||||
</Content>
|
</Content>
|
||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<VERSION>46</VERSION>
|
<VERSION>50</VERSION>
|
||||||
|
|||||||
Reference in New Issue
Block a user