Compare commits
46 Commits
98f0202a22
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b6e6fbc8a6 | |||
| 01db185d34 | |||
| 85c6219a8d | |||
| 219fe05b43 | |||
| 1f35a110e1 | |||
| 2c8c581088 | |||
| 5bf73184d2 | |||
| 8a88dea2b9 | |||
| 78b1198f7a | |||
| 97427fb844 | |||
| 63ad60bdf8 | |||
| 869bd182cb | |||
| ae3fe05e5d | |||
| d904c25ce6 | |||
| 36cea3f0b0 | |||
| ae881c62b7 | |||
| 72df024952 | |||
| d5c675d201 | |||
| 5029be4a6f | |||
| 634a5450d4 | |||
| a7d01cc925 | |||
| 3a86f70db3 | |||
| 0812e7587d | |||
| f5bb6aa6e5 | |||
| 0222e27c15 | |||
| e8c9692b9d | |||
| 03bf110470 | |||
| 7300e8b228 | |||
| 8e98d394d3 | |||
| b5a4761b1c | |||
| 20eeee94ba | |||
| 045d4f2e6c | |||
| b857323d19 | |||
| 0ae60ad37a | |||
| be339ebdda | |||
| 82272234bf | |||
| 69b0fc406a | |||
| ddb0c43e97 | |||
| 77535f6a73 | |||
| 5c6596b5e1 | |||
| b5bc707ba8 | |||
| a4388da629 | |||
| f73fd3ce5b | |||
| d532d38991 | |||
| 425307d175 | |||
| aeb6776a9b |
51
Jenkinsfile
vendored
Normal file
51
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
pipeline {
|
||||
|
||||
agent {
|
||||
label 'windows'
|
||||
}
|
||||
|
||||
environment {
|
||||
platformVersion = '8.3.26.1581'
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
allure includeProperties: false, jdk: '', results: [[path: 'build/syntax-check/allure']]
|
||||
junit allowEmptyResults: true, testResults: 'build/syntax-check/junit/junit.xml'
|
||||
}
|
||||
success {
|
||||
echo 'success'
|
||||
}
|
||||
failure {
|
||||
echo 'failure'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
stages {
|
||||
|
||||
stage("Синхронизация с хранилищем") {
|
||||
steps {
|
||||
script {
|
||||
scannerHome = tool name: 'sonar-scanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
|
||||
withSonarQubeEnv("Sonar") {
|
||||
bat "chcp 65001\n SET GITSYNC_V8VERSION=${platformVersion}\n gitsync sync -u ci-bot -p 12345 C:/storage_1c/tg_bot_1c/ src/cf"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage("SonarQube") {
|
||||
steps {
|
||||
script {
|
||||
scannerHome = tool name: 'sonar-scanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
|
||||
withSonarQubeEnv("Sonar") {
|
||||
bat "chcp 65001\n ${scannerHome}/bin/sonar-scanner -Dsonar.projectVersion=${BUILD_ID}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
50
README.md
50
README.md
@@ -1 +1,49 @@
|
||||
# Реализация telegram чат-бота средствами платформы 1С
|
||||
# 1C Release Checker Bot
|
||||
|
||||
1C Release Checker Bot — это Telegram-бот, созданный на платформе 1С:Предприятие, который позволяет пользователям получать актуальную информацию о версиях типовых конфигураций 1С. Он предназначен для разработчиков, системных администраторов и ИТ-специалистов, работающих с 1С.
|
||||
|
||||
## Возможности
|
||||
|
||||
- Автоматическое отслеживание новых версий конфигураций
|
||||
- Уведомления о появлении актуальных версий конфигураций
|
||||
- Включение и отключение уведомлений о выходе новых версий конфигураций
|
||||
- Возможность задать периодичность уведомлений (каждый час, день, неделю)
|
||||
- Просмотр списка отслеживаемых конфигураций
|
||||
- Добавление конкретной конфигурации в список отслеживания
|
||||
- Удаление конкретной конфигурации из списка отслеживания
|
||||
- Просмотр статуса конкретной конфигурации (текущая версия -> актуальная версия)
|
||||
|
||||
## Используемые технологии
|
||||
|
||||
- 1С:Предприятие 8.3
|
||||
- HTTP-сервисы 1С
|
||||
- Telegram Bot API
|
||||
- Интеграция по REST API с сайтом releases.1c.ru
|
||||
- Проверка качества кода SonarQube
|
||||
- Сборка проекта Jenkins
|
||||
- Отчёты Allure
|
||||
|
||||
## Установка и настройка
|
||||
|
||||
Бот не требует внешнего сервера или промежуточного backend-а. Всё реализовано средствами платформы 1С.
|
||||
|
||||
- Клонируйте или скачайте репозиторий: `git clone https://github.com/K4shey/1c_release_checker_bot.git`
|
||||
- Создайте новую информационную базу. В режиме конфигуратора выполните команду загрузки конфигурации из файлов.
|
||||
- Укажите путь к источнику: `\src\cf`
|
||||
- Зарегистрируйте Telegram-бота через @BotFather и получите токен.
|
||||
- Укажите токен в настройках конфигурации, раздел Администрирование.
|
||||
- Есть возможность получать обновления в двух режимах: `long polling` и `webhook`. Режим устанавливается в настройках, раздел Администрирование. В случае использования `webhook` требуется публикация базы на веб-сервере.
|
||||
- В режиме предприятия выполните начальную инициализацию. Раздел Администрирование - Начальное заполнение данных.
|
||||
|
||||
## Поддерживаемые команды
|
||||
|
||||
| **Команда** | **Описание** |
|
||||
|:----------------- |:------------------------------------------- |
|
||||
| **/start** | Приветствие и справка |
|
||||
| **/subscribe** | Список конфигураций для отслеживания |
|
||||
| **/add** | Добавить конфигурацию в список отслеживания |
|
||||
| **/delete** | Удалить конфигурацию из списка отслеживания |
|
||||
| **/notify_on** | Включить уведомления о новых версиях |
|
||||
| **/notify_off** | Выключить уведомления о новых версиях |
|
||||
| **/status** | Вывести информацию о статусе конфигурации |
|
||||
| **/help** | Вывести список поддерживаемых команд |
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПросмотрФайла(Команда)
|
||||
|
||||
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(РаботаСФайламиКлиентСервер.ПолучитьРасширениеИмениФайла(Объект.file_name));
|
||||
ДвоичныеДанные = ПолучитьДвоичныеДанныеНаСервере();
|
||||
ДвоичныеДанные.Записать(ИмяВременногоФайла);
|
||||
ЗапуститьПриложениеАсинх(ИмяВременногоФайла);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьДвоичныеДанныеНаСервере()
|
||||
|
||||
Возврат РеквизитФормыВЗначение("Объект").ДанныеФайла.Получить();
|
||||
|
||||
КонецФункции
|
||||
@@ -2,33 +2,33 @@
|
||||
<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">
|
||||
<Catalog uuid="60022782-c6f7-4159-929b-db83d2828a89">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="CatalogObject.ТелеграмДокумент" category="Object">
|
||||
<xr:GeneratedType name="CatalogObject.ТелеграмДокументы" category="Object">
|
||||
<xr:TypeId>79fc9728-5c36-4c76-8dd3-304174405d63</xr:TypeId>
|
||||
<xr:ValueId>cdcdd7f9-03b6-48e9-98eb-e0ba4fa6e7bb</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogRef.ТелеграмДокумент" category="Ref">
|
||||
<xr:GeneratedType name="CatalogRef.ТелеграмДокументы" category="Ref">
|
||||
<xr:TypeId>2fac0edc-75c5-4f25-b2bc-a8a1b5499fd3</xr:TypeId>
|
||||
<xr:ValueId>e857f5ed-7f18-4fde-9155-eb2cf4041d60</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogSelection.ТелеграмДокумент" category="Selection">
|
||||
<xr:GeneratedType name="CatalogSelection.ТелеграмДокументы" category="Selection">
|
||||
<xr:TypeId>6ccceb70-b829-4d4e-a3f4-21fb3d9d3147</xr:TypeId>
|
||||
<xr:ValueId>ac14aa95-fdda-4e82-99a2-4c93f4ddb7cf</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogList.ТелеграмДокумент" category="List">
|
||||
<xr:GeneratedType name="CatalogList.ТелеграмДокументы" category="List">
|
||||
<xr:TypeId>cab9b204-3208-4e79-a2d4-217df0367bf3</xr:TypeId>
|
||||
<xr:ValueId>9e82e379-59ad-4891-b7e5-3831151f7791</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogManager.ТелеграмДокумент" category="Manager">
|
||||
<xr:GeneratedType name="CatalogManager.ТелеграмДокументы" category="Manager">
|
||||
<xr:TypeId>9df89e29-979d-4bcd-beb3-c10b2eba3ee5</xr:TypeId>
|
||||
<xr:ValueId>860e25d0-f5de-4c0b-a880-a42fb7296c13</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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/>
|
||||
@@ -54,13 +54,13 @@
|
||||
<QuickChoice>false</QuickChoice>
|
||||
<ChoiceMode>BothWays</ChoiceMode>
|
||||
<InputByString>
|
||||
<xr:Field>Catalog.ТелеграмДокумент.StandardAttribute.Description</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмДокумент.StandardAttribute.Code</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмДокументы.StandardAttribute.Description</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмДокументы.StandardAttribute.Code</xr:Field>
|
||||
</InputByString>
|
||||
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
|
||||
<DefaultObjectForm>Catalog.ТелеграмДокумент.Form.ФормаЭлемента</DefaultObjectForm>
|
||||
<DefaultObjectForm>Catalog.ТелеграмДокументы.Form.ФормаЭлемента</DefaultObjectForm>
|
||||
<DefaultFolderForm/>
|
||||
<DefaultListForm/>
|
||||
<DefaultChoiceForm/>
|
||||
@@ -3,6 +3,9 @@
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Events>
|
||||
<Event name="BeforeClose">ПередЗакрытием</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="Код" id="1">
|
||||
<DataPath>Объект.Code</DataPath>
|
||||
@@ -50,36 +53,51 @@
|
||||
<ContextMenu name="file_sizeКонтекстноеМеню" id="17"/>
|
||||
<ExtendedTooltip name="file_sizeРасширеннаяПодсказка" id="18"/>
|
||||
</InputField>
|
||||
<Button name="ПолучитьФайл" id="19">
|
||||
<Button name="СохранитьФайл" id="21">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.ПросмотрФайла</CommandName>
|
||||
<ExtendedTooltip name="ПолучитьФайлРасширеннаяПодсказка" id="20"/>
|
||||
<CommandName>Form.Command.СохранитьФайл</CommandName>
|
||||
<ExtendedTooltip name="СохранитьФайлРасширеннаяПодсказка" id="22"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:CatalogObject.ТелеграмДокумент</v8:Type>
|
||||
<v8:Type>cfg:CatalogObject.ТелеграмДокументы</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ПросмотрФайла" id="1">
|
||||
<Attribute name="АдресВременногоХранилища" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Просмотр файла</v8:content>
|
||||
<v8:content>Адрес временного хранилища</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="СохранитьФайл" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Получить файл</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Просмотр файла</v8:content>
|
||||
<v8:content>Сохранить файл</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ПросмотрФайла</Action>
|
||||
<Action>СохранениеФайла</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
@@ -0,0 +1,26 @@
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранениеФайла(Команда)
|
||||
|
||||
АдресВременногоХранилища = АдресВременногоХранилища();
|
||||
Если ЭтоАдресВременногоХранилища(АдресВременногоХранилища) Тогда
|
||||
ПараметрыДиалога = Новый ПараметрыДиалогаПолученияФайлов();
|
||||
НачатьПолучениеФайлаССервера(АдресВременногоХранилища, СтрШаблон("%1%2", ПараметрыДиалога.Каталог, Объект.file_name));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Функция АдресВременногоХранилища()
|
||||
|
||||
ДвоичныеДанныеФайла = РеквизитФормыВЗначение("Объект").ДанныеФайла.Получить();
|
||||
Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2,33 +2,33 @@
|
||||
<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">
|
||||
<Catalog uuid="18f1501f-401f-4148-9beb-d450ca3baa64">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="CatalogObject.ТелеграмПользователь" category="Object">
|
||||
<xr:GeneratedType name="CatalogObject.ТелеграмПользователи" category="Object">
|
||||
<xr:TypeId>771bbf76-6560-490f-bddf-4b57282bb979</xr:TypeId>
|
||||
<xr:ValueId>e6f77041-f666-4790-b64e-0346b7ba6d24</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogRef.ТелеграмПользователь" category="Ref">
|
||||
<xr:GeneratedType name="CatalogRef.ТелеграмПользователи" category="Ref">
|
||||
<xr:TypeId>a3385365-db96-4682-a1f0-05a799ca7d13</xr:TypeId>
|
||||
<xr:ValueId>aad9e481-4b51-41bd-bbcc-841dfe7d7fea</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogSelection.ТелеграмПользователь" category="Selection">
|
||||
<xr:GeneratedType name="CatalogSelection.ТелеграмПользователи" category="Selection">
|
||||
<xr:TypeId>21ffa4af-08a6-43da-bf5c-2a6cec872acb</xr:TypeId>
|
||||
<xr:ValueId>2d2e8ba9-725d-4052-8709-d150e516b287</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogList.ТелеграмПользователь" category="List">
|
||||
<xr:GeneratedType name="CatalogList.ТелеграмПользователи" category="List">
|
||||
<xr:TypeId>57848e3d-1e86-47e4-8af0-6131e4d2cf11</xr:TypeId>
|
||||
<xr:ValueId>ee125c26-eed1-4fec-9caf-f070ac7e16e7</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogManager.ТелеграмПользователь" category="Manager">
|
||||
<xr:GeneratedType name="CatalogManager.ТелеграмПользователи" category="Manager">
|
||||
<xr:TypeId>7e7dd14a-ed48-4c12-a6a3-be34e103c20e</xr:TypeId>
|
||||
<xr:ValueId>ada062d3-22c5-4398-8454-e271927d264c</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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/>
|
||||
@@ -54,8 +54,8 @@
|
||||
<QuickChoice>false</QuickChoice>
|
||||
<ChoiceMode>BothWays</ChoiceMode>
|
||||
<InputByString>
|
||||
<xr:Field>Catalog.ТелеграмПользователь.StandardAttribute.Description</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмПользователь.StandardAttribute.Code</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмПользователи.StandardAttribute.Description</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмПользователи.StandardAttribute.Code</xr:Field>
|
||||
</InputByString>
|
||||
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||
@@ -2,33 +2,33 @@
|
||||
<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">
|
||||
<Catalog uuid="2a31c1a9-1ae9-42df-a414-339628101fc7">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="CatalogObject.ТелеграмСообщение" category="Object">
|
||||
<xr:GeneratedType name="CatalogObject.ТелеграмСообщения" category="Object">
|
||||
<xr:TypeId>f2bf8442-369f-4ac3-8d31-0da98dc3c6e7</xr:TypeId>
|
||||
<xr:ValueId>78de350c-a632-47bf-b8d9-14a931a433bc</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogRef.ТелеграмСообщение" category="Ref">
|
||||
<xr:GeneratedType name="CatalogRef.ТелеграмСообщения" category="Ref">
|
||||
<xr:TypeId>c171c60d-856c-4711-9f89-44d38a4ca0b5</xr:TypeId>
|
||||
<xr:ValueId>df29ebc7-d9a6-40b2-bf81-4b8b55edc9ca</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogSelection.ТелеграмСообщение" category="Selection">
|
||||
<xr:GeneratedType name="CatalogSelection.ТелеграмСообщения" category="Selection">
|
||||
<xr:TypeId>202a8ac1-4473-44de-8db2-b844bc3a5de9</xr:TypeId>
|
||||
<xr:ValueId>3f6bdd2b-54f0-45fc-8b79-9556b41fa48d</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogList.ТелеграмСообщение" category="List">
|
||||
<xr:GeneratedType name="CatalogList.ТелеграмСообщения" category="List">
|
||||
<xr:TypeId>e7b590ed-fc6d-4d6a-9724-bc68170e3d5b</xr:TypeId>
|
||||
<xr:ValueId>b6014560-6014-4b02-9c70-8b513ffb1486</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogManager.ТелеграмСообщение" category="Manager">
|
||||
<xr:GeneratedType name="CatalogManager.ТелеграмСообщения" category="Manager">
|
||||
<xr:TypeId>8d1e4c24-ea65-462d-81a4-d5db7c9fef57</xr:TypeId>
|
||||
<xr:ValueId>def7c3f6-b096-41bf-aafe-07390a894118</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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/>
|
||||
@@ -54,8 +54,8 @@
|
||||
<QuickChoice>false</QuickChoice>
|
||||
<ChoiceMode>BothWays</ChoiceMode>
|
||||
<InputByString>
|
||||
<xr:Field>Catalog.ТелеграмСообщение.StandardAttribute.Description</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмСообщение.StandardAttribute.Code</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмСообщения.StandardAttribute.Description</xr:Field>
|
||||
<xr:Field>Catalog.ТелеграмСообщения.StandardAttribute.Code</xr:Field>
|
||||
</InputByString>
|
||||
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||
@@ -230,7 +230,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмПользователь</v8:Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмПользователи</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@@ -270,7 +270,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмДокумент</v8:Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмДокументы</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@@ -1,12 +1,12 @@
|
||||
<?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">
|
||||
<CommonForm uuid="298dc1c3-f89d-4897-874e-bfd600985066">
|
||||
<CommonForm uuid="92b9a10c-955a-4964-9143-5244b73710af">
|
||||
<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/>
|
||||
@@ -16,7 +16,7 @@
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<UseStandardCommands>false</UseStandardCommands>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
</Properties>
|
||||
64
src/cf/CommonForms/Настройки/Ext/Form.xml
Normal file
64
src/cf/CommonForms/Настройки/Ext/Form.xml
Normal file
@@ -0,0 +1,64 @@
|
||||
<?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">
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Events>
|
||||
<Event name="AfterWrite">ПослеЗаписи</Event>
|
||||
<Event name="BeforeWrite">ПередЗаписью</Event>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
|
||||
<Event name="OnWriteAtServer">ПриЗаписиНаСервере</Event>
|
||||
<Event name="FillCheckProcessingAtServer">ОбработкаПроверкиЗаполненияНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="ТелеграмТокен" id="1">
|
||||
<DataPath>НаборКонстант.ТелеграмТокен</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ТелеграмТокенКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ТелеграмТокенРасширеннаяПодсказка" id="3"/>
|
||||
</InputField>
|
||||
<InputField name="ТелеграмВебХук" id="4">
|
||||
<DataPath>НаборКонстант.ТелеграмВебХук</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ТелеграмВебХукКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="ТелеграмВебХукРасширеннаяПодсказка" id="6"/>
|
||||
</InputField>
|
||||
<CheckBoxField name="ЛогироватьHttpЗапросы" id="7">
|
||||
<DataPath>НаборКонстант.ЛогироватьHttpЗапросы</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ЛогироватьHttpЗапросыКонтекстноеМеню" id="8"/>
|
||||
<ExtendedTooltip name="ЛогироватьHttpЗапросыРасширеннаяПодсказка" id="9"/>
|
||||
</CheckBoxField>
|
||||
<CheckBoxField name="ТелеграмИспользоватьВебХук" id="10">
|
||||
<DataPath>НаборКонстант.ТелеграмИспользоватьВебХук</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ТелеграмИспользоватьВебХукКонтекстноеМеню" id="11"/>
|
||||
<ExtendedTooltip name="ТелеграмИспользоватьВебХукРасширеннаяПодсказка" id="12"/>
|
||||
<Events>
|
||||
<Event name="OnChange">ТелеграмИспользоватьВебХукПриИзменении</Event>
|
||||
</Events>
|
||||
</CheckBoxField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="НаборКонстант" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ConstantsSet</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
</Attribute>
|
||||
<Attribute name="КэшЗначений" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Кэш значений</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type/>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
</Form>
|
||||
70
src/cf/CommonForms/Настройки/Ext/Form/Module.bsl
Normal file
70
src/cf/CommonForms/Настройки/Ext/Form/Module.bsl
Normal file
@@ -0,0 +1,70 @@
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
|
||||
Если ПараметрыЗаписи.Свойство("Модифицированность") Тогда
|
||||
ОбновитьИнтерфейс();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||
|
||||
НужноУказатьВебхух = НаборКонстант.ТелеграмИспользоватьВебХук И НЕ ЗначениеЗаполнено(НаборКонстант.ТелеграмВебХук);
|
||||
|
||||
Если НужноУказатьВебхух Тогда
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = "Не заполнен адрес вебхука";
|
||||
Сообщение.Поле = "НаборКонстант.ТелеграмВебХук";
|
||||
Сообщение.Сообщить();
|
||||
Отказ = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗаписи.Вставить("Модифицированность", Модифицированность);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
КэшЗначений = Новый Структура;
|
||||
КэшЗначений.Вставить("ТелеграмИспользоватьВебХук", ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
Если КэшЗначений.ТелеграмИспользоватьВебХук И НЕ ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
|
||||
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
|
||||
КонецЕсли;
|
||||
|
||||
Если ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
|
||||
ТелеграмМетодыВызовСервера.SetWebHook(ТекущийОбъект.ТелеграмВебХук);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТелеграмИспользоватьВебХукПриИзменении(Элемент)
|
||||
|
||||
УстановитьЗначениеКонстанты(НаборКонстант.ТелеграмИспользоватьВебХук);
|
||||
ОбновитьИнтерфейс();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура УстановитьЗначениеКонстанты(Знач ЗначениеКонстанты)
|
||||
|
||||
Константы.ТелеграмИспользоватьВебХук.Установить(ЗначениеКонстанты);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,72 +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">
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Events>
|
||||
<Event name="AfterWrite">ПослеЗаписи</Event>
|
||||
<Event name="OnOpen">ПриОткрытии</Event>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="ТелеграмВебХук" id="1">
|
||||
<DataPath>НаборКонстант.ТелеграмВебХук</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<AutoMaxWidth>false</AutoMaxWidth>
|
||||
<MultiLine>true</MultiLine>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ТелеграмВебХукКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ТелеграмВебХукРасширеннаяПодсказка" id="3"/>
|
||||
</InputField>
|
||||
<Button name="УдалитьВебХук" id="4">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.УдалитьВебХук</CommandName>
|
||||
<ExtendedTooltip name="УдалитьВебХукРасширеннаяПодсказка" id="5"/>
|
||||
</Button>
|
||||
<Button name="ВывестиИнформациюОВебхуке" id="6">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.ВывестиИнформациюОВебхуке</CommandName>
|
||||
<ExtendedTooltip name="ВывестиИнформациюОВебхукеРасширеннаяПодсказка" id="7"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="НаборКонстант" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ConstantsSet</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="УдалитьВебХук" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Удалить веб хук</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Удалить веб хук</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>УдалитьВебХук</Action>
|
||||
</Command>
|
||||
<Command name="ВывестиИнформациюОВебхуке" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Вывести информацию о вебхуке</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Вывести информацию о вебхуке</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ВывестиИнформациюОВебхуке</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
@@ -1,43 +0,0 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.SetWebHook(ТелеграмВебХук());
|
||||
ТекстСообщения = СтрШаблон(?(Ответ.Успех, "Успешно: %1","Ошибка: %1"), Ответ.Описание);
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = ТекстСообщения;
|
||||
Сообщение.Сообщить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ТелеграмВебХук()
|
||||
|
||||
Возврат Константы.ТелеграмВебХук.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УдалитьВебХук(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.DeleteWebhook();
|
||||
ТекстСообщения = СтрШаблон(?(Ответ.Успех, "Успешно: %1","Ошибка: %1"), Ответ.Описание);
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = ТекстСообщения;
|
||||
Сообщение.Сообщить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВывестиИнформациюОВебхуке(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetWebhookInfo();
|
||||
Если Ответ.Успех И ЗначениеЗаполнено(Ответ.Тело) Тогда
|
||||
Для каждого ПараметрОтвета из Ответ.Тело["result"] Цикл
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = "" + ПараметрОтвета.Ключ + "=" + ПараметрОтвета.Значение;
|
||||
Сообщение.Сообщить();
|
||||
КонецЦикла;
|
||||
КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -14,7 +14,7 @@
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
|
||||
@@ -1,33 +1,18 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ОбработкаКомандыБота(Тело) Экспорт
|
||||
|
||||
МассивОбновленийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Тело);
|
||||
МассивОбновленийТелеграм = ТелеграмОбщегоНазначенияВызовСервера.ОбновленияТелеграм(Тело);
|
||||
Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл
|
||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
|
||||
|
||||
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ПолучитьДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
||||
ТелеграмОбщегоНазначенияВызовСервера.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
|
||||
|
||||
Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда
|
||||
Если ОбновлениеТелеграм.Сообщение.text = "/start" Тогда
|
||||
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/subscribe" Тогда
|
||||
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/add" Тогда
|
||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/delete" Тогда
|
||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
|
||||
КонецЕсли;
|
||||
ОбработатьСообщение(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда
|
||||
Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
|
||||
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion)) Тогда
|
||||
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion)) Тогда
|
||||
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
КонецЕсли;
|
||||
ОбработатьКоллбэк(ОбновлениеТелеграм);
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -37,9 +22,56 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ОбработатьСообщение(ОбновлениеТелеграм)
|
||||
|
||||
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
||||
КомандаДляОбработки = ОбновлениеТелеграм.Сообщение.text;
|
||||
|
||||
Если КомандаДляОбработки = "/start" Тогда
|
||||
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/subscribe" Тогда
|
||||
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/add" Тогда
|
||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/delete" Тогда
|
||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/notify_on" Тогда
|
||||
ОбработатьКомандуВключитьУведомления(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/notify_off" Тогда
|
||||
ОбработатьКомандуВыключитьУведомления(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/status" Тогда
|
||||
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/help" Тогда
|
||||
ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм);
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
|
||||
Иначе
|
||||
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКоллбэк(ОбновлениеТелеграм)
|
||||
|
||||
Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
|
||||
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion)) Тогда
|
||||
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion)) Тогда
|
||||
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus)) Тогда
|
||||
ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn)) Тогда
|
||||
УстановитьПериодУведомления(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
Иначе
|
||||
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion);
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
|
||||
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
@@ -50,13 +82,12 @@
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||
|
||||
Если Конфигурация <> Неопределено Тогда
|
||||
ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС +
|
||||
Символы.ВК + Символы.ПС +
|
||||
"Для корректного отслеживания обновлений нужно ввести версию конфигурации (четыре группы цифр, разделённых точками):" +
|
||||
Символы.ПС +
|
||||
"Например: 3.1.30.197";
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии,
|
||||
ИмяКонфигурации);
|
||||
ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС
|
||||
+ Символы.ВК + Символы.ПС
|
||||
+ "Для корректного отслеживания обновлений введите версию конфигурации (четыре группы цифр, разделённых точками):"
|
||||
+ Символы.ПС + "Например: 3.1.30.197";
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии, ИмяКонфигурации);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -64,7 +95,7 @@
|
||||
|
||||
Процедура УдалитьКонфигурациюИзСпискаОтслеживания(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion);
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -90,6 +121,69 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПолучитьДанныеСтатусаКонфигурации(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||
|
||||
Если Конфигурация <> Неопределено Тогда
|
||||
ДанныеКонфигурации = РаботаСОбновлениямиВызовСервера.СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация);
|
||||
|
||||
Если ДанныеКонфигурации = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатСравненияВерсий = РаботаСОбновлениямиВызовСервера.СравнитьВерсииКонфигураций(
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия);
|
||||
|
||||
Если РезультатСравненияВерсий <> Неопределено Тогда
|
||||
Если РезультатСравненияВерсий < 0 Тогда
|
||||
Диагностика = "Необходимо обновить текущую версию.";
|
||||
ИначеЕсли РезультатСравненияВерсий > 0 Тогда
|
||||
Диагностика = "Текущая версия не может быть старше актуальной!";
|
||||
Иначе
|
||||
Диагностика = "Обновление текущей версии не требуется.";
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Диагностика = "";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОтвета = СтрШаблон("ℹ %1%2<code>%3</code> → <code>%4</code>%5%6",
|
||||
ДанныеКонфигурации.Наименование,
|
||||
Символы.ПС,
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия,
|
||||
Символы.ПС,
|
||||
Диагностика);
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
Иначе
|
||||
ТекстОтвета = "По данной конфигурации информация отсутствует.";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПериодУведомления(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
|
||||
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПериодичностьИмя = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
Периодичность = Перечисления.ПериодичностьУведомлений[ПериодичностьИмя];
|
||||
УправлениеОповещениями(ИдЧата, Периодичность);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
@@ -98,7 +192,7 @@
|
||||
Если НЕ ВерсияКонфигурацииКорректна(Версия) Тогда
|
||||
ТекстОтвета = СтрШаблон("Вы ввели некорректный номер версии: %1%2Для корректного отслеживания обновлений нужно
|
||||
|ввести версию конфигурации(четыре группы цифр, разделённых точками):Например: 3.1.30.197.", Версия, Символы.ПС);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,,);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -126,7 +220,8 @@
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
Попытка
|
||||
МенеджерЗаписи.Записать();
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
|
||||
Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
|
||||
ТекстОтвета = СтрШаблон("Версия: %1 успешно добавлена", Версия);
|
||||
Исключение
|
||||
ТекстОтвета = "При сохранении данных возникла ошибка";
|
||||
@@ -159,18 +254,19 @@
|
||||
|
||||
Процедура ОбработатьКомандуСтарт(ОбновлениеТелеграм)
|
||||
|
||||
ТекстОтвета = "Привет! Я бот, который поможет тебе следить за обновлениями конфигураций 1С." + Символы.ПС +
|
||||
Символы.ВК + Символы.ПС +
|
||||
"Что я умею:" + Символы.ПС +
|
||||
"- Отслеживать новые релизы" + Символы.ПС +
|
||||
"- Присылать уведомления о выходе обновлений" + Символы.ПС +
|
||||
"- Показывать текущую версию" + Символы.ПС +
|
||||
Символы.ВК + Символы.ПС +
|
||||
"/subscribe - Список конфигураций для отслеживания 🔔" + Символы.ПС +
|
||||
"/add - Добавить конфигурацию в список отслеживания ➕" + Символы.ПС +
|
||||
"/delete - Удалить конфигурацию из списка отслеживания ➖";
|
||||
ТекстОтвета = "👋 Привет!"
|
||||
+ Символы.ПС
|
||||
+ "Я - бот, который поможет тебе следить за обновлениями конфигураций 1С."
|
||||
+ Символы.ПС + Символы.ВК + Символы.ПС
|
||||
+ "Что я умею:" + Символы.ПС
|
||||
+ "- Отслеживать новые релизы" + Символы.ПС
|
||||
+ "- Присылать уведомления о выходе обновлений" + Символы.ПС
|
||||
+ "- Показывать текущую информацию о статусе конфигурации" + Символы.ПС
|
||||
+ Символы.ПС
|
||||
+ СписокПоддерживаемыхКоманд();
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -183,19 +279,20 @@
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
Иначе
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "✉️", "◼️"),
|
||||
ПунктМенюПодписки.Наименование,Символы.ПС);
|
||||
ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "✅", "◼️"),
|
||||
ПунктМенюПодписки.Наименование, Символы.ПС);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion);
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
|
||||
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
@@ -205,14 +302,14 @@
|
||||
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
|
||||
ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion);
|
||||
Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
|
||||
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
@@ -223,8 +320,88 @@
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
|
||||
|
||||
ТекстОтвета = "Выберите нужную конфигурацию для отмены отслеживания обновлений";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуВключитьУведомления(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
|
||||
|
||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.МассивРядовСПериодамиОповещения(ИдЧата, Команда);
|
||||
Если МассивКнопок.Количество() = 0 Тогда
|
||||
ТекстОтвета = "Не удалось получить список периодов оповещения";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивКнопок);
|
||||
ТекстОтвета = "Выберите нужную периодичность оповещения";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуВыключитьУведомления(ОбновлениеТелеграм)
|
||||
|
||||
УправлениеОповещениями(ОбновлениеТелеграм.ИдЧата, Перечисления.ПериодичностьУведомлений.НеУведомлять);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УправлениеОповещениями(ИдЧата, ПериодичностьУведомлений)
|
||||
|
||||
ТекстОтвета = РегистрыСведений.УведомленияОНовыхВерсиях.УправлениеУведомлениями(ИдЧата, ПериодичностьУведомлений);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
|
||||
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
|
||||
|
||||
ТекстОтвета = "Выберите нужную конфигурацию для получения ее статуса";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм)
|
||||
|
||||
ТекстОтвета = "Данная команда не поддерживается.";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм)
|
||||
|
||||
ТекстОтвета = СписокПоддерживаемыхКоманд();
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СписокПоддерживаемыхКоманд()
|
||||
|
||||
ТекстПодсказки = "Список поддерживаемых команд:"
|
||||
+ Символы.ВК + Символы.ПС
|
||||
+ "/subscribe - Список конфигураций для отслеживания" + Символы.ПС
|
||||
+ "/add - Добавить конфигурацию в список отслеживания" + Символы.ПС
|
||||
+ "/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС
|
||||
+ "/notify_on - Включить уведомления о новых версиях" + Символы.ПС
|
||||
+ "/notify_off - Выключить уведомления о новых версиях" + Символы.ПС
|
||||
+ "/status - Вывести информацию о статусе конфигурации" + Символы.ПС
|
||||
+ "/help - Вывести список поддерживаемых команд";
|
||||
|
||||
Возврат ТекстПодсказки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
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>
|
||||
64
src/cf/CommonModules/ОбновленияРегламент/Ext/Module.bsl
Normal file
64
src/cf/CommonModules/ОбновленияРегламент/Ext/Module.bsl
Normal file
@@ -0,0 +1,64 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ПроверкаНеактуальныхВерсийКонфигураций() Экспорт
|
||||
|
||||
РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций();
|
||||
СписокДляРассылкиУведомлений = РаботаСОбновлениямиВызовСервера.СписокНеактуальныхКонфигурацийДляУведомления();
|
||||
|
||||
Для Каждого ПолучательУведомления Из СписокДляРассылкиУведомлений Цикл
|
||||
ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
РегистрыСведений.УведомленияОНовыхВерсиях.ОбновитьДатуОтправкиУведомления(ПолучательУведомления.ИдЧата);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ТекстСообщенияОНеактуальнойВерсии(КонфигурацииДляВывода)
|
||||
|
||||
ТекстСообщения = СтрШаблон("Следующие конфигурации имеют неактуальные версии:%1%2", Символы.ПС, Символы.ПС);
|
||||
|
||||
КонфигурацииСНекорректнымиВерсиями = Новый Массив;
|
||||
|
||||
Для каждого ДанныеКонфигурации Из КонфигурацииДляВывода Цикл
|
||||
Если ДанныеКонфигурации.РезультатСравнения = Неопределено Тогда
|
||||
Продолжить;
|
||||
ИначеЕсли ДанныеКонфигурации.РезультатСравнения > 0 Тогда
|
||||
КонфигурацииСНекорректнымиВерсиями.Добавить(ДанныеКонфигурации);
|
||||
Продолжить;
|
||||
Иначе
|
||||
ТекстСообщения = ТекстСообщения + ФорматСтрокиСообщенияОНеактуальнойВерсии("🔥", ДанныеКонфигурации);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если КонфигурацииСНекорректнымиВерсиями.Количество() > 0 Тогда
|
||||
ТекстСообщения = ТекстСообщения + СтрШаблон("Внимание! Текущая конфигурация старше актуальной:%1%2",
|
||||
Символы.ПС, Символы.ПС);
|
||||
|
||||
Для каждого ДанныеКонфигурации Из КонфигурацииСНекорректнымиВерсиями Цикл
|
||||
ТекстСообщения = ТекстСообщения + ФорматСтрокиСообщенияОНеактуальнойВерсии("🚫", ДанныеКонфигурации);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФорматСтрокиСообщенияОНеактуальнойВерсии(Эмодзи, ДанныеКонфигурации)
|
||||
|
||||
Возврат СтрШаблон("%1 %2%3 <code>%4</code> → <code>%5</code>%6%7",
|
||||
Эмодзи,
|
||||
ДанныеКонфигурации.КонфигурацияПредставление,
|
||||
Символы.ПС,
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия,
|
||||
Символы.ПС,
|
||||
Символы.ПС);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -14,7 +14,7 @@
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ТолькоЦифрыВСтроке(Знач Значение, Знач ПробелыЗапрещены = Истина) Экспорт
|
||||
|
||||
@@ -14,12 +15,19 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// Если содержит только цифры, то в результате замен должна быть получена пустая строка.
|
||||
// Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы.
|
||||
Возврат СтрДлина(
|
||||
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
|
||||
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
|
||||
Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0;
|
||||
// Пошаговая очистка строки от всех цифр
|
||||
БезНулей = СтрЗаменить(Значение, "0", "");
|
||||
БезЕдиниц = СтрЗаменить(БезНулей, "1", "");
|
||||
БезДвоек = СтрЗаменить(БезЕдиниц, "2", "");
|
||||
БезТроек = СтрЗаменить(БезДвоек, "3", "");
|
||||
БезЧетверок = СтрЗаменить(БезТроек, "4", "");
|
||||
БезПятерок = СтрЗаменить(БезЧетверок, "5", "");
|
||||
БезШестерок = СтрЗаменить(БезПятерок, "6", "");
|
||||
БезСемерок = СтрЗаменить(БезШестерок, "7", "");
|
||||
БезВосьмерок = СтрЗаменить(БезСемерок, "8", "");
|
||||
БезДевяток = СтрЗаменить(БезВосьмерок, "9", "");
|
||||
|
||||
Возврат СтрДлина(БезДевяток) = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1");
|
||||
КонецЕсли;
|
||||
|
||||
Соединение = Новый HTTPСоединение("update-api.1c.ru",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -42,9 +42,11 @@
|
||||
МассивКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = Новый Структура("Наименование, Имя, ТекущаяВерсия, АктуальнаяВерсия",
|
||||
ВыборкаДетальныеЗаписи.КонфигурацияНаименование,ВыборкаДетальныеЗаписи.КонфигурацияИмя,
|
||||
ВыборкаДетальныеЗаписи.ТекущаяВерсия, ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
Конфигурация = Новый Структура;
|
||||
Конфигурация.Вставить("Наименование", ВыборкаДетальныеЗаписи.КонфигурацияНаименование);
|
||||
Конфигурация.Вставить("Имя", ВыборкаДетальныеЗаписи.КонфигурацияИмя);
|
||||
Конфигурация.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
|
||||
Конфигурация.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
МассивКонфигураций.Добавить(Конфигурация);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -52,6 +54,39 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК Наименование,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||||
| И ОтслеживаниеВерсийКонфигураций.Конфигурация = &Конфигурация";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
Запрос.УстановитьПараметр("Конфигурация", Конфигурация);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Результат = Новый Структура("Наименование, ТекущаяВерсия, АктуальнаяВерсия",
|
||||
ВыборкаДетальныеЗаписи.Наименование,
|
||||
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокКонфигураций(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
@@ -97,54 +132,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
КэшАктуальныхВерсий = РезультатЗапроса.Выгрузить().СкопироватьКолонки();
|
||||
КэшАктуальныхВерсий.Колонки.Удалить("ИдЧата");
|
||||
ОбработаноЗаписей = 0;
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = ВыборкаДетальныеЗаписи.Конфигурация;
|
||||
ТекущаяВерсия = ВыборкаДетальныеЗаписи.ТекущаяВерсия;
|
||||
ИдЧата = ВыборкаДетальныеЗаписи.ИдЧата;
|
||||
|
||||
АктуальнаяВерсия = ПолучитьИзКэшаАктуальнуюВерсию(КэшАктуальныхВерсий, Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если АктуальнаяВерсия = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если АктуальнаяВерсия = ВыборкаДетальныеЗаписи.АктуальнаяВерсия Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.Конфигурация = Конфигурация;
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
МенеджерЗаписи.ТекущаяВерсия = ТекущаяВерсия;
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
|
||||
МенеджерЗаписи.Записать();
|
||||
ОбработаноЗаписей = ОбработаноЗаписей + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОбработаноЗаписей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонфигурацияПоИмени(ИмяКонфигурации) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
@@ -175,12 +162,12 @@
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмПользователь.Ссылка КАК Ссылка,
|
||||
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога
|
||||
| ТелеграмПользователи.Ссылка КАК Ссылка,
|
||||
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
|
||||
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|
||||
|ГДЕ
|
||||
| ТелеграмПользователь.id = &ИдЧата";
|
||||
| ТелеграмПользователи.id = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
@@ -189,27 +176,27 @@
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||
Если ПользовательОбъект <> Неопределено Тогда
|
||||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||
ПользовательОбъект.Записать();
|
||||
КонецЕсли;
|
||||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||
Если ПользовательОбъект <> Неопределено Тогда
|
||||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||
ПользовательОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьДанныеПользователя(ИдЧата) Экспорт
|
||||
Функция ДанныеПользователя(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога,
|
||||
| ТелеграмПользователь.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|
||||
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога,
|
||||
| ТелеграмПользователи.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
|
||||
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|
||||
|ГДЕ
|
||||
| ТелеграмПользователь.id = &ИдЧата";
|
||||
| ТелеграмПользователи.id = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
@@ -226,6 +213,118 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокНеактуальныхКонфигурацийДляУведомления() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| УведомленияОНовыхВерсиях.ИдЧата КАК ИдЧата
|
||||
|ПОМЕСТИТЬ ВТ_ЧатыПолучающиеУведомления
|
||||
|ИЗ
|
||||
| РегистрСведений.УведомленияОНовыхВерсиях КАК УведомленияОНовыхВерсиях
|
||||
|ГДЕ
|
||||
| УведомленияОНовыхВерсиях.Периодичность <> ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.НеУведомлять)
|
||||
| И ВЫБОР
|
||||
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждыйЧас)
|
||||
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ЧАС, -1)
|
||||
| ТОГДА ИСТИНА
|
||||
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждыйДень)
|
||||
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, -1)
|
||||
| ТОГДА ИСТИНА
|
||||
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждуюНеделю)
|
||||
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, НЕДЕЛЯ, -1)
|
||||
| ТОГДА ИСТИНА
|
||||
| ИНАЧЕ ЛОЖЬ
|
||||
| КОНЕЦ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ОтслеживаниеВерсийКонфигураций.Конфигурация) КАК КонфигурацияПредставление,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия <> ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия
|
||||
| И ОтслеживаниеВерсийКонфигураций.ИдЧата В
|
||||
| (ВЫБРАТЬ
|
||||
| Т.ИдЧата КАК ИдЧата
|
||||
| ИЗ
|
||||
| ВТ_ЧатыПолучающиеУведомления КАК Т)
|
||||
|ИТОГИ ПО
|
||||
| ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаИдЧата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
|
||||
ДанныеДляУведомлений = Новый Массив;
|
||||
|
||||
Пока ВыборкаИдЧата.Следующий() Цикл
|
||||
ВыборкаДетальныеЗаписи = ВыборкаИдЧата.Выбрать();
|
||||
ДанныеВерсийКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
ВерсииКонфигурации = Новый Структура;
|
||||
ВерсииКонфигурации.Вставить("КонфигурацияПредставление", ВыборкаДетальныеЗаписи.КонфигурацияПредставление);
|
||||
ВерсииКонфигурации.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
|
||||
ВерсииКонфигурации.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
|
||||
РезультатСравнения = СравнитьВерсииКонфигураций(ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
ВерсииКонфигурации.Вставить("РезультатСравнения", РезультатСравнения);
|
||||
ДанныеВерсийКонфигураций.Добавить(ВерсииКонфигурации);
|
||||
КонецЦикла;
|
||||
|
||||
УведомлениеИнформация = Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций);
|
||||
ДанныеДляУведомлений.Добавить(УведомлениеИнформация);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДанныеДляУведомлений;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает результат сравнения двух версий конфигураций: текущей и актуальной.
|
||||
//
|
||||
// Параметры:
|
||||
// ТекущаяВерсия - Строка - версия, установленная у пользователя
|
||||
// АктуальнаяВерсия - Строка - версия, полученная с сайта вендора
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Отрицательное число - текущая версия меньше актуальной
|
||||
// Положительное число - актуальная версия меньше текущей
|
||||
// Ноль - номера версий одинаковые
|
||||
//
|
||||
Функция СравнитьВерсииКонфигураций(ТекущаяВерсия, АктуальнаяВерсия) Экспорт
|
||||
|
||||
НаборГруппТекущаяВерсия = СтрРазделить(ТекущаяВерсия, ".");
|
||||
НаборГруппАктуальнаяВерсия = СтрРазделить(АктуальнаяВерсия, ".");
|
||||
|
||||
Если НаборГруппТекущаяВерсия.Количество() = 0 ИЛИ НаборГруппАктуальнаяВерсия.Количество() = 0 Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
МаксИндексТекущаяВерсия = НаборГруппТекущаяВерсия.ВГраница();
|
||||
МаксИндексАктуальнаяВерсия = НаборГруппАктуальнаяВерсия.ВГраница();
|
||||
|
||||
Для Индекс = 0 По Макс(МаксИндексТекущаяВерсия, МаксИндексАктуальнаяВерсия) Цикл
|
||||
ГруппаТекущаяВерсия = ?(Индекс <= МаксИндексТекущаяВерсия, Число(НаборГруппТекущаяВерсия[Индекс]), 0);
|
||||
ГруппаАктуальнаяВерсия = ?(Индекс <= МаксИндексАктуальнаяВерсия, Число(НаборГруппАктуальнаяВерсия[Индекс]), 0);
|
||||
|
||||
Компаратор = ГруппаТекущаяВерсия - ГруппаАктуальнаяВерсия;
|
||||
Если Компаратор <> 0 Тогда
|
||||
Возврат Компаратор;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -242,34 +341,10 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьИзКэшаАктуальнуюВерсию(Кэш, Конфигурация, ТекущаяВерсия)
|
||||
Функция НовоеСоединениеХТТП(Таймаут = 0)
|
||||
|
||||
СтруктураОтбора = Новый Структура("Конфигурация, ТекущаяВерсия", Конфигурация, ТекущаяВерсия);
|
||||
МассивСтрок = Кэш.НайтиСтроки(СтруктураОтбора);
|
||||
Если МассивСтрок.Количество() <> 0 Тогда
|
||||
Возврат МассивСтрок[0].АктуальнаяВерсия;
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = АктуальнаяВерсияКонфигурации(Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если Ответ.Успех Тогда
|
||||
АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
Если АктуальнаяВерсияССервера = Неопределено Тогда
|
||||
//Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
|
||||
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
|
||||
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации от совпадения текущей и актуальной.
|
||||
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"];
|
||||
Если АктуальнаяВерсияПлатформы <> Неопределено Тогда
|
||||
АктуальнаяВерсияССервера = ТекущаяВерсия;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
НоваяСтрока = Кэш.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтруктураОтбора);
|
||||
НоваяСтрока.АктуальнаяВерсия = АктуальнаяВерсияССервера;
|
||||
Возврат АктуальнаяВерсияССервера;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
Возврат Новый HTTPСоединение("update-api.1c.ru", 443, , , , ?(Таймаут > 0, Таймаут, 15),
|
||||
Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
|
||||
|
||||
|
||||
@@ -9,14 +9,15 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если РежимРазметки <> Неопределено Тогда
|
||||
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
|
||||
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML
|
||||
ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
|
||||
ТелоЗапроса.Вставить("parse_mode", Строка(РежимРазметки));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ТелоЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -24,35 +25,38 @@
|
||||
|
||||
ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция DeleteWebhook() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetWebhookInfo() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetUpdates() Экспорт
|
||||
Функция GetUpdates(Таймаут = 0) Экспорт
|
||||
|
||||
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0,0,
|
||||
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
Смещение = ? (ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() = 0, 0,
|
||||
Формат(ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
||||
Если Таймаут > 0 Тогда
|
||||
ПараметрыЗапроса.Вставить("timeout", Таймаут);
|
||||
КонецЕсли;
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП(Таймаут);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -60,16 +64,16 @@
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
|
||||
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetMe() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getMe");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -77,10 +81,10 @@
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("sendDocument");
|
||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель);
|
||||
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Разделитель, Надпись, БезУведомления);
|
||||
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ДанныеДокумента);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -98,8 +102,8 @@
|
||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||
ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
|
||||
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -119,12 +123,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Надпись = Неопределено, БезУведомления = Ложь, Разделитель)
|
||||
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Разделитель, Надпись = Неопределено, БезУведомления = Ложь)
|
||||
|
||||
//Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
|
||||
// Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
|
||||
// Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса.
|
||||
|
||||
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла") И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
|
||||
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла")
|
||||
И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
|
||||
ВызватьИсключение "Неверный параметр Документ: ожидается непустой объект, содержащий двоичные данные";
|
||||
КонецЕсли;
|
||||
|
||||
@@ -162,7 +167,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено, ТипСодержимого = Неопределено)
|
||||
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено,
|
||||
ТипСодержимого = Неопределено)
|
||||
|
||||
Если Значение = Неопределено Тогда
|
||||
Возврат;
|
||||
@@ -170,10 +176,11 @@
|
||||
|
||||
ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель);
|
||||
Если ИмяФайла <> Неопределено Тогда
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("Content-Disposition: form-data; name=%1; filename=%2", ИмяПараметра, ИмяФайла));
|
||||
СтрокаДляЗаписи = СтрШаблон("Content-Disposition: form-data; name=%1; filename=%2", ИмяПараметра, ИмяФайла);
|
||||
Иначе
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("Content-Disposition: form-data; name=%1", ИмяПараметра));
|
||||
СтрокаДляЗаписи = СтрШаблон("Content-Disposition: form-data; name=%1", ИмяПараметра);
|
||||
КонецЕсли;
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрокаДляЗаписи);
|
||||
|
||||
Если ТипСодержимого <> Неопределено Тогда
|
||||
ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("Content-Type: %1", ТипСодержимого));
|
||||
@@ -203,4 +210,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовоеСоединениеХТТП(Таймаут = 0)
|
||||
|
||||
Возврат Новый HTTPСоединение("api.telegram.org", 443, , , , ?(Таймаут > 0, Таймаут, 15),
|
||||
Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -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/>
|
||||
@@ -5,9 +5,9 @@
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ЕСТЬNULL(МАКСИМУМ(ТелеграмСообщения.ИдСообщения), 0) КАК ИдСообщения
|
||||
| ЕСТЬNULL(МАКСИМУМ(ТелеграмИсторияСообщений.ИдСообщения), 0) КАК ИдСообщения
|
||||
|ИЗ
|
||||
| РегистрСведений.ТелеграмСообщения КАК ТелеграмСообщения";
|
||||
| РегистрСведений.ТелеграмИсторияСообщений КАК ТелеграмИсторияСообщений";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
@@ -21,34 +21,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить обновления, пришедшие от вебхука и сохранить в базу
|
||||
Процедура ОбработатьИСохранитьОбновленияТелеграм(ТелоЗапроса) Экспорт
|
||||
|
||||
ДанныеОбновления = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
|
||||
Если ДанныеОбновления = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоМассивОбновлений(ДанныеОбновления) Тогда
|
||||
МассивОбновлений = ДанныеОбновления["result"];
|
||||
Для каждого Обновление Из МассивОбновлений Цикл
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
||||
СохранитьСообщениеВБазу(ПараметрыСообщения);
|
||||
КонецЦикла;
|
||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||
СохранитьСообщениеВБазу(ПараметрыСообщения);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОбновленияТелеграм(ТелоЗапроса) Экспорт
|
||||
|
||||
Если ТипЗнч(ТелоЗапроса) = Тип("Соответствие") Тогда
|
||||
ДанныеОбновления = ТелоЗапроса;
|
||||
ИначеЕсли ТипЗнч(ТелоЗапроса) = Тип("Строка") Тогда
|
||||
ДанныеОбновления = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
ДанныеОбновления = ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
@@ -62,22 +40,190 @@
|
||||
Если ЭтоМассивОбновлений(ДанныеОбновления) Тогда
|
||||
МассивОбновлений = ДанныеОбновления["result"];
|
||||
Для каждого Обновление Из МассивОбновлений Цикл
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||
ПараметрыСообщения = ПараметрыСообщения(Обновление);
|
||||
Если ПараметрыСообщения <> Неопределено Тогда
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
||||
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
||||
ПараметрыСообщения = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
||||
ПараметрыСообщения = ПараметрыСообщения(ДанныеОбновления);
|
||||
Если ПараметрыСообщения <> Неопределено Тогда
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
|
||||
КонецЕсли;
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат МассивСообщенийТелеграм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ТелеграмИсторияСообщений.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураСообщения);
|
||||
Если СтруктураСообщения.Свойство("ИдКоллбэкЗапроса") Тогда
|
||||
МенеджерЗаписи.ИдСообщения = СтруктураСообщения.ИдКоллбэкЗапроса;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
||||
|
||||
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, , Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеДокументаПоИд(ИдДокумента) Экспорт
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetFile(ИдДокумента);
|
||||
|
||||
Если Ответ.Успех И Ответ.Тело.Получить("result") <> Неопределено Тогда
|
||||
Возврат ПолучитьФайлССервераТелеграм(Ответ.Тело["result"]["file_path"]);
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ЭтоМассивОбновлений(СоответствиеОбновления)
|
||||
|
||||
Результат = СоответствиеОбновления.Получить("ok");
|
||||
|
||||
Если Результат <> Неопределено Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОдиночноеОбновление(СоответствиеОбновления)
|
||||
|
||||
ИдОбновления = СоответствиеОбновления.Получить("update_id");
|
||||
Сообщение = СоответствиеОбновления.Получить("message");
|
||||
КоллбэкЗапрос = СоответствиеОбновления.Получить("callback_query");
|
||||
|
||||
Если ИдОбновления <> Неопределено И (Сообщение <> Неопределено ИЛИ КоллбэкЗапрос <> Неопределено) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АвторСообщения(СоответствиеОт)
|
||||
|
||||
Если СоответствиеОт.Получить("id") = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмПользователи.НеОпределен;
|
||||
КонецЕсли;
|
||||
|
||||
Автор = Справочники.ТелеграмПользователи.НайтиПоРеквизиту("id", СоответствиеОт["id"]);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Автор) Тогда
|
||||
НовыйПользователь = Справочники.ТелеграмПользователи.СоздатьЭлемент();
|
||||
НовыйПользователь.Наименование = СоответствиеОт["first_name"];
|
||||
НовыйПользователь.id = СоответствиеОт["id"];
|
||||
НовыйПользователь.last_name = СоответствиеОт["last_name"];
|
||||
НовыйПользователь.username = СоответствиеОт["username"];
|
||||
НовыйПользователь.Записать();
|
||||
Автор = НовыйПользователь.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Автор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТелеграмСообщение(СообщениеДляОбработки, Автор)
|
||||
|
||||
ИдСообщения = СообщениеДляОбработки.Получить("message_id");
|
||||
|
||||
Если ИдСообщения = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмСообщения.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
ИтоговоеСообщение = Справочники.ТелеграмСообщения.НайтиПоРеквизиту("id", ИдСообщения);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИтоговоеСообщение) Тогда
|
||||
НовоеСообщение = Справочники.ТелеграмСообщения.СоздатьЭлемент();
|
||||
НовоеСообщение.Наименование = "Сообщение № " + ИдСообщения + " от " + Автор;
|
||||
НовоеСообщение.id = ИдСообщения;
|
||||
НовоеСообщение.Автор = Автор;
|
||||
Если СообщениеДляОбработки.Получить("text") <> Неопределено Тогда
|
||||
НовоеСообщение.text = СообщениеДляОбработки["text"];
|
||||
КонецЕсли;
|
||||
Если СообщениеДляОбработки.Получить("document") <> Неопределено Тогда
|
||||
НовоеСообщение.document = СформироватьДокумент(СообщениеДляОбработки["document"]);
|
||||
КонецЕсли;
|
||||
НовоеСообщение.date = TimeStampToDate(СообщениеДляОбработки["date"]);
|
||||
НовоеСообщение.Записать();
|
||||
ИтоговоеСообщение = НовоеСообщение.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИтоговоеСообщение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьДокумент(СоответствиеДокумент)
|
||||
|
||||
ИдДокумента = СоответствиеДокумент.Получить("file_unique_id");
|
||||
|
||||
Если ИдДокумента = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмДокументы.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
ИтоговыйДокумент = Справочники.ТелеграмДокументы.НайтиПоРеквизиту("id", ИдДокумента);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИтоговыйДокумент) Тогда
|
||||
НовыйДокумент = Справочники.ТелеграмДокументы.СоздатьЭлемент();
|
||||
НовыйДокумент.Наименование = СоответствиеДокумент["file_name"];
|
||||
НовыйДокумент.id = ИдДокумента;
|
||||
|
||||
НовыйДокумент.file_name = СоответствиеДокумент["file_name"];
|
||||
НовыйДокумент.mime_type = СоответствиеДокумент["mime_type"];
|
||||
НовыйДокумент.file_size = СоответствиеДокумент["file_size"];
|
||||
|
||||
ДанныеДокумента = ДанныеДокументаПоИд(СоответствиеДокумент["file_id"]);
|
||||
Если ДанныеДокумента <> Неопределено Тогда
|
||||
НовыйДокумент.ДанныеФайла = Новый ХранилищеЗначения(ДанныеДокумента);
|
||||
КонецЕсли;
|
||||
|
||||
НовыйДокумент.Записать();
|
||||
ИтоговыйДокумент = НовыйДокумент.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИтоговыйДокумент;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция TimeStampToDate(ЮниксТайм)
|
||||
|
||||
Возврат Дата(1970, 1, 1, 1, 0, 0) + СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + ЮниксТайм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыСообщения(ДанныеОбновления)
|
||||
|
||||
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
||||
Результат = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
||||
Результат = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
||||
Иначе
|
||||
Результат = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтруктураСообщенияТелеграм(Обновление)
|
||||
|
||||
ДанныеСообщения = Обновление["message"];
|
||||
@@ -127,152 +273,4 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураСообщения);
|
||||
МенеджерЗаписи.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
||||
|
||||
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса,, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеДокументаПоИд(ИдДокумента) Экспорт
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetFile(ИдДокумента);
|
||||
|
||||
Если Ответ.Успех И Ответ.Тело.Получить("result") <> Неопределено Тогда
|
||||
Возврат ПолучитьФайлССервераТелеграм(Ответ.Тело["result"]["file_path"]);
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ЭтоМассивОбновлений(СоответствиеОбновления)
|
||||
|
||||
Результат = СоответствиеОбновления.Получить("ok");
|
||||
|
||||
Если Результат <> Неопределено Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОдиночноеОбновление(СоответствиеОбновления)
|
||||
|
||||
ИдОбновления = СоответствиеОбновления.Получить("update_id");
|
||||
Сообщение = СоответствиеОбновления.Получить("message");
|
||||
КоллбэкЗапрос = СоответствиеОбновления.Получить("callback_query");
|
||||
|
||||
Если ИдОбновления <> Неопределено И (Сообщение <> Неопределено ИЛИ КоллбэкЗапрос <> Неопределено) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АвторСообщения(СоответствиеОт)
|
||||
|
||||
Если СоответствиеОт.Получить("id") = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмПользователь.НеОпределен;
|
||||
КонецЕсли;
|
||||
|
||||
Автор = Справочники.ТелеграмПользователь.НайтиПоРеквизиту("id", СоответствиеОт["id"]);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Автор) Тогда
|
||||
НовыйПользователь = Справочники.ТелеграмПользователь.СоздатьЭлемент();
|
||||
НовыйПользователь.Наименование = СоответствиеОт["first_name"];
|
||||
НовыйПользователь.id = СоответствиеОт["id"];
|
||||
НовыйПользователь.last_name = СоответствиеОт["last_name"];
|
||||
НовыйПользователь.username = СоответствиеОт["username"];
|
||||
НовыйПользователь.Записать();
|
||||
Автор = НовыйПользователь.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Автор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТелеграмСообщение(СообщениеДляОбработки, Автор)
|
||||
|
||||
ИдСообщения = СообщениеДляОбработки.Получить("message_id");
|
||||
|
||||
Если ИдСообщения = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмСообщение.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
ИтоговоеСообщение = Справочники.ТелеграмСообщение.НайтиПоРеквизиту("id", ИдСообщения);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИтоговоеСообщение) Тогда
|
||||
НовоеСообщение = Справочники.ТелеграмСообщение.СоздатьЭлемент();
|
||||
НовоеСообщение.Наименование = "Сообщение № " + ИдСообщения + " от " + Автор;
|
||||
НовоеСообщение.id = ИдСообщения;
|
||||
НовоеСообщение.Автор = Автор;
|
||||
Если СообщениеДляОбработки.Получить("text") <> Неопределено Тогда
|
||||
НовоеСообщение.text = СообщениеДляОбработки["text"];
|
||||
КонецЕсли;
|
||||
Если СообщениеДляОбработки.Получить("document") <> Неопределено Тогда
|
||||
НовоеСообщение.document = СформироватьДокумент(СообщениеДляОбработки["document"]);
|
||||
КонецЕсли;
|
||||
НовоеСообщение.date = TimeStampToDate(СообщениеДляОбработки["date"]);
|
||||
НовоеСообщение.Записать();
|
||||
ИтоговоеСообщение = НовоеСообщение.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИтоговоеСообщение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьДокумент(СоответствиеДокумент)
|
||||
|
||||
ИдДокумента = СоответствиеДокумент.Получить("file_unique_id");
|
||||
|
||||
Если ИдДокумента = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмДокумент.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
ИтоговыйДокумент = Справочники.ТелеграмДокумент.НайтиПоРеквизиту("id", ИдДокумента);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИтоговыйДокумент) Тогда
|
||||
НовыйДокумент = Справочники.ТелеграмДокумент.СоздатьЭлемент();
|
||||
НовыйДокумент.Наименование = СоответствиеДокумент["file_name"];
|
||||
НовыйДокумент.id = ИдДокумента;
|
||||
|
||||
НовыйДокумент.file_name = СоответствиеДокумент["file_name"];
|
||||
НовыйДокумент.mime_type = СоответствиеДокумент["mime_type"];
|
||||
НовыйДокумент.file_size = СоответствиеДокумент["file_size"];
|
||||
|
||||
ДанныеДокумента = ДанныеДокументаПоИд(СоответствиеДокумент["file_id"]);
|
||||
Если ДанныеДокумента <> Неопределено Тогда
|
||||
НовыйДокумент.ДанныеФайла = Новый ХранилищеЗначения(ДанныеДокумента);
|
||||
КонецЕсли;
|
||||
|
||||
НовыйДокумент.Записать();
|
||||
ИтоговыйДокумент = НовыйДокумент.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИтоговыйДокумент;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция TimeStampToDate(ЮниксТайм)
|
||||
|
||||
Возврат Дата(1970,1,1,1,0,0) + СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + ЮниксТайм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -14,7 +14,7 @@
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DuringSession</ReturnValuesReuse>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ТелеграмТокен() Экспорт
|
||||
|
||||
@@ -6,10 +6,18 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЛогироватьHttpЗапросы() Экспорт
|
||||
Функция ЛогироватьХТТПЗапросы() Экспорт
|
||||
|
||||
Возврат Константы.ЛогироватьHttpЗапросы.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СинонимПеречисления(ЗначениеПеречисления) Экспорт
|
||||
|
||||
ИмяПеречисления = ЗначениеПеречисления.Метаданные().Имя;
|
||||
ИндексЗначенияПеречисления = Перечисления[ИмяПеречисления].Индекс(ЗначениеПеречисления);
|
||||
Возврат Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначенияПеречисления].Синоним;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
|
||||
|
||||
@@ -78,17 +79,12 @@
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
МассивРядов = Новый Массив;
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
Если Подписка = Неопределено
|
||||
ИЛИ (Подписка И ПунктМенюПодписки.Подписка)
|
||||
ИЛИ (НЕ Подписка И НЕ ПунктМенюПодписки.Подписка) Тогда
|
||||
Для каждого Конфигурация Из СписокКонфигураций Цикл
|
||||
Если НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация) Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
|
||||
ПунктМенюПодписки.Наименование
|
||||
,
|
||||
,
|
||||
СтрШаблон("%1 %2", Команда, ПунктМенюПодписки.Имя)
|
||||
));
|
||||
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(Конфигурация.Наименование, ,
|
||||
СтрШаблон("%1 %2", Команда, Конфигурация.Имя));
|
||||
МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -97,6 +93,33 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МассивРядовСПериодамиОповещения(ИдЧата, Команда) Экспорт
|
||||
|
||||
МассивРядов = Новый Массив;
|
||||
|
||||
Для каждого ЗначениеПериода Из Метаданные.Перечисления.ПериодичностьУведомлений.ЗначенияПеречисления Цикл
|
||||
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(ЗначениеПериода.Синоним, ,
|
||||
СтрШаблон("%1 %2", Команда, ЗначениеПериода.Имя));
|
||||
Если ЗначениеПериода.Имя <> "НеУведомлять" Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивРядов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация)
|
||||
|
||||
Возврат Подписка = Неопределено ИЛИ (Подписка И Конфигурация.Подписка) ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Получить обновления и обработать их по расписанию
|
||||
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
|
||||
|
||||
// Проверка установлен ли вебхук
|
||||
Ответ = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелеграмМетодыВызовСервера.GetWebhookInfo());
|
||||
Если Ответ["ok"] И ЗначениеЗаполнено(Ответ["result"]["url"]) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ТелеграмМетодыВызовСервера.DeleteWebhook();
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
||||
Если Ответ <> Неопределено Тогда
|
||||
МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ);
|
||||
Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text)
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Пока Истина Цикл
|
||||
Если Константы.ТелеграмИспользоватьВебХук.Получить() Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates(30);
|
||||
Если Ответ.Успех Тогда
|
||||
БотОбщегоНазначения.ОбработкаКомандыБота(Ответ.Тело);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
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="0b8f8a9c-1ef3-45e8-b342-e6956990e2af">
|
||||
<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>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,16 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ЗапускПроверкиОбновлений() Экспорт
|
||||
|
||||
Если НЕ ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда
|
||||
Попытка
|
||||
ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию", ,"GetTelegramUpdatesLongPolling");
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2,7 +2,7 @@
|
||||
<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="efcaabde-708f-4990-928d-8c4c280e6352">
|
||||
<Properties>
|
||||
<Name>HttpОбщегоНазначенияВызовСервера</Name>
|
||||
<Name>ХТТПОбщегоНазначенияВызовСервера</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -14,12 +14,12 @@
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый HTTPЗапрос(АдресРесурса);
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
Запрос.Заголовки.Вставить("Content-Type", "application/json");
|
||||
Ответ = Соединение.Получить(Запрос);
|
||||
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
|
||||
|
||||
РезультатЗапроса.Тело = ?(ДвоичныеДанные, Ответ.ПолучитьТелоКакДвоичныеДанные(),
|
||||
HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
|
||||
ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
|
||||
|
||||
Если НЕ ДвоичныеДанные И РезультатЗапроса.Тело.Получить("description") <> Неопределено Тогда
|
||||
РезультатЗапроса.Описание = РезультатЗапроса.Тело["description"];
|
||||
@@ -29,18 +29,19 @@
|
||||
Если КодСостояния = 200 Тогда
|
||||
РезультатЗапроса.Успех = Истина;
|
||||
Иначе
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния,
|
||||
РезультатЗапроса.Описание));
|
||||
КонецЕсли;
|
||||
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
РезультатЗапроса.Успех = Ложь;
|
||||
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, РезультатЗапроса.Описание);
|
||||
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
|
||||
+ ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
|
||||
КонецПопытки;
|
||||
|
||||
Возврат РезультатЗапроса;
|
||||
@@ -66,38 +67,40 @@
|
||||
Запрос.Заголовки.Вставить("Content-Length", Формат(Данные.ДвоичныеДанные.Размер(), "ЧН=0; ЧГ="));
|
||||
Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Данные.Разделитель);
|
||||
Иначе
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
Запрос.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
|
||||
Запрос.Заголовки.Вставить("Content-Type", "application/json");
|
||||
Запрос.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
Запрос.Заголовки.Вставить("Content-Type", "application/json");
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
|
||||
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
|
||||
|
||||
ТелоДляОтвета = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
|
||||
ТелоДляОтвета = ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
|
||||
Если ТелоДляОтвета <> Неопределено Тогда
|
||||
РезультатЗапроса.Тело = ТелоДляОтвета;
|
||||
РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено, ТелоДляОтвета["description"], "");
|
||||
РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено,
|
||||
ТелоДляОтвета["description"], "");
|
||||
КонецЕсли;
|
||||
|
||||
КодСостояния = Ответ.КодСостояния;
|
||||
Если КодСостояния = 200 Тогда
|
||||
РезультатЗапроса.Успех = Истина;
|
||||
Иначе
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния,
|
||||
РезультатЗапроса.Описание));
|
||||
КонецЕсли;
|
||||
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния);
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
РезультатЗапроса.Успех = Ложь;
|
||||
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, РезультатЗапроса.Описание);
|
||||
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
|
||||
+ ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
|
||||
КонецПопытки;
|
||||
|
||||
Возврат РезультатЗапроса;
|
||||
@@ -117,8 +120,8 @@
|
||||
ЧтениеJSON.Закрыть();
|
||||
Возврат ИтоговоеСоответствие;
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка,,,Ошибка);
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Неопределено;
|
||||
@@ -131,7 +134,6 @@
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ЗаписьJSON = Новый ЗаписьJSON;
|
||||
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(, Символы.Таб);
|
||||
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
|
||||
@@ -139,8 +141,8 @@
|
||||
ЗаписатьJSON(ЗаписьJSON, Объект);
|
||||
Возврат ЗаписьJSON.Закрыть();
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка,,,Ошибка);
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Возврат "";
|
||||
@@ -164,23 +166,23 @@
|
||||
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
|
||||
СтруктураОтвета = Новый Структура("result, description", "error", КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
СтруктураОтвета = Новый Структура("result, description", "error",
|
||||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
Возврат ОтветJson(СтруктураОтвета, 500);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ОтветJson(Объект, КодСостояния)
|
||||
|
||||
Ответ = Новый HTTPСервисОтвет(КодСостояния);
|
||||
Ответ.Заголовки.Вставить("Content-Type","application/json");
|
||||
Ответ.Заголовки.Вставить("Content-Type", "application/json");
|
||||
Ответ.УстановитьТелоИзСтроки(ОбъектВСтрокуJson(Объект));
|
||||
|
||||
Возврат Ответ;
|
||||
@@ -209,12 +211,12 @@
|
||||
|
||||
АдресРесурса = СтрЗаменить(АдресРесурса, Константы.ТелеграмТокен.Получить(), "#token#");
|
||||
|
||||
Лог = Документы.ЛогHttpЗапроса.СоздатьДокумент();
|
||||
Лог = Документы.ЛогиХТТПЗапросов.СоздатьДокумент();
|
||||
Лог.Дата = ТекущаяДатаСеанса();
|
||||
Лог.HTTPЗапрос = АдресРесурса;
|
||||
Лог.Запрос = АдресРесурса;
|
||||
Лог.Метод = Метод;
|
||||
Лог.КодСостояния = КодСостояния;
|
||||
Лог.HTTPОтвет = HttpОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
|
||||
Лог.Ответ = ХТТПОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
|
||||
Лог.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -247,36 +247,46 @@
|
||||
<Language>Русский</Language>
|
||||
<Subsystem>ТелеграмБот</Subsystem>
|
||||
<Subsystem>Обновления</Subsystem>
|
||||
<Subsystem>Администрирование</Subsystem>
|
||||
<CommonPicture>КартинкаБот</CommonPicture>
|
||||
<CommonModule>HttpОбщегоНазначенияВызовСервера</CommonModule>
|
||||
<Role>ПолныеПрава</Role>
|
||||
<Role>АдминистраторСистемы</Role>
|
||||
<Role>ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</Role>
|
||||
<CommonModule>ХТТПОбщегоНазначенияВызовСервера</CommonModule>
|
||||
<CommonModule>БотОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ОбновленияРегламент</CommonModule>
|
||||
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
||||
<CommonModule>РаботаСОбновлениямиВызовСервера</CommonModule>
|
||||
<CommonModule>РаботаСФайламиКлиентСервер</CommonModule>
|
||||
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
|
||||
<CommonModule>ТелеграмОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ТелеграмОбщегоНазначенияВызовСервера</CommonModule>
|
||||
<CommonModule>ТелеграмПовторноеИспользование</CommonModule>
|
||||
<CommonModule>ТелеграмРаботаСКлавиатурой</CommonModule>
|
||||
<CommonModule>ТелеграмРегламент</CommonModule>
|
||||
<CommonModule>БотОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
||||
<HTTPService>HTTPСервис_Telegram</HTTPService>
|
||||
<ScheduledJob>ПроверкаОбновленийТелеграм</ScheduledJob>
|
||||
<CommonModule>ТелеграмРегламентВызовСервера</CommonModule>
|
||||
<HTTPService>СервисТелеграм</HTTPService>
|
||||
<ScheduledJob>ПроверкаАктуальностиКонфигураций</ScheduledJob>
|
||||
<FunctionalOption>ТелеграмИспользоватьВебХук</FunctionalOption>
|
||||
<Constant>ТелеграмТокен</Constant>
|
||||
<Constant>ТелеграмВебХук</Constant>
|
||||
<Constant>ЛогироватьHttpЗапросы</Constant>
|
||||
<CommonForm>ТелеграмВебХук</CommonForm>
|
||||
<Catalog>ТелеграмПользователь</Catalog>
|
||||
<Catalog>ТелеграмСообщение</Catalog>
|
||||
<Catalog>ТелеграмДокумент</Catalog>
|
||||
<Constant>ТелеграмИспользоватьВебХук</Constant>
|
||||
<Constant>НачальноеЗаполнениеВыполнено</Constant>
|
||||
<CommonForm>Настройки</CommonForm>
|
||||
<Catalog>ТелеграмПользователи</Catalog>
|
||||
<Catalog>ТелеграмСообщения</Catalog>
|
||||
<Catalog>ТелеграмДокументы</Catalog>
|
||||
<Catalog>Конфигурации</Catalog>
|
||||
<Document>ЛогHttpЗапроса</Document>
|
||||
<Enum>МетодHTTPЗапроса</Enum>
|
||||
<Document>ЛогиХТТПЗапросов</Document>
|
||||
<Enum>МетодХТТПЗапроса</Enum>
|
||||
<Enum>ТелеграмРежимРазметки</Enum>
|
||||
<Enum>ТелеграмСтатусДиалога</Enum>
|
||||
<Enum>ВидыДанныхКоллбэков</Enum>
|
||||
<DataProcessor>РаботаССообщениями</DataProcessor>
|
||||
<DataProcessor>РаботаСОбновлениями</DataProcessor>
|
||||
<InformationRegister>ТелеграмСообщения</InformationRegister>
|
||||
<Enum>ВидыДанныхОбратныхВызовов</Enum>
|
||||
<Enum>ПериодичностьУведомлений</Enum>
|
||||
<DataProcessor>НачальноеЗаполнениеДанных</DataProcessor>
|
||||
<InformationRegister>ТелеграмИсторияСообщений</InformationRegister>
|
||||
<InformationRegister>ОтслеживаниеВерсийКонфигураций</InformationRegister>
|
||||
<InformationRegister>УведомленияОНовыхВерсиях</InformationRegister>
|
||||
</ChildObjects>
|
||||
</Configuration>
|
||||
</MetaDataObject>
|
||||
@@ -27,7 +27,7 @@
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<UseStandardCommands>false</UseStandardCommands>
|
||||
<DefaultForm/>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
|
||||
58
src/cf/Constants/НачальноеЗаполнениеВыполнено.xml
Normal file
58
src/cf/Constants/НачальноеЗаполнениеВыполнено.xml
Normal file
@@ -0,0 +1,58 @@
|
||||
<?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">
|
||||
<Constant uuid="443664ab-523b-44a0-bd39-3bdfba215113">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="ConstantManager.НачальноеЗаполнениеВыполнено" category="Manager">
|
||||
<xr:TypeId>daee5ccf-9121-4c23-9f60-1e96fc9edbe5</xr:TypeId>
|
||||
<xr:ValueId>294e80f1-f93d-4bee-98b4-b7e41f72b54d</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="ConstantValueManager.НачальноеЗаполнениеВыполнено" category="ValueManager">
|
||||
<xr:TypeId>0db0a252-b2e0-4689-9b34-0ce61b8ddc3a</xr:TypeId>
|
||||
<xr:ValueId>649d5178-b02c-4425-bc5c-a0d4b431d2e7</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="ConstantValueKey.НачальноеЗаполнениеВыполнено" category="ValueKey">
|
||||
<xr:TypeId>40ee8abe-1064-4ca4-9e1a-c2086fcfa797</xr:TypeId>
|
||||
<xr:ValueId>980981e0-7957-48bb-9485-d0533ab0611e</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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>
|
||||
<UseStandardCommands>false</UseStandardCommands>
|
||||
<DefaultForm/>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip/>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<DataLockControlMode>Managed</DataLockControlMode>
|
||||
<DataHistory>DontUse</DataHistory>
|
||||
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||
</Properties>
|
||||
</Constant>
|
||||
</MetaDataObject>
|
||||
@@ -31,8 +31,8 @@
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<DefaultForm>CommonForm.ТелеграмВебХук</DefaultForm>
|
||||
<UseStandardCommands>false</UseStandardCommands>
|
||||
<DefaultForm/>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
|
||||
58
src/cf/Constants/ТелеграмИспользоватьВебХук.xml
Normal file
58
src/cf/Constants/ТелеграмИспользоватьВебХук.xml
Normal file
@@ -0,0 +1,58 @@
|
||||
<?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">
|
||||
<Constant uuid="c8ca36f3-ed9b-4dbb-bbec-82bc51ae3ff3">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="ConstantManager.ТелеграмИспользоватьВебХук" category="Manager">
|
||||
<xr:TypeId>9912d333-64ab-49bf-a71a-87474c019bea</xr:TypeId>
|
||||
<xr:ValueId>ffdfad80-3e08-4abc-9e41-fc787988d12a</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="ConstantValueManager.ТелеграмИспользоватьВебХук" category="ValueManager">
|
||||
<xr:TypeId>12109e6a-54b7-494c-94ec-dc4fbc1dbbd0</xr:TypeId>
|
||||
<xr:ValueId>7023cb97-365d-4772-8087-3afa07f0c4a3</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="ConstantValueKey.ТелеграмИспользоватьВебХук" category="ValueKey">
|
||||
<xr:TypeId>13a35c4a-835b-4f75-a0a3-e15f7af2dc08</xr:TypeId>
|
||||
<xr:ValueId>7c1ee7cc-e485-447d-b999-bf52bf1343c1</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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>
|
||||
<UseStandardCommands>false</UseStandardCommands>
|
||||
<DefaultForm/>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip/>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<DataLockControlMode>Managed</DataLockControlMode>
|
||||
<DataHistory>DontUse</DataHistory>
|
||||
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||
</Properties>
|
||||
</Constant>
|
||||
</MetaDataObject>
|
||||
@@ -31,7 +31,7 @@
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<UseStandardCommands>false</UseStandardCommands>
|
||||
<DefaultForm/>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
<?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="6a6de453-1c7e-4af2-9ed7-b9b7e86af49a">
|
||||
<DataProcessor uuid="155c92fe-5a0f-4b5a-9251-8f7187b8f8a6">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="DataProcessorObject.РаботаСОбновлениями" category="Object">
|
||||
<xr:TypeId>d03df4e7-3d99-41bc-80a9-2aa356d9f81e</xr:TypeId>
|
||||
<xr:ValueId>888ddf20-8cde-4fa1-9984-ba1c5680b5ff</xr:ValueId>
|
||||
<xr:GeneratedType name="DataProcessorObject.НачальноеЗаполнениеДанных" category="Object">
|
||||
<xr:TypeId>f6d22c74-3f20-4aec-81c6-a9f6dceea5f0</xr:TypeId>
|
||||
<xr:ValueId>ee8a7198-3478-4b4c-b421-23f2818fad0b</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DataProcessorManager.РаботаСОбновлениями" category="Manager">
|
||||
<xr:TypeId>f0d25f79-1825-46a9-ae42-59c02e02df69</xr:TypeId>
|
||||
<xr:ValueId>f9356985-f1dc-4bdc-a11c-d30b4656a52b</xr:ValueId>
|
||||
<xr:GeneratedType name="DataProcessorManager.НачальноеЗаполнениеДанных" category="Manager">
|
||||
<xr:TypeId>b721b5f6-2068-4461-8368-e63a275a5f61</xr:TypeId>
|
||||
<xr:ValueId>9d497305-5abe-42e2-8945-bccfa03998bd</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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/>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<DefaultForm>DataProcessor.РаботаСОбновлениями.Form.Форма</DefaultForm>
|
||||
<DefaultForm>DataProcessor.НачальноеЗаполнениеДанных.Form.Форма</DefaultForm>
|
||||
<AuxiliaryForm/>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<ExtendedPresentation/>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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="8f9f0e37-0f05-451c-b8a9-602ea9193afc">
|
||||
<Form uuid="2357a0a6-0f8a-4b97-ada8-ee23eae78138">
|
||||
<Properties>
|
||||
<Name>Форма</Name>
|
||||
<Synonym>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?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="ПровестиИнициализацию" id="1">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.ПровестиИнициализацию</CommandName>
|
||||
<ExtendedTooltip name="ПровестиИнициализациюРасширеннаяПодсказка" 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="ПровестиИнициализацию" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Провести инициализацию</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Провести инициализацию</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ПровестиИнициализацию</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
@@ -0,0 +1,132 @@
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПровестиИнициализацию(Команда)
|
||||
|
||||
Если НачальноеЗаполнениеВыполнено() И СлужебныеСтруктурыПроинициализированы() Тогда
|
||||
СообщениеПользователю("Данные уже проинициализированы.");
|
||||
Возврат;
|
||||
ИначеЕсли СлужебныеСтруктурыПроинициализированы() Тогда
|
||||
СообщениеПользователю("Данные уже проинициализированы.");
|
||||
НачальноеЗаполнениеВыполненоУстановить(Истина);
|
||||
Возврат;
|
||||
Иначе
|
||||
ПровестиИнициализациюНаСервере();
|
||||
СообщениеПользователю("Данные проинициализированы успешно.");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ПровестиИнициализациюНаСервере()
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
ЗаполнитьСправочникКонфигурацииНачальнымиДанными();
|
||||
НачальноеЗаполнениеВыполненоУстановить(Истина);
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ЗаписьЖурналаРегистрации("Обработка начального заполнения.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция СлужебныеСтруктурыПроинициализированы()
|
||||
|
||||
Результат = Ложь;
|
||||
Если СправочникКонфигурацииЗаполненНачальнымиДанными() Тогда
|
||||
Результат = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция СправочникКонфигурацииЗаполненНачальнымиДанными()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Конфигурации.Имя КАК Имя
|
||||
|ИЗ
|
||||
| Справочник.Конфигурации КАК Конфигурации
|
||||
|ГДЕ
|
||||
| Конфигурации.Имя В(&ИменаКонфигураций)";
|
||||
|
||||
ИменаКонфигураций = Новый Массив;
|
||||
ИменаКонфигураций.Добавить("Accounting");
|
||||
ИменаКонфигураций.Добавить("HRM");
|
||||
ИменаКонфигураций.Добавить("ARAutomation");
|
||||
ИменаКонфигураций.Добавить("SmallBusiness");
|
||||
|
||||
Запрос.УстановитьПараметр("ИменаКонфигураций", ИменаКонфигураций);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Возврат ВыборкаДетальныеЗаписи.Количество() = ИменаКонфигураций.Количество();
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ЗаполнитьСправочникКонфигурацииНачальнымиДанными()
|
||||
|
||||
НовыйСправочник = Справочники.Конфигурации.СоздатьЭлемент();
|
||||
НовыйСправочник.Наименование = "Комплексная автоматизация";
|
||||
НовыйСправочник.Имя = "ARAutomation";
|
||||
НовыйСправочник.Код = "000000001";
|
||||
НовыйСправочник.Записать();
|
||||
|
||||
НовыйСправочник = Справочники.Конфигурации.СоздатьЭлемент();
|
||||
НовыйСправочник.Наименование = "Зарплата и управление персоналом";
|
||||
НовыйСправочник.Имя = "HRM";
|
||||
НовыйСправочник.Код = "000000002";
|
||||
НовыйСправочник.Записать();
|
||||
|
||||
НовыйСправочник = Справочники.Конфигурации.СоздатьЭлемент();
|
||||
НовыйСправочник.Наименование = "Бухгалтерия предприятия";
|
||||
НовыйСправочник.Имя = "Accounting";
|
||||
НовыйСправочник.Код = "000000003";
|
||||
НовыйСправочник.Записать();
|
||||
|
||||
НовыйСправочник = Справочники.Конфигурации.СоздатьЭлемент();
|
||||
НовыйСправочник.Наименование = "Управление нашей фирмой";
|
||||
НовыйСправочник.Имя = "SmallBusiness";
|
||||
НовыйСправочник.Код = "000000004";
|
||||
НовыйСправочник.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СообщениеПользователю(ТекстСообщения)
|
||||
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = СтрШаблон(НСтр("ru = '%1'"), ТекстСообщения);
|
||||
Сообщение.Сообщить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция НачальноеЗаполнениеВыполнено()
|
||||
|
||||
Возврат Константы.НачальноеЗаполнениеВыполнено.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура НачальноеЗаполнениеВыполненоУстановить(Знач Признак)
|
||||
|
||||
Константы.НачальноеЗаполнениеВыполнено.Установить(Признак);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,83 +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">
|
||||
<AutoSaveDataInSettings>Use</AutoSaveDataInSettings>
|
||||
<SaveDataInSettings>UseList</SaveDataInSettings>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<InputField name="ИдЧата" id="3">
|
||||
<DataPath>ИдЧата</DataPath>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ИдЧатаКонтекстноеМеню" id="4"/>
|
||||
<ExtendedTooltip name="ИдЧатаРасширеннаяПодсказка" id="5"/>
|
||||
</InputField>
|
||||
<Button name="АктуальнаяВерсияКонфигурации" id="1">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.АктуальнаяВерсияКонфигурации</CommandName>
|
||||
<ExtendedTooltip name="АктуальнаяВерсияКонфигурацииРасширеннаяПодсказка" id="2"/>
|
||||
</Button>
|
||||
<Button name="АктуализироватьВерсии" id="6">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.АктуализироватьВерсии</CommandName>
|
||||
<ExtendedTooltip name="АктуализироватьВерсииРасширеннаяПодсказка" id="7"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:DataProcessorObject.РаботаСОбновлениями</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="ИдЧата" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Ид чата</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<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>
|
||||
<Save>
|
||||
<Field>ИдЧата</Field>
|
||||
</Save>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="АктуальнаяВерсияКонфигурации" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Актуальная версия конфигурации</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Актуальная версия конфигурации</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>АктуальнаяВерсияКонфигурации</Action>
|
||||
</Command>
|
||||
<Command name="АктуализироватьВерсии" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Актуализировать версии</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Актуализировать версии</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>АктуализироватьВерсии</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
@@ -1,45 +0,0 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура АктуальнаяВерсияКонфигурации()
|
||||
|
||||
Конфигурация = КонфигурацияДляТеста();
|
||||
|
||||
ОтветАктуальнаяВерсияКонфигурации = РаботаСОбновлениямиВызовСервера.АктуальнаяВерсияКонфигурации(Конфигурация,"2.4.13.275");
|
||||
|
||||
ТекстСообщения = "Не удалось получить информацию по обновлению";
|
||||
Если ОтветАктуальнаяВерсияКонфигурации.Успех Тогда
|
||||
АктуальнаяВерсияКонфигурации = ОтветАктуальнаяВерсияКонфигурации["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
АктуальнаяВерсияПлатформы = ОтветАктуальнаяВерсияКонфигурации["Тело"]["configurationUpdateResponse"]["platformVersion"];
|
||||
СсылкаНаРелиз = ОтветАктуальнаяВерсияКонфигурации["Тело"]["configurationUpdateResponse"]["updateInfoUrl"];
|
||||
ТекстСообщения = СтрШаблон("Актуальная конфигурация: [%1](%2)%3Платформа: %4", АктуальнаяВерсияКонфигурации, СсылкаНаРелиз, Символы.ПС, АктуальнаяВерсияПлатформы);
|
||||
КонецЕсли;
|
||||
|
||||
ОтветТелеграм = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстСообщения,
|
||||
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.Markdown"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция КонфигурацияДляТеста()
|
||||
|
||||
Возврат Справочники.Конфигурации.НайтиПоРеквизиту("Имя", "ARAutomation");
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура АктуализироватьВерсии(Команда)
|
||||
|
||||
ОбработаноЗаписей = АктуализироватьВерсииНаСервере(ИдЧата);
|
||||
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = СтрШаблон("Актуализация версий выполнена. Обновлено %1 записей", ОбработаноЗаписей);
|
||||
Сообщение.Сообщить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция АктуализироватьВерсииНаСервере(ИдЧата)
|
||||
|
||||
Возврат РаботаСОбновлениямиВызовСервера.АктуализироватьВерсииКонфигураций();
|
||||
|
||||
КонецФункции
|
||||
@@ -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="168a0153-7a94-49dc-9f9a-719c8b58bd1c">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="DataProcessorObject.РаботаССообщениями" category="Object">
|
||||
<xr:TypeId>2c761f39-689d-4cf5-ab61-81089624c383</xr:TypeId>
|
||||
<xr:ValueId>457171ce-0693-48a8-975c-dbd7499e90bc</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DataProcessorManager.РаботаССообщениями" category="Manager">
|
||||
<xr:TypeId>e4281817-188f-4d03-a366-9f47ac9832f9</xr:TypeId>
|
||||
<xr:ValueId>40dc4dda-7a39-482c-aab1-de02c4d74a6f</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,385 +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">
|
||||
<AutoSaveDataInSettings>Use</AutoSaveDataInSettings>
|
||||
<SaveDataInSettings>UseList</SaveDataInSettings>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<InputField name="Сообщения" id="3">
|
||||
<DataPath>Сообщения</DataPath>
|
||||
<MultiLine>true</MultiLine>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="СообщенияКонтекстноеМеню" id="4"/>
|
||||
<ExtendedTooltip name="СообщенияРасширеннаяПодсказка" id="5"/>
|
||||
</InputField>
|
||||
<Button name="ПолучитьСообщения" id="1">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.ПолучитьСообщения</CommandName>
|
||||
<ExtendedTooltip name="ПолучитьСообщенияРасширеннаяПодсказка" id="2"/>
|
||||
</Button>
|
||||
<UsualGroup name="Webhook" id="17">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Webhook</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Webhook</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Vertical</Group>
|
||||
<ExtendedTooltip name="WebhookРасширеннаяПодсказка" id="18"/>
|
||||
<ChildItems>
|
||||
<InputField name="АдресВебхук" id="8">
|
||||
<DataPath>АдресВебхук</DataPath>
|
||||
<MultiLine>true</MultiLine>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="АдресВебхукКонтекстноеМеню" id="9"/>
|
||||
<ExtendedTooltip name="АдресВебхукРасширеннаяПодсказка" id="10"/>
|
||||
</InputField>
|
||||
<UsualGroup name="Группа1" id="24">
|
||||
<Group>AlwaysHorizontal</Group>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Группа1РасширеннаяПодсказка" id="25"/>
|
||||
<ChildItems>
|
||||
<Button name="SetWebHook" id="11">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.SetWebHook</CommandName>
|
||||
<ExtendedTooltip name="SetWebHookРасширеннаяПодсказка" id="12"/>
|
||||
</Button>
|
||||
<Button name="GetWebhookInfo" id="6">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.GetWebhookInfo</CommandName>
|
||||
<ExtendedTooltip name="GetWebhookInfoРасширеннаяПодсказка" id="7"/>
|
||||
</Button>
|
||||
<Button name="DeleteWebhook" id="26">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.DeleteWebhook</CommandName>
|
||||
<ExtendedTooltip name="DeleteWebhookРасширеннаяПодсказка" id="27"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<UsualGroup name="Post" id="19">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Post</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Post</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Vertical</Group>
|
||||
<Representation>StrongSeparation</Representation>
|
||||
<ExtendedTooltip name="PostРасширеннаяПодсказка" id="20"/>
|
||||
<ChildItems>
|
||||
<InputField name="СообщениеДляОтправки" id="21">
|
||||
<DataPath>СообщениеДляОтправки</DataPath>
|
||||
<MultiLine>true</MultiLine>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="СообщениеДляОтправкиКонтекстноеМеню" id="22"/>
|
||||
<ExtendedTooltip name="СообщениеДляОтправкиРасширеннаяПодсказка" id="23"/>
|
||||
</InputField>
|
||||
<UsualGroup name="Группа2" id="28">
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Группа2РасширеннаяПодсказка" id="29"/>
|
||||
<ChildItems>
|
||||
<Button name="PostЗапрос" id="13">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.PostЗапрос</CommandName>
|
||||
<ExtendedTooltip name="PostЗапросРасширеннаяПодсказка" id="14"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<UsualGroup name="ЗагрузкаДокументов" id="30">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Загрузка документов</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Загрузка документов</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Vertical</Group>
|
||||
<Representation>StrongSeparation</Representation>
|
||||
<ExtendedTooltip name="ЗагрузкаДокументовРасширеннаяПодсказка" id="31"/>
|
||||
<ChildItems>
|
||||
<InputField name="ИдФайла" id="32">
|
||||
<DataPath>ИдФайла</DataPath>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ИдФайлаКонтекстноеМеню" id="33"/>
|
||||
<ExtendedTooltip name="ИдФайлаРасширеннаяПодсказка" id="34"/>
|
||||
</InputField>
|
||||
<Button name="СкачатьФайл" id="35">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.СкачатьФайл</CommandName>
|
||||
<ExtendedTooltip name="СкачатьФайлРасширеннаяПодсказка" id="36"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<UsualGroup name="SendDocument" id="39">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Send document</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Send document</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Representation>StrongSeparation</Representation>
|
||||
<ExtendedTooltip name="SendDocumentРасширеннаяПодсказка" id="40"/>
|
||||
<ChildItems>
|
||||
<InputField name="ИдЧата" id="45">
|
||||
<DataPath>ИдЧата</DataPath>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ИдЧатаКонтекстноеМеню" id="46"/>
|
||||
<ExtendedTooltip name="ИдЧатаРасширеннаяПодсказка" id="47"/>
|
||||
</InputField>
|
||||
<Button name="SendDocument1" id="41">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.SendDocument</CommandName>
|
||||
<ExtendedTooltip name="SendDocument1РасширеннаяПодсказка" id="42"/>
|
||||
</Button>
|
||||
<Button name="SendPhoto" id="43">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.SendPhoto</CommandName>
|
||||
<ExtendedTooltip name="SendPhotoРасширеннаяПодсказка" id="44"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:DataProcessorObject.РаботаССообщениями</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="Сообщения" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сообщения</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="АдресВебхук" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Адрес вебхук</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
<Save>
|
||||
<Field>АдресВебхук</Field>
|
||||
</Save>
|
||||
</Attribute>
|
||||
<Attribute name="СообщениеДляОтправки" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сообщение для отправки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдФайла" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Ид файла</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
<Save>
|
||||
<Field>ИдФайла</Field>
|
||||
</Save>
|
||||
</Attribute>
|
||||
<Attribute name="ИдЧата" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Ид чата</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<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>
|
||||
<Save>
|
||||
<Field>ИдЧата</Field>
|
||||
</Save>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ПолучитьСообщения" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Получить сообщения</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Получить сообщения</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ПолучитьСообщения</Action>
|
||||
</Command>
|
||||
<Command name="GetWebhookInfo" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Get webhook info</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Get webhook info</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>getWebhookInfo</Action>
|
||||
</Command>
|
||||
<Command name="SetWebHook" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Set web hook</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Set web hook</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>SetWebHook</Action>
|
||||
</Command>
|
||||
<Command name="PostЗапрос" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Post запрос</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Post запрос</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>PostЗапрос</Action>
|
||||
</Command>
|
||||
<Command name="DeleteWebhook" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Delete webhook</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Delete webhook</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>DeleteWebhook</Action>
|
||||
</Command>
|
||||
<Command name="СкачатьФайл" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Скачать файл</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Скачать файл</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>СкачатьФайл</Action>
|
||||
</Command>
|
||||
<Command name="SendDocument" id="8">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Send document</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Send document</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>SendDocument</Action>
|
||||
</Command>
|
||||
<Command name="SendPhoto" id="7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Send photo</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Send photo</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>SendPhoto</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
@@ -1,280 +0,0 @@
|
||||
&НаКлиенте
|
||||
Процедура ПолучитьСообщения(Команда)
|
||||
|
||||
Ответ = ПолучитьСообщенияНаСервере();
|
||||
ВывестиОтвет(Ответ);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПолучитьСообщенияНаСервере()
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
||||
|
||||
БотОбщегоНазначения.ОбработкаКомандыБота(Ответ);
|
||||
|
||||
//Если Ответ.Успех Тогда
|
||||
// МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
||||
// Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
||||
// ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
||||
//
|
||||
// Если СообщениеТелеграм.Сообщение.text = "/start" Тогда
|
||||
// ТекстОтвета = "Привет! Я бот, который поможет тебе следить за обновлениями конфигураций 1С." + Символы.ПС +
|
||||
// Символы.ВК + Символы.ПС +
|
||||
// "Что я умею:" + Символы.ПС +
|
||||
// "- Отслеживать новые релизы" + Символы.ПС +
|
||||
// "- Присылать уведомления о выходе обновлений" + Символы.ПС +
|
||||
// "- Показывать текущую версию" + Символы.ПС +
|
||||
// Символы.ВК + Символы.ПС +
|
||||
// "/subscribe - Список конфигураций для отслеживания" + Символы.ПС +
|
||||
// "/add - Добавить конфигурацию в список отслеживания" + Символы.ПС +
|
||||
// "/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС +
|
||||
// Символы.ВК + Символы.ПС +
|
||||
// "/help — Помощь";
|
||||
//
|
||||
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета,,);
|
||||
// ИначеЕсли СообщениеТелеграм.Сообщение.text = "/subscribe" Тогда
|
||||
// КонфигурацииДляВыбора = РаботаСОбновлениямиВызовСервера.КонфигурацииДляВыбора(СообщениеТелеграм.ИдЧата);
|
||||
//
|
||||
// Если КонфигурацииДляВыбора.Количество() = 0 Тогда
|
||||
// ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
// Иначе
|
||||
// ТекстОтвета = "";
|
||||
// Для каждого ПунктМенюПодписки Из КонфигурацииДляВыбора Цикл
|
||||
// ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "[X]", "[ ]"),
|
||||
// ПунктМенюПодписки.Наименование,Символы.ПС);
|
||||
// КонецЦикла;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета,,);
|
||||
// ИначеЕсли СообщениеТелеграм.Сообщение.text = "/add" Тогда
|
||||
// КонфигурацииДляВыбора = РаботаСОбновлениямиВызовСервера.КонфигурацииДляВыбора(СообщениеТелеграм.ИдЧата);
|
||||
//
|
||||
// Если КонфигурацииДляВыбора.Количество() = 0 Тогда
|
||||
// ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
// Иначе
|
||||
// МассивРядов = Новый Массив;
|
||||
// ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений";
|
||||
// Для каждого ПунктМенюПодписки Из КонфигурацииДляВыбора Цикл
|
||||
// Если НЕ ПунктМенюПодписки.Подписка Тогда
|
||||
// МассивКнопок = Новый Массив;
|
||||
// МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатуры
|
||||
// ("/add_conf " + ПунктМенюПодписки.Наименование));
|
||||
// МассивРядов.Добавить(МассивКнопок);
|
||||
// КонецЕсли;
|
||||
// КонецЦикла;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета,,Клавиатура);
|
||||
// ИначеЕсли СтрНачинаетсяС(СообщениеТелеграм.Сообщение.text, "/add_conf") Тогда
|
||||
// Результат = ДобавитьКонфигурациюВСписокОтслеживания(СообщениеТелеграм.Сообщение.text, СообщениеТелеграм.ИдЧата);
|
||||
// КонецЕсли;
|
||||
// КонецЦикла;
|
||||
//КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
//&НаСервереБезКонтекста
|
||||
//Функция ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
|
||||
//
|
||||
// КомандаДобавленияКонфигурации = "/add_conf";
|
||||
//
|
||||
// Если НЕ СтрНачинаетсяС(ТекстСообщения, КомандаДобавленияКонфигурации) Тогда
|
||||
// Возврат Ложь;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// НаименованиеКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(КомандаДобавленияКонфигурации) + 1,
|
||||
// СтрДлина(ТекстСообщения) - СтрДлина(КомандаДобавленияКонфигурации)+ 1));
|
||||
//
|
||||
// Запрос = Новый Запрос;
|
||||
// Запрос.Текст =
|
||||
// "ВЫБРАТЬ
|
||||
// | Конфигурации.Ссылка КАК Конфигурация,
|
||||
// | &ИдЧата КАК ИдЧата,
|
||||
// | &ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
// | &АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
// |ИЗ
|
||||
// | Справочник.Конфигурации КАК Конфигурации
|
||||
// |ГДЕ
|
||||
// | Конфигурации.Наименование ПОДОБНО ""%"" + &Наименование + ""%""";
|
||||
//
|
||||
// Запрос.УстановитьПараметр("Наименование", НаименованиеКонфигурации);
|
||||
// Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
// Запрос.УстановитьПараметр("ТекущаяВерсия", "1.1.1.1");
|
||||
// Запрос.УстановитьПараметр("АктуальнаяВерсия", "1.2.3.4");
|
||||
//
|
||||
// РезультатЗапроса = Запрос.Выполнить();
|
||||
//
|
||||
// ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
//
|
||||
// Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
// МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
// ЗаполнитьЗначенияСвойств(МенеджерЗаписи, ВыборкаДетальныеЗаписи);
|
||||
// МенеджерЗаписи.Записать();
|
||||
// Возврат Истина;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Возврат Ложь;
|
||||
//
|
||||
//КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура getWebhookInfo(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetWebhookInfo();
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура SetWebHook(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.SetWebHook(АдресВебхук);
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура PostЗапрос(Команда)
|
||||
|
||||
МассивРядов = Новый Массив;
|
||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Конфигурации;Подписки");
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
//МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Выбрать конфигурацию;Актуальная версия;Калькулятор обновлений");
|
||||
//ВторойРядКнопок = Новый Массив;
|
||||
//Эмоджи = Символ(55357) + Символ(57005);
|
||||
|
||||
//Эмоджи = СтрЗаменить("\xF0\x9F\x94\x94", "\x", "%");
|
||||
//Эмоджи = "😁";
|
||||
//эмодзиДа = "%f0%9f%91%8d";
|
||||
//эмодзиНет = "%f0%9f%91%8e";
|
||||
//ВторойРядКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатуры(Эмоджи));
|
||||
//МассивРядов.Добавить(ВторойРядКнопок);
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, СообщениеДляОтправки,
|
||||
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.HTML"), Клавиатура);
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура DeleteWebhook(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.DeleteWebhook();
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВывестиОтвет(Ответ)
|
||||
|
||||
ТекстСообщения = СтрШаблон("Выполнено %1.%2%3", ?(Ответ.Успех, "успешно", "с ошибкой"), Символы.ПС, Ответ.Описание);
|
||||
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = ТекстСообщения;
|
||||
Сообщение.Сообщить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СкачатьФайл(Команда)
|
||||
|
||||
|
||||
СкачатьФайлНаСервере(ИдФайла);
|
||||
|
||||
|
||||
//Ответ = ТелеграмМетодыВызовСервера.GetFile(ИдФайла);
|
||||
//ОтветСоответствие = HttpОбщегоНазначения.СтрокаJsonВОбъект(Ответ);
|
||||
//
|
||||
//ПутьКФайлуНаСервереТелеграм = ОтветСоответствие["result"]["file_path"];
|
||||
//
|
||||
////Ответ = СкачатьФайлНаСервере(ПутьКФайлуНаСервере);
|
||||
//Ответ = СкачатьФайлНаСервере(ПутьКФайлуНаСервереТелеграм);
|
||||
|
||||
//Если НЕ Ответ = Неопределено Тогда
|
||||
// //ВывестиОтвет(Ответ);
|
||||
//КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура СкачатьФайлНаСервере(ИдФайла)
|
||||
|
||||
НовыйДокумент = Справочники.ТелеграмДокумент.СоздатьЭлемент();
|
||||
НовыйДокумент.Наименование = "Тестовый документ";
|
||||
НовыйДокумент.id = "AgADLXoAAmMlIUk";
|
||||
|
||||
НовыйДокумент.file_name = "test.pdf";
|
||||
НовыйДокумент.mime_type = "application/pdf";
|
||||
НовыйДокумент.file_size = 811482;
|
||||
|
||||
Ответ = ТелеграмОбщегоНазначения.ДанныеДокументаПоИд(ИдФайла);
|
||||
Если Ответ.Успех Тогда
|
||||
НовыйДокумент.ДанныеФайла = Новый ХранилищеЗначения(Ответ.Тело);
|
||||
КонецЕсли;
|
||||
|
||||
НовыйДокумент.Записать();
|
||||
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = СтрШаблон("Документ %1 успешно записан", НовыйДокумент.Ссылка);
|
||||
Сообщение.Сообщить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура SendDocument(Команда)
|
||||
|
||||
ДанныеДокумента = ДанныеДокументаСервер();
|
||||
Ответ = ТелеграмМетодыВызовСервера.SendDocument(ИдЧата, ДанныеДокумента, "Отправлен документ");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ДанныеДокументаСервер()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмДокумент.ДанныеФайла КАК ДанныеФайла,
|
||||
| ТелеграмДокумент.file_name КАК ИмяФайла
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмДокумент КАК ТелеграмДокумент";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Возврат Новый Структура("ИмяФайла, ДанныеФайла", ВыборкаДетальныеЗаписи.ИмяФайла, ВыборкаДетальныеЗаписи.ДанныеФайла.Получить());
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура SendPhoto(Команда)
|
||||
|
||||
ДанныеКартинки = ДанныеКартинки();
|
||||
Ответ = ТелеграмМетодыВызовСервера.SendPhoto(ИдЧата, ДанныеКартинки, "telegram_bot.jpg", "Отправлено фото");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ДанныеКартинки()
|
||||
|
||||
Возврат БиблиотекаКартинок.КартинкаБот.ПолучитьДвоичныеДанные();
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -2,33 +2,33 @@
|
||||
<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">
|
||||
<Document uuid="7ca26a17-d7b3-4ec0-bd51-2dd2951e242f">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="DocumentObject.ЛогHttpЗапроса" category="Object">
|
||||
<xr:GeneratedType name="DocumentObject.ЛогиХТТПЗапросов" category="Object">
|
||||
<xr:TypeId>ea6e9e6f-fd73-405a-bac6-96eee781c8e5</xr:TypeId>
|
||||
<xr:ValueId>d94f7494-6432-421e-bebf-573e35cee4ad</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DocumentRef.ЛогHttpЗапроса" category="Ref">
|
||||
<xr:GeneratedType name="DocumentRef.ЛогиХТТПЗапросов" category="Ref">
|
||||
<xr:TypeId>dc268b14-03bf-4907-a652-b52e45d59363</xr:TypeId>
|
||||
<xr:ValueId>4e5a9388-65a8-48a6-b32e-c1d494e2e2a3</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DocumentSelection.ЛогHttpЗапроса" category="Selection">
|
||||
<xr:GeneratedType name="DocumentSelection.ЛогиХТТПЗапросов" category="Selection">
|
||||
<xr:TypeId>a65053fd-9227-430b-affd-6cb0b5383140</xr:TypeId>
|
||||
<xr:ValueId>9aeb4fba-27a8-4e05-8a74-d8afba4ff2ff</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DocumentList.ЛогHttpЗапроса" category="List">
|
||||
<xr:GeneratedType name="DocumentList.ЛогиХТТПЗапросов" category="List">
|
||||
<xr:TypeId>bd353e78-0d8b-46a4-816e-df8cf45ed3df</xr:TypeId>
|
||||
<xr:ValueId>f8cc591c-5150-4294-acf9-9f5ef49f7996</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DocumentManager.ЛогHttpЗапроса" category="Manager">
|
||||
<xr:GeneratedType name="DocumentManager.ЛогиХТТПЗапросов" category="Manager">
|
||||
<xr:TypeId>cae7dc26-80c9-4d43-8a24-96aa775739fc</xr:TypeId>
|
||||
<xr:ValueId>1c720f88-df95-4bf7-9cf9-35d32df85dc3</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>ЛогHttpЗапроса</Name>
|
||||
<Name>ЛогиХТТПЗапросов</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Лог http запроса</v8:content>
|
||||
<v8:content>Логи HTTP запросов</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
@@ -43,14 +43,14 @@
|
||||
<Characteristics/>
|
||||
<BasedOn/>
|
||||
<InputByString>
|
||||
<xr:Field>Document.ЛогHttpЗапроса.StandardAttribute.Number</xr:Field>
|
||||
<xr:Field>Document.ЛогиХТТПЗапросов.StandardAttribute.Number</xr:Field>
|
||||
</InputByString>
|
||||
<CreateOnInput>Use</CreateOnInput>
|
||||
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
|
||||
<DefaultObjectForm>Document.ЛогHttpЗапроса.Form.ФормаДокумента</DefaultObjectForm>
|
||||
<DefaultListForm>Document.ЛогHttpЗапроса.Form.ФормаСписка</DefaultListForm>
|
||||
<DefaultObjectForm>Document.ЛогиХТТПЗапросов.Form.ФормаДокумента</DefaultObjectForm>
|
||||
<DefaultListForm>Document.ЛогиХТТПЗапросов.Form.ФормаСписка</DefaultListForm>
|
||||
<DefaultChoiceForm/>
|
||||
<AuxiliaryObjectForm/>
|
||||
<AuxiliaryListForm/>
|
||||
@@ -80,11 +80,11 @@
|
||||
<ChildObjects>
|
||||
<Attribute uuid="99c7021d-50c9-4a2d-b375-21b52de8d2df">
|
||||
<Properties>
|
||||
<Name>HTTPЗапрос</Name>
|
||||
<Name>Запрос</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>HTTPЗапрос</v8:content>
|
||||
<v8:content>Запрос</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
@@ -123,11 +123,11 @@
|
||||
</Attribute>
|
||||
<Attribute uuid="156814c3-b941-4a59-a92f-439b400475d0">
|
||||
<Properties>
|
||||
<Name>HTTPОтвет</Name>
|
||||
<Name>Ответ</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>HTTPОтвет</v8:content>
|
||||
<v8:content>Ответ</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
@@ -175,7 +175,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:EnumRef.МетодHTTPЗапроса</v8:Type>
|
||||
<v8:Type>cfg:EnumRef.МетодХТТПЗапроса</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@@ -46,7 +46,7 @@
|
||||
<ExtendedTooltip name="HTTPРасширеннаяПодсказка" id="14"/>
|
||||
<ChildItems>
|
||||
<InputField name="HTTPЗапрос" id="7">
|
||||
<DataPath>Объект.HTTPЗапрос</DataPath>
|
||||
<DataPath>Объект.Запрос</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<AutoMaxWidth>false</AutoMaxWidth>
|
||||
<MultiLine>true</MultiLine>
|
||||
@@ -55,7 +55,7 @@
|
||||
<ExtendedTooltip name="HTTPЗапросРасширеннаяПодсказка" id="9"/>
|
||||
</InputField>
|
||||
<InputField name="HTTPОтвет" id="10">
|
||||
<DataPath>Объект.HTTPОтвет</DataPath>
|
||||
<DataPath>Объект.Ответ</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<AutoMaxWidth>false</AutoMaxWidth>
|
||||
<MultiLine>true</MultiLine>
|
||||
@@ -69,7 +69,7 @@
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:DocumentObject.ЛогHttpЗапроса</v8:Type>
|
||||
<v8:Type>cfg:DocumentObject.ЛогиХТТПЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
@@ -1,7 +1,10 @@
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ЭтаФорма.ТолькоПросмотр = Истина;
|
||||
ТолькоПросмотр = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -90,7 +90,7 @@
|
||||
<ExtendedTooltip name="КодСостоянияРасширеннаяПодсказка" id="33"/>
|
||||
</LabelField>
|
||||
<LabelField name="HTTPЗапрос" id="28">
|
||||
<DataPath>Список.HTTPЗапрос</DataPath>
|
||||
<DataPath>Список.Запрос</DataPath>
|
||||
<ContextMenu name="HTTPЗапросКонтекстноеМеню" id="29"/>
|
||||
<ExtendedTooltip name="HTTPЗапросРасширеннаяПодсказка" id="30"/>
|
||||
</LabelField>
|
||||
@@ -106,7 +106,7 @@
|
||||
<Settings xsi:type="DynamicList">
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>Document.ЛогHttpЗапроса</MainTable>
|
||||
<MainTable>Document.ЛогиХТТПЗапросов</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
@@ -2,25 +2,25 @@
|
||||
<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">
|
||||
<Enum uuid="49b74ca2-e1cc-4ac3-9da2-d2e3c99a5044">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="EnumRef.ВидыДанныхКоллбэков" category="Ref">
|
||||
<xr:GeneratedType name="EnumRef.ВидыДанныхОбратныхВызовов" category="Ref">
|
||||
<xr:TypeId>faee0c1e-a312-43c8-8af2-20618cc53904</xr:TypeId>
|
||||
<xr:ValueId>b6d6ee51-fdfe-47bd-bc31-3147751dc7fc</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumManager.ВидыДанныхКоллбэков" category="Manager">
|
||||
<xr:GeneratedType name="EnumManager.ВидыДанныхОбратныхВызовов" category="Manager">
|
||||
<xr:TypeId>268e63a6-adc9-4961-9d35-92c1ddc296e3</xr:TypeId>
|
||||
<xr:ValueId>6e68fa9a-2345-462c-98d4-6c31908cb17b</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumList.ВидыДанныхКоллбэков" category="List">
|
||||
<xr:GeneratedType name="EnumList.ВидыДанныхОбратныхВызовов" category="List">
|
||||
<xr:TypeId>6bf0eedb-c7aa-4a05-ae0f-3900e6b21ff7</xr:TypeId>
|
||||
<xr:ValueId>7947dc7b-96c2-4672-8ebe-c48dba063c3e</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>ВидыДанныхКоллбэков</Name>
|
||||
<Name>ВидыДанныхОбратныхВызовов</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Виды данных коллбэков</v8:content>
|
||||
<v8:content>Виды данных callbacks</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
@@ -62,6 +62,30 @@
|
||||
<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>
|
||||
<EnumValue uuid="883f782c-4484-4726-bd3c-4418f8547791">
|
||||
<Properties>
|
||||
<Name>NotifyOn</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Notify on</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
</ChildObjects>
|
||||
</Enum>
|
||||
</MetaDataObject>
|
||||
@@ -2,21 +2,21 @@
|
||||
<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">
|
||||
<Enum uuid="71ba9b1f-8966-4c88-accf-4683d4764b70">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="EnumRef.МетодHTTPЗапроса" category="Ref">
|
||||
<xr:GeneratedType name="EnumRef.МетодХТТПЗапроса" category="Ref">
|
||||
<xr:TypeId>062ec44f-ddff-4eb2-9d67-ace1243a7874</xr:TypeId>
|
||||
<xr:ValueId>cdbc4fda-6d89-4e83-950b-648b679c0a5c</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumManager.МетодHTTPЗапроса" category="Manager">
|
||||
<xr:GeneratedType name="EnumManager.МетодХТТПЗапроса" category="Manager">
|
||||
<xr:TypeId>75bb42b3-89ee-4666-a3d9-dfe18b9c28e1</xr:TypeId>
|
||||
<xr:ValueId>bc3f9676-2064-4845-a533-556e907c48bf</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumList.МетодHTTPЗапроса" category="List">
|
||||
<xr:GeneratedType name="EnumList.МетодХТТПЗапроса" category="List">
|
||||
<xr:TypeId>ac64ef38-c6cc-4bc3-a870-1784bd2b1317</xr:TypeId>
|
||||
<xr:ValueId>35a3a837-9322-46af-9807-8d233146ed18</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>МетодHTTPЗапроса</Name>
|
||||
<Name>МетодХТТПЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
91
src/cf/Enums/ПериодичностьУведомлений.xml
Normal file
91
src/cf/Enums/ПериодичностьУведомлений.xml
Normal file
@@ -0,0 +1,91 @@
|
||||
<?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">
|
||||
<Enum uuid="bcf975e5-286f-4ac9-916e-52d407fcf18e">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="EnumRef.ПериодичностьУведомлений" category="Ref">
|
||||
<xr:TypeId>3e7044ed-0e3a-4541-8a9e-ab9fe7208033</xr:TypeId>
|
||||
<xr:ValueId>f43d2234-6787-4a01-a802-fcd547f85afa</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumManager.ПериодичностьУведомлений" category="Manager">
|
||||
<xr:TypeId>a7526e24-f52f-432e-bf90-905ec2225597</xr:TypeId>
|
||||
<xr:ValueId>56b27172-4b82-4b46-a2a5-bf87b0ece644</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumList.ПериодичностьУведомлений" category="List">
|
||||
<xr:TypeId>ce3b1cff-eb12-401e-b368-b061a2a83848</xr:TypeId>
|
||||
<xr:ValueId>94ee4e38-9b48-46e5-8a02-5c76d151b47e</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>false</UseStandardCommands>
|
||||
<Characteristics/>
|
||||
<QuickChoice>true</QuickChoice>
|
||||
<ChoiceMode>BothWays</ChoiceMode>
|
||||
<DefaultListForm/>
|
||||
<DefaultChoiceForm/>
|
||||
<AuxiliaryListForm/>
|
||||
<AuxiliaryChoiceForm/>
|
||||
<ListPresentation/>
|
||||
<ExtendedListPresentation/>
|
||||
<Explanation/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<EnumValue uuid="d4414838-b4a0-4852-93a4-6fdd71b7b16b">
|
||||
<Properties>
|
||||
<Name>КаждыйЧас</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Каждый час</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="0dcec1a9-d267-43f4-ba1f-ed1c5ade39d7">
|
||||
<Properties>
|
||||
<Name>КаждыйДень</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Каждый день</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="b9c44b33-0379-4f76-9ca4-6af791787242">
|
||||
<Properties>
|
||||
<Name>КаждуюНеделю</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Каждую неделю</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="57436476-e3bb-4fc8-bcf2-eca06f286cfe">
|
||||
<Properties>
|
||||
<Name>НеУведомлять</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Не уведомлять</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
</ChildObjects>
|
||||
</Enum>
|
||||
</MetaDataObject>
|
||||
9
src/cf/Ext/ManagedApplicationModule.bsl
Normal file
9
src/cf/Ext/ManagedApplicationModule.bsl
Normal file
@@ -0,0 +1,9 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ПриНачалеРаботыСистемы()
|
||||
|
||||
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
20
src/cf/FunctionalOptions/ТелеграмИспользоватьВебХук.xml
Normal file
20
src/cf/FunctionalOptions/ТелеграмИспользоватьВебХук.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?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">
|
||||
<FunctionalOption uuid="d932ef2d-9a85-49b0-ad5d-5e1f7579c75b">
|
||||
<Properties>
|
||||
<Name>ТелеграмИспользоватьВебХук</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Телеграм использовать веб хук</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Location>Constant.ТелеграмИспользоватьВебХук</Location>
|
||||
<PrivilegedGetMode>true</PrivilegedGetMode>
|
||||
<Content>
|
||||
<xr:Object>Constant.ТелеграмВебХук</xr:Object>
|
||||
</Content>
|
||||
</Properties>
|
||||
</FunctionalOption>
|
||||
</MetaDataObject>
|
||||
@@ -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">
|
||||
<HTTPService uuid="85b4fbb0-1bf6-43f5-a35b-0e0b14ecac91">
|
||||
<Properties>
|
||||
<Name>HTTPСервис_Telegram</Name>
|
||||
<Name>СервисТелеграм</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>HTTPСервис telegram</v8:content>
|
||||
<v8:content>Сервис телеграм</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
@@ -17,8 +17,13 @@
|
||||
<ChildObjects>
|
||||
<URLTemplate uuid="8c9514bd-6990-4128-80c1-c3bf77ae6769">
|
||||
<Properties>
|
||||
<Name>ШаблонURL1</Name>
|
||||
<Synonym/>
|
||||
<Name>Шаблон1</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Шаблон1</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Template>/update</Template>
|
||||
</Properties>
|
||||
@@ -41,8 +46,13 @@
|
||||
</URLTemplate>
|
||||
<URLTemplate uuid="fd611f01-bc5b-412f-9d6a-395f20daf8f7">
|
||||
<Properties>
|
||||
<Name>ШаблонURL2</Name>
|
||||
<Synonym/>
|
||||
<Name>Шаблон2</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Шаблон2</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Template>/info</Template>
|
||||
</Properties>
|
||||
@@ -1,15 +1,15 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Функция ШаблонURL1PostGetUpdate(Запрос)
|
||||
|
||||
Попытка
|
||||
//ТелеграмОбщегоНазначения.ОбработатьИСохранитьОбновленияТелеграм(Запрос.ПолучитьТелоКакСтроку());
|
||||
БотОбщегоНазначения.ОбработкаКомандыБота(Запрос.ПолучитьТелоКакСтроку());
|
||||
Ответ = HttpОбщегоНазначенияВызовСервера.ОтветУспех();
|
||||
Ответ = ХТТПОбщегоНазначенияВызовСервера.ОтветУспех();
|
||||
Возврат Ответ;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
@@ -20,13 +20,15 @@
|
||||
ОтветБотИнфо = ТелеграмМетодыВызовСервера.GetMe();
|
||||
Если ОтветБотИнфо.Успех Тогда
|
||||
Ответ = Новый HTTPСервисОтвет(200);
|
||||
Ответ.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
|
||||
Ответ.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
|
||||
Возврат Ответ;
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -0,0 +1,87 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция АктуализироватьВерсииКонфигураций() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
КэшАктуальныхВерсий = РезультатЗапроса.Выгрузить().СкопироватьКолонки();
|
||||
КэшАктуальныхВерсий.Колонки.Удалить("ИдЧата");
|
||||
ОбработаноЗаписей = 0;
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = ВыборкаДетальныеЗаписи.Конфигурация;
|
||||
ТекущаяВерсия = ВыборкаДетальныеЗаписи.ТекущаяВерсия;
|
||||
ИдЧата = ВыборкаДетальныеЗаписи.ИдЧата;
|
||||
|
||||
АктуальнаяВерсия = ПолучитьИзКэшаАктуальнуюВерсию(КэшАктуальныхВерсий, Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если АктуальнаяВерсия = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если АктуальнаяВерсия = ВыборкаДетальныеЗаписи.АктуальнаяВерсия Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.Конфигурация = Конфигурация;
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
МенеджерЗаписи.ТекущаяВерсия = ТекущаяВерсия;
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
|
||||
МенеджерЗаписи.Записать();
|
||||
ОбработаноЗаписей = ОбработаноЗаписей + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОбработаноЗаписей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьИзКэшаАктуальнуюВерсию(Кэш, Конфигурация, ТекущаяВерсия)
|
||||
|
||||
СтруктураОтбора = Новый Структура("Конфигурация, ТекущаяВерсия", Конфигурация, ТекущаяВерсия);
|
||||
МассивСтрок = Кэш.НайтиСтроки(СтруктураОтбора);
|
||||
Если МассивСтрок.Количество() <> 0 Тогда
|
||||
Возврат МассивСтрок[0].АктуальнаяВерсия;
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = РаботаСОбновлениямиВызовСервера.АктуальнаяВерсияКонфигурации(Конфигурация, ТекущаяВерсия);
|
||||
|
||||
Если Ответ.Успех Тогда
|
||||
АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
Если АктуальнаяВерсияССервера = Неопределено Тогда
|
||||
// Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
|
||||
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
|
||||
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации
|
||||
// от совпадения текущей и актуальной.
|
||||
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"];
|
||||
Если АктуальнаяВерсияПлатформы <> Неопределено Тогда
|
||||
АктуальнаяВерсияССервера = ТекущаяВерсия;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
НоваяСтрока = Кэш.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтруктураОтбора);
|
||||
НоваяСтрока.АктуальнаяВерсия = АктуальнаяВерсияССервера;
|
||||
Возврат АктуальнаяВерсияССервера;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2,41 +2,41 @@
|
||||
<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="fa99a49c-8f89-4d1c-bed9-ad8ae5f1f875">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="InformationRegisterRecord.ТелеграмСообщения" category="Record">
|
||||
<xr:GeneratedType name="InformationRegisterRecord.ТелеграмИсторияСообщений" category="Record">
|
||||
<xr:TypeId>9444c860-a15a-48eb-8b4c-29d90b5c8541</xr:TypeId>
|
||||
<xr:ValueId>eca768ad-6630-4ee4-831d-cd6fd9764e3d</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterManager.ТелеграмСообщения" category="Manager">
|
||||
<xr:GeneratedType name="InformationRegisterManager.ТелеграмИсторияСообщений" category="Manager">
|
||||
<xr:TypeId>d628eea0-6995-470d-aecc-51d8bd8ed74c</xr:TypeId>
|
||||
<xr:ValueId>1c4d0ec8-9752-4a4d-a549-70205ba4e912</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterSelection.ТелеграмСообщения" category="Selection">
|
||||
<xr:GeneratedType name="InformationRegisterSelection.ТелеграмИсторияСообщений" category="Selection">
|
||||
<xr:TypeId>0c0e64e8-b32e-4995-8a76-42bf05a83183</xr:TypeId>
|
||||
<xr:ValueId>b1078888-faa2-407f-922d-032e4b6316c3</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterList.ТелеграмСообщения" category="List">
|
||||
<xr:GeneratedType name="InformationRegisterList.ТелеграмИсторияСообщений" category="List">
|
||||
<xr:TypeId>064168d2-83fe-4d6e-ac7f-0dea8e6f87ba</xr:TypeId>
|
||||
<xr:ValueId>7c6a16a0-6839-4bc7-b6e4-39c69f23b01c</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordSet.ТелеграмСообщения" category="RecordSet">
|
||||
<xr:GeneratedType name="InformationRegisterRecordSet.ТелеграмИсторияСообщений" category="RecordSet">
|
||||
<xr:TypeId>d3cf9ed0-1f6c-4914-adfe-1035aa3fbaa0</xr:TypeId>
|
||||
<xr:ValueId>de6174d6-baf0-4a9f-be96-a20177e1f591</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordKey.ТелеграмСообщения" category="RecordKey">
|
||||
<xr:GeneratedType name="InformationRegisterRecordKey.ТелеграмИсторияСообщений" category="RecordKey">
|
||||
<xr:TypeId>e3f0086a-be84-4744-b45d-f1c7bfb2d1e9</xr:TypeId>
|
||||
<xr:ValueId>ccffa851-6e1c-4300-a1ee-f81650a30bcd</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordManager.ТелеграмСообщения" category="RecordManager">
|
||||
<xr:GeneratedType name="InformationRegisterRecordManager.ТелеграмИсторияСообщений" category="RecordManager">
|
||||
<xr:TypeId>d3d49311-3925-4a11-bc57-fea0f92c011b</xr:TypeId>
|
||||
<xr:ValueId>b272acb8-75cb-429a-9076-2a2c10e3edc0</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<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/>
|
||||
@@ -75,7 +75,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмСообщение</v8:Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмСообщения</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@@ -200,7 +200,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмПользователь</v8:Type>
|
||||
<v8:Type>cfg:CatalogRef.ТелеграмПользователи</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
198
src/cf/InformationRegisters/УведомленияОНовыхВерсиях.xml
Normal file
198
src/cf/InformationRegisters/УведомленияОНовыхВерсиях.xml
Normal file
@@ -0,0 +1,198 @@
|
||||
<?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="14a9eafe-73cb-4605-b70e-2a6aae888c2c">
|
||||
<Properties>
|
||||
<Name>Периодичность</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Периодичность</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:EnumRef.ПериодичностьУведомлений</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>
|
||||
<Attribute uuid="5294ea35-db35-4f2d-9764-31972faa1063">
|
||||
<Properties>
|
||||
<Name>ПоследняяОтправка</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Последняя отправка</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>DateTime</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</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>
|
||||
</Attribute>
|
||||
<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,70 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция УправлениеУведомлениями(ИдЧата, Периодичность) Экспорт
|
||||
|
||||
Менеджер = СоздатьМенеджерЗаписи();
|
||||
Менеджер.ИдЧата = ИдЧата;
|
||||
Менеджер.Прочитать();
|
||||
|
||||
Если Не Менеджер.Выбран() Тогда
|
||||
Возврат НеудачнаяСменеПериодичности(Периодичность);
|
||||
КонецЕсли;
|
||||
|
||||
Если Менеджер.Периодичность = Периодичность Тогда
|
||||
Возврат ПовторнаяПопыткаУстановки(Периодичность);
|
||||
КонецЕсли;
|
||||
|
||||
Менеджер.Периодичность = Периодичность;
|
||||
Менеджер.Записать();
|
||||
|
||||
Возврат УспешнаяСменаПериодичности(Периодичность);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбновитьДатуОтправкиУведомления(ИдЧата) Экспорт
|
||||
|
||||
Менеджер = СоздатьМенеджерЗаписи();
|
||||
Менеджер.ИдЧата = ИдЧата;
|
||||
Менеджер.Прочитать();
|
||||
|
||||
Если Менеджер.Выбран() Тогда
|
||||
Менеджер.ПоследняяОтправка = ТекущаяДатаСеанса();
|
||||
Менеджер.Записать();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция НеудачнаяСменеПериодичности(Периодичность)
|
||||
|
||||
Возврат СтрШаблон("Не удалось %1 уведомления",
|
||||
?(Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять, "выключить", "включить"));
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПовторнаяПопыткаУстановки(Периодичность)
|
||||
|
||||
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
|
||||
Возврат "🔇 Уведомления уже выключены";
|
||||
Иначе
|
||||
Возврат СтрШаблон("🔉 Уведомления уже включены (%1)",
|
||||
НРег(ТелеграмПовторноеИспользование.СинонимПеречисления(Периодичность)));
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УспешнаяСменаПериодичности(Периодичность)
|
||||
|
||||
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
|
||||
Возврат "🔇 Уведомления выключены";
|
||||
Иначе
|
||||
Возврат СтрШаблон("🔉 Уведомления включены (%1)",
|
||||
НРег(ТелеграмПовторноеИспользование.СинонимПеречисления(Периодичность)));
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,22 +1,15 @@
|
||||
<?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="9babb459-ecb3-4084-9cb5-1bb9ef62606e">
|
||||
<Role uuid="75596ea7-f58a-40d8-b6a8-c7d57ea30fdc">
|
||||
<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/>
|
||||
<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>
|
||||
</Role>
|
||||
</MetaDataObject>
|
||||
93
src/cf/Roles/АдминистраторСистемы/Ext/Rights.xml
Normal file
93
src/cf/Roles/АдминистраторСистемы/Ext/Rights.xml
Normal file
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.19">
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>Configuration.Конфигурация</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?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">
|
||||
<Role uuid="89613b54-254e-48c5-a2aa-99499ec7e0d5">
|
||||
<Properties>
|
||||
<Name>ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Интерактивное открытие внешних отчетов и обработок</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</Role>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.19">
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>Configuration.Конфигурация</name>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
15
src/cf/Roles/ПолныеПрава.xml
Normal file
15
src/cf/Roles/ПолныеПрава.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?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">
|
||||
<Role uuid="7b81670d-7d17-4a08-9595-a9e6604513be">
|
||||
<Properties>
|
||||
<Name>ПолныеПрава</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Полные права</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</Role>
|
||||
</MetaDataObject>
|
||||
156
src/cf/Roles/ПолныеПрава/Ext/Rights.xml
Normal file
156
src/cf/Roles/ПолныеПрава/Ext/Rights.xml
Normal file
@@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.19">
|
||||
<setForNewObjects>true</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>Catalog.ТелеграмПользователи</name>
|
||||
<right>
|
||||
<name>InteractiveDelete</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeletePredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveSetDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveClearDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeleteMarkedPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.ТелеграмСообщения</name>
|
||||
<right>
|
||||
<name>InteractiveDelete</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeletePredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveSetDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveClearDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeleteMarkedPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.ТелеграмДокументы</name>
|
||||
<right>
|
||||
<name>InteractiveDelete</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeletePredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveSetDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveClearDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeleteMarkedPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Document.ЛогиХТТПЗапросов</name>
|
||||
<right>
|
||||
<name>InteractiveDelete</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.Конфигурация</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MobileClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>CollaborationSystemInfoBaseRegistration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveModeTerminationAtSessionStart</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.Конфигурации</name>
|
||||
<right>
|
||||
<name>InteractiveDelete</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeletePredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveSetDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveClearDeletionMarkPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveDeleteMarkedPredefinedData</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
@@ -1,20 +1,20 @@
|
||||
<?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="4cf78f82-d10a-4ca4-88f3-1d4a0b0198de">
|
||||
<ScheduledJob uuid="79975f8c-5a0b-4b2b-b314-5e6574a7b213">
|
||||
<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/>
|
||||
<MethodName>CommonModule.ТелеграмРегламент.ПроверкаОбновленийПоРасписанию</MethodName>
|
||||
<MethodName>CommonModule.ОбновленияРегламент.ПроверкаНеактуальныхВерсийКонфигураций</MethodName>
|
||||
<Description/>
|
||||
<Key/>
|
||||
<Use>false</Use>
|
||||
<Predefined>false</Predefined>
|
||||
<Use>true</Use>
|
||||
<Predefined>true</Predefined>
|
||||
<RestartCountOnFailure>3</RestartCountOnFailure>
|
||||
<RestartIntervalOnFailure>10</RestartIntervalOnFailure>
|
||||
</Properties>
|
||||
@@ -1,7 +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="15" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="1">
|
||||
<Schedule BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="00:00:00" EndTime="00:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="3600" 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="3600" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="0">
|
||||
<ent:WeekDays/>
|
||||
<ent:Months/>
|
||||
</ent:DetailedDailySchedules>
|
||||
</Schedule>
|
||||
</JobSchedule>
|
||||
26
src/cf/Subsystems/Администрирование.xml
Normal file
26
src/cf/Subsystems/Администрирование.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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">
|
||||
<Subsystem uuid="191ccf7b-8705-44d7-a181-a6cfe9eee132">
|
||||
<Properties>
|
||||
<Name>Администрирование</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Администрирование</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<IncludeHelpInContents>true</IncludeHelpInContents>
|
||||
<IncludeInCommandInterface>true</IncludeInCommandInterface>
|
||||
<UseOneCommand>false</UseOneCommand>
|
||||
<Explanation/>
|
||||
<Picture/>
|
||||
<Content>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.Настройки</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.НачальноеЗаполнениеДанных</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогиХТТПЗапросов</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
</Subsystem>
|
||||
</MetaDataObject>
|
||||
@@ -16,11 +16,16 @@
|
||||
<Explanation/>
|
||||
<Picture/>
|
||||
<Content>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.РаботаСОбновлениями</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ОтслеживаниеВерсийКонфигураций</xr:Item>
|
||||
<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">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>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ПериодичностьУведомлений</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">b86f0a31-b523-4c41-9927-4dde82319197</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
||||
@@ -17,20 +17,23 @@
|
||||
<Picture/>
|
||||
<Content>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмТокен</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ТелеграмСообщения</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.РаботаССообщениями</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмПользователь</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмСообщение</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">HTTPService.HTTPСервис_Telegram</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ТелеграмИсторияСообщений</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">168a0153-7a94-49dc-9f9a-719c8b58bd1c</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмПользователи</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмСообщения</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">HTTPService.СервисТелеграм</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмВебХук</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.ТелеграмВебХук</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.ЛогироватьHttpЗапросы</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогHttpЗапроса</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокумент</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогиХТТПЗапросов</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокументы</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.КартинкаБот</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">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>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмИспользоватьВебХук</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">FunctionalOption.ТелеграмИспользоватьВебХук</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
||||
10
src/cf/Subsystems/ТелеграмБот/Ext/CommandInterface.xml
Normal file
10
src/cf/Subsystems/ТелеграмБот/Ext/CommandInterface.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CommandInterface xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" 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">
|
||||
<CommandsVisibility>
|
||||
<Command name="Document.ЛогиХТТПЗапросов.StandardCommand.OpenList">
|
||||
<Visibility>
|
||||
<xr:Common>false</xr:Common>
|
||||
</Visibility>
|
||||
</Command>
|
||||
</CommandsVisibility>
|
||||
</CommandInterface>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VERSION>13</VERSION>
|
||||
<VERSION>50</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user