Compare commits
55 Commits
03a0be54d5
...
scheduled_
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | |||
| 98f0202a22 | |||
| b767d369b6 | |||
| 296b6a5bc3 | |||
| c264a7ccd8 | |||
| 32e52069e8 | |||
| 0954815c56 | |||
| 0172c538be | |||
| 694e06f836 | |||
| bf54a89e2e | |||
| 91ef839c7f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
**/ConfigDumpInfo.xml
|
||||
.scannerwork
|
||||
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}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
49
README.md
49
README.md
@@ -1 +1,48 @@
|
||||
# Реализация 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/tg_bot_1c.git`
|
||||
- Создайте новую информационную базу. В режиме конфигуратора выполните команду загрузки конфигурации из файлов.
|
||||
- Укажите путь к источнику: `tg_bot_1c\src\cf`
|
||||
- Зарегистрируйте Telegram-бота через @BotFather и получите токен.
|
||||
- Укажите токен в настройках конфигурации, раздел Администрирование.
|
||||
- Есть возможность получать обновления в двух режимах: `long polling` и `webhook`. Режим устанавливается в настройках, раздел Администрирование. В случае использования `webhook` требуется публикация базы на веб-сервере.
|
||||
- В режиме предприятия выполните начальную инициализацию. Раздел Администрирование - Начальное заполнение данных.
|
||||
|
||||
## Поддерживаемые команды
|
||||
|
||||
| **Команда** | **Описание** |
|
||||
|:----------------- |:------------------------------------------- |
|
||||
| **/start** | Приветствие и справка |
|
||||
| **/subscribe** | Список конфигураций для отслеживания |
|
||||
| **/add** | Добавить конфигурацию в список отслеживания |
|
||||
| **/delete** | Удалить конфигурацию из списка отслеживания |
|
||||
| **/notify_on** | Включить уведомления о новых версиях |
|
||||
| **/notify_off** | Выключить уведомления о новых версиях |
|
||||
| **/status** | Вывести информацию о статусе конфигурации |
|
||||
| **/help** | Вывести список поддерживаемых команд |
|
||||
|
||||
32
sonar-project.properties
Normal file
32
sonar-project.properties
Normal file
@@ -0,0 +1,32 @@
|
||||
# адрес сервера SonarQube, по умолчанию текущий компьютер
|
||||
#sonar.host.url=http://localhost:9000
|
||||
|
||||
# ключ проекта
|
||||
sonar.projectKey=tg_bot
|
||||
|
||||
# имя проекта
|
||||
#sonar.projectName=Telegram bot
|
||||
|
||||
# версия проекта
|
||||
sonar.projectVersion=1.0.0.
|
||||
|
||||
# относительный или абсолютный путь к каталогу с исходными кодом
|
||||
sonar.sources=./src/cf
|
||||
|
||||
# кодировка
|
||||
sonar.sourceEncoding=UTF-8
|
||||
|
||||
# маска поиска файлов на проверку
|
||||
sonar.inclusions=src/**/*.bsl
|
||||
|
||||
# маска поиска исключений файлов на проверку
|
||||
# sonar.exclusions=
|
||||
|
||||
# игнорирование gitignore
|
||||
#sonar.scm.exclusions.disabled=true
|
||||
|
||||
# путь к внешним отчетам
|
||||
#sonar.externalIssuesReportPaths=./build/acc-generic-issue.json
|
||||
|
||||
# путь к папке с данными покрытия тестами
|
||||
#sonar.coverageReportPaths=./tools/coverage/result/genericCoverage.xml
|
||||
136
src/cf/Catalogs/Конфигурации.xml
Normal file
136
src/cf/Catalogs/Конфигурации.xml
Normal file
@@ -0,0 +1,136 @@
|
||||
<?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">
|
||||
<Catalog uuid="ffd87ccb-6af5-429d-b252-e2dfa196b6e9">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="CatalogObject.Конфигурации" category="Object">
|
||||
<xr:TypeId>4bca873e-7270-448f-af9e-a835a7ea2544</xr:TypeId>
|
||||
<xr:ValueId>6334ba72-2517-4769-944b-e76ebb8b4136</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogRef.Конфигурации" category="Ref">
|
||||
<xr:TypeId>4e96a340-9a7a-4e22-ad39-95b094adf291</xr:TypeId>
|
||||
<xr:ValueId>a5d50e22-a097-4acc-9e39-03f80d79850a</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogSelection.Конфигурации" category="Selection">
|
||||
<xr:TypeId>f73d46d4-9787-4bdf-ac3c-eda56b55b556</xr:TypeId>
|
||||
<xr:ValueId>df445c5c-598b-41b7-a701-3b1e3c0eefa2</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogList.Конфигурации" category="List">
|
||||
<xr:TypeId>d40c5a12-c968-4a11-a5b2-85b4ae08ec0c</xr:TypeId>
|
||||
<xr:ValueId>6468db69-8a13-496c-a518-a61ea87fb001</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="CatalogManager.Конфигурации" category="Manager">
|
||||
<xr:TypeId>b780d7b2-def9-43e5-8df8-3122de4a3142</xr:TypeId>
|
||||
<xr:ValueId>12d66b0c-3e47-4487-a073-74bc300c8945</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>Конфигурации</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конфигурации</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Hierarchical>false</Hierarchical>
|
||||
<HierarchyType>HierarchyFoldersAndItems</HierarchyType>
|
||||
<LimitLevelCount>false</LimitLevelCount>
|
||||
<LevelCount>2</LevelCount>
|
||||
<FoldersOnTop>true</FoldersOnTop>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<Owners/>
|
||||
<SubordinationUse>ToItems</SubordinationUse>
|
||||
<CodeLength>9</CodeLength>
|
||||
<DescriptionLength>50</DescriptionLength>
|
||||
<CodeType>String</CodeType>
|
||||
<CodeAllowedLength>Variable</CodeAllowedLength>
|
||||
<CodeSeries>WholeCatalog</CodeSeries>
|
||||
<CheckUnique>true</CheckUnique>
|
||||
<Autonumbering>true</Autonumbering>
|
||||
<DefaultPresentation>AsDescription</DefaultPresentation>
|
||||
<Characteristics/>
|
||||
<PredefinedDataUpdate>Auto</PredefinedDataUpdate>
|
||||
<EditType>InDialog</EditType>
|
||||
<QuickChoice>false</QuickChoice>
|
||||
<ChoiceMode>BothWays</ChoiceMode>
|
||||
<InputByString>
|
||||
<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/>
|
||||
<DefaultFolderForm/>
|
||||
<DefaultListForm/>
|
||||
<DefaultChoiceForm/>
|
||||
<DefaultFolderChoiceForm/>
|
||||
<AuxiliaryObjectForm/>
|
||||
<AuxiliaryFolderForm/>
|
||||
<AuxiliaryListForm/>
|
||||
<AuxiliaryChoiceForm/>
|
||||
<AuxiliaryFolderChoiceForm/>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<BasedOn/>
|
||||
<DataLockFields/>
|
||||
<DataLockControlMode>Managed</DataLockControlMode>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<ObjectPresentation/>
|
||||
<ExtendedObjectPresentation/>
|
||||
<ListPresentation/>
|
||||
<ExtendedListPresentation/>
|
||||
<Explanation/>
|
||||
<CreateOnInput>Use</CreateOnInput>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<DataHistory>DontUse</DataHistory>
|
||||
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<Attribute uuid="92ba7504-e3fc-4b06-b832-ec7b921c3542">
|
||||
<Properties>
|
||||
<Name>Имя</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Имя</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>100</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</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:type="xs:string"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Use>ForItem</Use>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
</ChildObjects>
|
||||
</Catalog>
|
||||
</MetaDataObject>
|
||||
@@ -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>
|
||||
@@ -220,6 +220,90 @@
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
<Attribute uuid="7bc919dd-95d1-4865-9036-aa53d7f54290">
|
||||
<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>
|
||||
<Use>ForItem</Use>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
<Attribute uuid="37de3f9a-734b-4c65-93e1-dabb9d75bf68">
|
||||
<Properties>
|
||||
<Name>ДополнительнаяИнформация</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Дополнительная информация</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</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:type="xs:string"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Use>ForItem</Use>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
</ChildObjects>
|
||||
</Catalog>
|
||||
</MetaDataObject>
|
||||
@@ -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"] Цикл
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = "" + ПараметрОтвета.Ключ + "=" + ПараметрОтвета.Значение;
|
||||
Сообщение.Сообщить();
|
||||
КонецЦикла;
|
||||
КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
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="f7536eb7-75ea-449e-b9b4-7f3b5295fe84">
|
||||
<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>
|
||||
407
src/cf/CommonModules/БотОбщегоНазначения/Ext/Module.bsl
Normal file
407
src/cf/CommonModules/БотОбщегоНазначения/Ext/Module.bsl
Normal file
@@ -0,0 +1,407 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ОбработкаКомандыБота(Тело) Экспорт
|
||||
|
||||
МассивОбновленийТелеграм = ТелеграмОбщегоНазначенияВызовСервера.ОбновленияТелеграм(Тело);
|
||||
Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл
|
||||
ТелеграмОбщегоНазначенияВызовСервера.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
|
||||
|
||||
Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда
|
||||
ОбработатьСообщение(ОбновлениеТелеграм);
|
||||
ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда
|
||||
ОбработатьКоллбэк(ОбновлениеТелеграм);
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ОбработатьСообщение(ОбновлениеТелеграм)
|
||||
|
||||
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
||||
КомандаДляОбработки = ОбновлениеТелеграм.Сообщение.text;
|
||||
|
||||
Если КомандаДляОбработки = "/start" Тогда
|
||||
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/subscribe" Тогда
|
||||
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/add" Тогда
|
||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/delete" Тогда
|
||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/notify_on" Тогда
|
||||
ОбработатьКомандуВключитьУведомления(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/notify_off" Тогда
|
||||
ОбработатьКомандуВыключитьУведомления(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/status" Тогда
|
||||
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
|
||||
ИначеЕсли КомандаДляОбработки = "/help" Тогда
|
||||
ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм);
|
||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
|
||||
Иначе
|
||||
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКоллбэк(ОбновлениеТелеграм)
|
||||
|
||||
Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
|
||||
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion)) Тогда
|
||||
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion)) Тогда
|
||||
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus)) Тогда
|
||||
ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn)) Тогда
|
||||
УстановитьПериодУведомления(Данные, ОбновлениеТелеграм.ИдЧата);
|
||||
Иначе
|
||||
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
|
||||
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||
|
||||
Если Конфигурация <> Неопределено Тогда
|
||||
ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС
|
||||
+ Символы.ВК + Символы.ПС
|
||||
+ "Для корректного отслеживания обновлений введите версию конфигурации (четыре группы цифр, разделённых точками):"
|
||||
+ Символы.ПС + "Например: 3.1.30.197";
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
|
||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии, ИмяКонфигурации);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УдалитьКонфигурациюИзСпискаОтслеживания(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||
|
||||
Если Конфигурация <> Неопределено Тогда
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.Конфигурация = Конфигурация;
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
Попытка
|
||||
МенеджерЗаписи.Удалить();
|
||||
ТекстОтвета = СтрШаблон("Конфигурация ""%1"" удалена из списка отслеживания", Конфигурация.Наименование);
|
||||
Исключение
|
||||
ТекстОтвета = "При удалении данных возникла ошибка";
|
||||
КонецПопытки;
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПолучитьДанныеСтатусаКонфигурации(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||
|
||||
Если Конфигурация <> Неопределено Тогда
|
||||
ДанныеКонфигурации = РаботаСОбновлениямиВызовСервера.СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация);
|
||||
|
||||
Если ДанныеКонфигурации = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатСравненияВерсий = РаботаСОбновлениямиВызовСервера.СравнитьВерсииКонфигураций(
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия);
|
||||
|
||||
Если РезультатСравненияВерсий <> Неопределено Тогда
|
||||
Если РезультатСравненияВерсий < 0 Тогда
|
||||
Диагностика = "Необходимо обновить текущую версию.";
|
||||
ИначеЕсли РезультатСравненияВерсий > 0 Тогда
|
||||
Диагностика = "Текущая версия не может быть старше актуальной!";
|
||||
Иначе
|
||||
Диагностика = "Обновление текущей версии не требуется.";
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Диагностика = "";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОтвета = СтрШаблон("ℹ %1%2<code>%3</code> → <code>%4</code>%5%6",
|
||||
ДанныеКонфигурации.Наименование,
|
||||
Символы.ПС,
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия,
|
||||
Символы.ПС,
|
||||
Диагностика);
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
Иначе
|
||||
ТекстОтвета = "По данной конфигурации информация отсутствует.";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПериодУведомления(ТекстСообщения, ИдЧата)
|
||||
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
|
||||
|
||||
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПериодичностьИмя = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||
Периодичность = Перечисления.ПериодичностьУведомлений[ПериодичностьИмя];
|
||||
УправлениеОповещениями(ИдЧата, Периодичность);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Версия = ОбновлениеТелеграм.Сообщение.text;
|
||||
|
||||
Если НЕ ВерсияКонфигурацииКорректна(Версия) Тогда
|
||||
ТекстОтвета = СтрШаблон("Вы ввели некорректный номер версии: %1%2Для корректного отслеживания обновлений нужно
|
||||
|ввести версию конфигурации(четыре группы цифр, разделённых точками):Например: 3.1.30.197.", Версия, Символы.ПС);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ДанныеПользователя.ДополнительнаяИнформация);
|
||||
Ответ = РаботаСОбновлениямиВызовСервера.АктуальнаяВерсияКонфигурации(Конфигурация, Версия);
|
||||
|
||||
Если НЕ Ответ.Успех Тогда
|
||||
ТекстОтвета = "При получении данных с сервера произошла ошибка";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
АктуальнаяВерсия = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
|
||||
|
||||
Если АктуальнаяВерсия = Неопределено Тогда
|
||||
ТекстОтвета = СтрШаблон("Для указанной версии: %1 нет данных по актуальности", Версия);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.Конфигурация = Конфигурация;
|
||||
МенеджерЗаписи.ИдЧата = ИдЧата;
|
||||
МенеджерЗаписи.ТекущаяВерсия = Версия;
|
||||
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
|
||||
Попытка
|
||||
МенеджерЗаписи.Записать();
|
||||
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
|
||||
Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
|
||||
ТекстОтвета = СтрШаблон("Версия: %1 успешно добавлена", Версия);
|
||||
Исключение
|
||||
ТекстОтвета = "При сохранении данных возникла ошибка";
|
||||
КонецПопытки;
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ВерсияКонфигурацииКорректна(Версия)
|
||||
|
||||
Попытка
|
||||
РегулярноеВыражение = "^\d+\.\d+\.\d+\.\d+$";
|
||||
Возврат СтрПодобнаПоРегулярномуВыражению(Версия, РегулярноеВыражение);
|
||||
Исключение
|
||||
МассивГруппЦифр = СтрРазделить(Версия, ".");
|
||||
Если МассивГруппЦифр.Количество() <> 4 Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
Для Каждого ГруппаЦифрВерсии Из МассивГруппЦифр Цикл
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ТолькоЦифрыВСтроке(ГруппаЦифрВерсии) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Истина;
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьКомандуСтарт(ОбновлениеТелеграм)
|
||||
|
||||
ТекстОтвета = "👋 Привет!"
|
||||
+ Символы.ПС
|
||||
+ "Я - бот, который поможет тебе следить за обновлениями конфигураций 1С."
|
||||
+ Символы.ПС + Символы.ВК + Символы.ПС
|
||||
+ "Что я умею:" + Символы.ПС
|
||||
+ "- Отслеживать новые релизы" + Символы.ПС
|
||||
+ "- Присылать уведомления о выходе обновлений" + Символы.ПС
|
||||
+ "- Показывать текущую информацию о статусе конфигурации" + Символы.ПС
|
||||
+ Символы.ПС
|
||||
+ СписокПоддерживаемыхКоманд();
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуПодписки(ОбновлениеТелеграм)
|
||||
|
||||
СписокКонфигураций = РаботаСОбновлениямиВызовСервера.СписокКонфигураций(ОбновлениеТелеграм.ИдЧата);
|
||||
ТекстОтвета = "";
|
||||
|
||||
Если СписокКонфигураций.Количество() = 0 Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
Иначе
|
||||
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
|
||||
ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "✅", "◼️"),
|
||||
ПунктМенюПодписки.Наименование, Символы.ПС);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
|
||||
Перечисления.ТелеграмРежимРазметки.HTML);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
|
||||
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
|
||||
КонецЕсли;
|
||||
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
|
||||
ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений";
|
||||
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм)
|
||||
|
||||
ИдЧата = ОбновлениеТелеграм.ИдЧата;
|
||||
Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
|
||||
|
||||
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
|
||||
Если МассивРядов = Неопределено Тогда
|
||||
ТекстОтвета = "Не удалось получить список конфигураций";
|
||||
ТелеграмМетодыВызовСервера.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",
|
||||
Эмодзи,
|
||||
ДанныеКонфигурации.КонфигурацияПредставление,
|
||||
Символы.ПС,
|
||||
ДанныеКонфигурации.ТекущаяВерсия,
|
||||
ДанныеКонфигурации.АктуальнаяВерсия,
|
||||
Символы.ПС,
|
||||
Символы.ПС);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
23
src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml
Normal file
23
src/cf/CommonModules/ОбщегоНазначенияКлиентСервер.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
|
||||
<CommonModule uuid="6369b63c-3a4f-418b-8ae9-4cf9a6742883">
|
||||
<Properties>
|
||||
<Name>ОбщегоНазначенияКлиентСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Общего назначения клиент сервер</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ТолькоЦифрыВСтроке(Знач Значение, Знач ПробелыЗапрещены = Истина) Экспорт
|
||||
|
||||
Если ТипЗнч(Значение) <> Тип("Строка") Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПробелыЗапрещены Тогда
|
||||
Значение = СтрЗаменить(Значение, " ", "");
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрДлина(Значение) = 0 Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// Пошаговая очистка строки от всех цифр
|
||||
БезНулей = СтрЗаменить(Значение, "0", "");
|
||||
БезЕдиниц = СтрЗаменить(БезНулей, "1", "");
|
||||
БезДвоек = СтрЗаменить(БезЕдиниц, "2", "");
|
||||
БезТроек = СтрЗаменить(БезДвоек, "3", "");
|
||||
БезЧетверок = СтрЗаменить(БезТроек, "4", "");
|
||||
БезПятерок = СтрЗаменить(БезЧетверок, "5", "");
|
||||
БезШестерок = СтрЗаменить(БезПятерок, "6", "");
|
||||
БезСемерок = СтрЗаменить(БезШестерок, "7", "");
|
||||
БезВосьмерок = СтрЗаменить(БезСемерок, "8", "");
|
||||
БезДевяток = СтрЗаменить(БезВосьмерок, "9", "");
|
||||
|
||||
Возврат СтрДлина(БезДевяток) = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
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="69c00569-29bd-456e-ac21-74f8b74451f3">
|
||||
<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,351 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция АктуальнаяВерсияКонфигурации(Конфигурация, ВерсияКонфигурации, ВерсияПлатформы = Неопределено) Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("info");
|
||||
ТелоЗапроса = Новый Структура("programName", Конфигурация.Имя);
|
||||
ТелоЗапроса.Вставить("versionNumber", ВерсияКонфигурации);
|
||||
ТелоЗапроса.Вставить("updateType", "NewConfigurationAndOrPlatform");
|
||||
|
||||
Если ВерсияПлатформы <> Неопределено Тогда
|
||||
ТелоЗапроса.Вставить("platformVersion", ВерсияПлатформы);
|
||||
Иначе
|
||||
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1");
|
||||
КонецЕсли;
|
||||
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонфигурацииИзПодписки(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК КонфигурацияНаименование,
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Имя КАК КонфигурацияИмя,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
МассивКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = Новый Структура;
|
||||
Конфигурация.Вставить("Наименование", ВыборкаДетальныеЗаписи.КонфигурацияНаименование);
|
||||
Конфигурация.Вставить("Имя", ВыборкаДетальныеЗаписи.КонфигурацияИмя);
|
||||
Конфигурация.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
|
||||
Конфигурация.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
МассивКонфигураций.Добавить(Конфигурация);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивКонфигураций;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК Наименование,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||||
| И ОтслеживаниеВерсийКонфигураций.Конфигурация = &Конфигурация";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
Запрос.УстановитьПараметр("Конфигурация", Конфигурация);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Результат = Новый Структура("Наименование, ТекущаяВерсия, АктуальнаяВерсия",
|
||||
ВыборкаДетальныеЗаписи.Наименование,
|
||||
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокКонфигураций(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК КонфигурацияНаименование,
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Имя КАК КонфигурацияИмя,
|
||||
| ИСТИНА КАК Подписка
|
||||
|ПОМЕСТИТЬ ВТ_ОтслеживаемыеКонфигурации
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Конфигурации.Наименование КАК Наименование,
|
||||
| Конфигурации.Имя КАК Имя,
|
||||
| ЕСТЬNULL(ВТ_ОтслеживаемыеКонфигурации.Подписка, ЛОЖЬ) КАК Подписка
|
||||
|ИЗ
|
||||
| Справочник.Конфигурации КАК Конфигурации
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтслеживаемыеКонфигурации КАК ВТ_ОтслеживаемыеКонфигурации
|
||||
| ПО (ВТ_ОтслеживаемыеКонфигурации.Конфигурация = Конфигурации.Ссылка)
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Подписка УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
МассивКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = Новый Структура("Наименование, Имя, Подписка", ВыборкаДетальныеЗаписи.Наименование,
|
||||
ВыборкаДетальныеЗаписи.Имя, ВыборкаДетальныеЗаписи.Подписка);
|
||||
|
||||
МассивКонфигураций.Добавить(Конфигурация);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивКонфигураций;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонфигурацияПоИмени(ИмяКонфигурации) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Конфигурации.Ссылка КАК Конфигурация
|
||||
|ИЗ
|
||||
| Справочник.Конфигурации КАК Конфигурации
|
||||
|ГДЕ
|
||||
| Конфигурации.Имя = &Имя";
|
||||
|
||||
Запрос.УстановитьПараметр("Имя", ИмяКонфигурации);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Возврат ВыборкаДетальныеЗаписи.Конфигурация;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьДанныеПользователя(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмПользователи.Ссылка КАК Ссылка,
|
||||
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|
||||
|ГДЕ
|
||||
| ТелеграмПользователи.id = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||
Если ПользовательОбъект <> Неопределено Тогда
|
||||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||
ПользовательОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДанныеПользователя(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога,
|
||||
| ТелеграмПользователи.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|
||||
|ГДЕ
|
||||
| ТелеграмПользователи.id = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Возврат Новый Структура("СтатусДиалога, ДополнительнаяИнформация", ВыборкаДетальныеЗаписи.СтатусДиалога,
|
||||
ВыборкаДетальныеЗаписи.ДополнительнаяИнформация);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокНеактуальныхКонфигурацийДляУведомления() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| УведомленияОНовыхВерсиях.ИдЧата КАК ИдЧата
|
||||
|ПОМЕСТИТЬ ВТ_ЧатыПолучающиеУведомления
|
||||
|ИЗ
|
||||
| РегистрСведений.УведомленияОНовыхВерсиях КАК УведомленияОНовыхВерсиях
|
||||
|ГДЕ
|
||||
| УведомленияОНовыхВерсиях.Периодичность <> ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.НеУведомлять)
|
||||
| И ВЫБОР
|
||||
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждыйЧас)
|
||||
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ЧАС, -1)
|
||||
| ТОГДА ИСТИНА
|
||||
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждыйДень)
|
||||
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, -1)
|
||||
| ТОГДА ИСТИНА
|
||||
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждуюНеделю)
|
||||
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, НЕДЕЛЯ, -1)
|
||||
| ТОГДА ИСТИНА
|
||||
| ИНАЧЕ ЛОЖЬ
|
||||
| КОНЕЦ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||||
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ОтслеживаниеВерсийКонфигураций.Конфигурация) КАК КонфигурацияПредставление,
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия <> ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия
|
||||
| И ОтслеживаниеВерсийКонфигураций.ИдЧата В
|
||||
| (ВЫБРАТЬ
|
||||
| Т.ИдЧата КАК ИдЧата
|
||||
| ИЗ
|
||||
| ВТ_ЧатыПолучающиеУведомления КАК Т)
|
||||
|ИТОГИ ПО
|
||||
| ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаИдЧата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
|
||||
ДанныеДляУведомлений = Новый Массив;
|
||||
|
||||
Пока ВыборкаИдЧата.Следующий() Цикл
|
||||
ВыборкаДетальныеЗаписи = ВыборкаИдЧата.Выбрать();
|
||||
ДанныеВерсийКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
ВерсииКонфигурации = Новый Структура;
|
||||
ВерсииКонфигурации.Вставить("КонфигурацияПредставление", ВыборкаДетальныеЗаписи.КонфигурацияПредставление);
|
||||
ВерсииКонфигурации.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
|
||||
ВерсииКонфигурации.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
|
||||
РезультатСравнения = СравнитьВерсииКонфигураций(ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||||
ВерсииКонфигурации.Вставить("РезультатСравнения", РезультатСравнения);
|
||||
ДанныеВерсийКонфигураций.Добавить(ВерсииКонфигурации);
|
||||
КонецЦикла;
|
||||
|
||||
УведомлениеИнформация = Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций);
|
||||
ДанныеДляУведомлений.Добавить(УведомлениеИнформация);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДанныеДляУведомлений;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает результат сравнения двух версий конфигураций: текущей и актуальной.
|
||||
//
|
||||
// Параметры:
|
||||
// ТекущаяВерсия - Строка - версия, установленная у пользователя
|
||||
// АктуальнаяВерсия - Строка - версия, полученная с сайта вендора
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Отрицательное число - текущая версия меньше актуальной
|
||||
// Положительное число - актуальная версия меньше текущей
|
||||
// Ноль - номера версий одинаковые
|
||||
//
|
||||
Функция СравнитьВерсииКонфигураций(ТекущаяВерсия, АктуальнаяВерсия) Экспорт
|
||||
|
||||
НаборГруппТекущаяВерсия = СтрРазделить(ТекущаяВерсия, ".");
|
||||
НаборГруппАктуальнаяВерсия = СтрРазделить(АктуальнаяВерсия, ".");
|
||||
|
||||
Если НаборГруппТекущаяВерсия.Количество() = 0 ИЛИ НаборГруппАктуальнаяВерсия.Количество() = 0 Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
МаксИндексТекущаяВерсия = НаборГруппТекущаяВерсия.ВГраница();
|
||||
МаксИндексАктуальнаяВерсия = НаборГруппАктуальнаяВерсия.ВГраница();
|
||||
|
||||
Для Индекс = 0 По Макс(МаксИндексТекущаяВерсия, МаксИндексАктуальнаяВерсия) Цикл
|
||||
ГруппаТекущаяВерсия = ?(Индекс <= МаксИндексТекущаяВерсия, Число(НаборГруппТекущаяВерсия[Индекс]), 0);
|
||||
ГруппаАктуальнаяВерсия = ?(Индекс <= МаксИндексАктуальнаяВерсия, Число(НаборГруппАктуальнаяВерсия[Индекс]), 0);
|
||||
|
||||
Компаратор = ГруппаТекущаяВерсия - ГруппаАктуальнаяВерсия;
|
||||
Если Компаратор <> 0 Тогда
|
||||
Возврат Компаратор;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция БазовыйАдрес()
|
||||
|
||||
Возврат "update-platform/programs/update";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АдресРесурсаПоИмениМетода(ИмяМетода)
|
||||
|
||||
Возврат СтрШаблон("%1/%2", БазовыйАдрес(), ИмяМетода);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовоеСоединениеХТТП(Таймаут = 0)
|
||||
|
||||
Возврат Новый HTTPСоединение("update-api.1c.ru", 443, , , , ?(Таймаут > 0, Таймаут, 15),
|
||||
Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -14,8 +14,8 @@
|
||||
<ClientManagedApplication>true</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,7 @@
|
||||
Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ПолучитьРасширениеИмениФайла(Знач ИмяФайла) Экспорт
|
||||
|
||||
РасширениеФайла = "";
|
||||
МассивСтрок = СтрРазделить(ИмяФайла, ".", Ложь);
|
||||
@@ -8,3 +11,5 @@
|
||||
Возврат РасширениеФайла;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -13,7 +13,7 @@
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция SendMessage(ИдЧата, СообщениеДляОтправки, Клавиатура = Неопределено) Экспорт
|
||||
Функция SendMessage(ИдЧата, СообщениеДляОтправки, РежимРазметки = Неопределено, Клавиатура = Неопределено) Экспорт
|
||||
|
||||
ТелоЗапроса = Новый Структура("chat_id, text", ИдЧата, СообщениеДляОтправки);
|
||||
|
||||
@@ -8,8 +8,16 @@
|
||||
ТелоЗапроса.Вставить("reply_markup", Клавиатура);
|
||||
КонецЕсли;
|
||||
|
||||
Если РежимРазметки <> Неопределено Тогда
|
||||
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML
|
||||
ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
|
||||
ТелоЗапроса.Вставить("parse_mode", Строка(РежимРазметки));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(АдресРесурса,, ТелоЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -17,31 +25,38 @@
|
||||
|
||||
ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция DeleteWebhook() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetWebhookInfo() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetUpdates() Экспорт
|
||||
Функция GetUpdates(Таймаут = 0) Экспорт
|
||||
|
||||
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0,0,
|
||||
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
Смещение = ? (ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() = 0, 0,
|
||||
Формат(ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
||||
Если Таймаут > 0 Тогда
|
||||
ПараметрыЗапроса.Вставить("timeout", Таймаут);
|
||||
КонецЕсли;
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП(Таймаут);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -49,14 +64,16 @@
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
|
||||
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetMe() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getMe");
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -64,9 +81,10 @@
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("sendDocument");
|
||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель);
|
||||
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Разделитель, Надпись, БезУведомления);
|
||||
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(АдресРесурса,, ДанныеДокумента);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ДанныеДокумента);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -84,7 +102,8 @@
|
||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||
ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
|
||||
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||
Соединение = НовоеСоединениеХТТП();
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -104,12 +123,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Надпись = Неопределено, БезУведомления = Ложь, Разделитель)
|
||||
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Разделитель, Надпись = Неопределено, БезУведомления = Ложь)
|
||||
|
||||
//Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
|
||||
// Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
|
||||
// Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса.
|
||||
|
||||
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла") И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
|
||||
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла")
|
||||
И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
|
||||
ВызватьИсключение "Неверный параметр Документ: ожидается непустой объект, содержащий двоичные данные";
|
||||
КонецЕсли;
|
||||
|
||||
@@ -147,7 +167,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено, ТипСодержимого = Неопределено)
|
||||
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено,
|
||||
ТипСодержимого = Неопределено)
|
||||
|
||||
Если Значение = Неопределено Тогда
|
||||
Возврат;
|
||||
@@ -155,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", ТипСодержимого));
|
||||
@@ -188,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,44 +40,32 @@
|
||||
Если ЭтоМассивОбновлений(ДанныеОбновления) Тогда
|
||||
МассивОбновлений = ДанныеОбновления["result"];
|
||||
Для каждого Обновление Из МассивОбновлений Цикл
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||
ПараметрыСообщения = ПараметрыСообщения(Обновление);
|
||||
Если ПараметрыСообщения <> Неопределено Тогда
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||
ПараметрыСообщения = ПараметрыСообщения(ДанныеОбновления);
|
||||
Если ПараметрыСообщения <> Неопределено Тогда
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат МассивСообщенийТелеграм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтруктураСообщенияТелеграм(Обновление)
|
||||
|
||||
ДанныеСообщения = Обновление["message"];
|
||||
|
||||
ПараметрыСообщения = Новый Структура;
|
||||
ПараметрыСообщения.Вставить("ИдСообщения", Обновление["update_id"]);
|
||||
|
||||
Автор = АвторСообщения(ДанныеСообщения["from"]);
|
||||
ПараметрыСообщения.Вставить("Автор", Автор);
|
||||
|
||||
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения, Автор);
|
||||
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
|
||||
|
||||
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
|
||||
|
||||
ИдЧата = ДанныеСообщения["chat"]["id"];
|
||||
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
|
||||
|
||||
Возврат ПараметрыСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи = РегистрыСведений.ТелеграмИсторияСообщений.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураСообщения);
|
||||
Если СтруктураСообщения.Свойство("ИдКоллбэкЗапроса") Тогда
|
||||
МенеджерЗаписи.ИдСообщения = СтруктураСообщения.ИдКоллбэкЗапроса;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерЗаписи.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -107,7 +73,8 @@
|
||||
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
||||
|
||||
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса,, Истина);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, , Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -143,8 +110,9 @@
|
||||
|
||||
ИдОбновления = СоответствиеОбновления.Получить("update_id");
|
||||
Сообщение = СоответствиеОбновления.Получить("message");
|
||||
КоллбэкЗапрос = СоответствиеОбновления.Получить("callback_query");
|
||||
|
||||
Если ИдОбновления <> Неопределено И Сообщение <> Неопределено Тогда
|
||||
Если ИдОбновления <> Неопределено И (Сообщение <> Неопределено ИЛИ КоллбэкЗапрос <> Неопределено) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -155,13 +123,13 @@
|
||||
Функция АвторСообщения(СоответствиеОт)
|
||||
|
||||
Если СоответствиеОт.Получить("id") = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмПользователь.НеОпределен;
|
||||
Возврат Справочники.ТелеграмПользователи.НеОпределен;
|
||||
КонецЕсли;
|
||||
|
||||
Автор = Справочники.ТелеграмПользователь.НайтиПоРеквизиту("id", СоответствиеОт["id"]);
|
||||
Автор = Справочники.ТелеграмПользователи.НайтиПоРеквизиту("id", СоответствиеОт["id"]);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Автор) Тогда
|
||||
НовыйПользователь = Справочники.ТелеграмПользователь.СоздатьЭлемент();
|
||||
НовыйПользователь = Справочники.ТелеграмПользователи.СоздатьЭлемент();
|
||||
НовыйПользователь.Наименование = СоответствиеОт["first_name"];
|
||||
НовыйПользователь.id = СоответствиеОт["id"];
|
||||
НовыйПользователь.last_name = СоответствиеОт["last_name"];
|
||||
@@ -179,13 +147,13 @@
|
||||
ИдСообщения = СообщениеДляОбработки.Получить("message_id");
|
||||
|
||||
Если ИдСообщения = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмСообщение.ПустаяСсылка();
|
||||
Возврат Справочники.ТелеграмСообщения.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
ИтоговоеСообщение = Справочники.ТелеграмСообщение.НайтиПоРеквизиту("id", ИдСообщения);
|
||||
ИтоговоеСообщение = Справочники.ТелеграмСообщения.НайтиПоРеквизиту("id", ИдСообщения);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИтоговоеСообщение) Тогда
|
||||
НовоеСообщение = Справочники.ТелеграмСообщение.СоздатьЭлемент();
|
||||
НовоеСообщение = Справочники.ТелеграмСообщения.СоздатьЭлемент();
|
||||
НовоеСообщение.Наименование = "Сообщение № " + ИдСообщения + " от " + Автор;
|
||||
НовоеСообщение.id = ИдСообщения;
|
||||
НовоеСообщение.Автор = Автор;
|
||||
@@ -209,13 +177,13 @@
|
||||
ИдДокумента = СоответствиеДокумент.Получить("file_unique_id");
|
||||
|
||||
Если ИдДокумента = Неопределено Тогда
|
||||
Возврат Справочники.ТелеграмДокумент.ПустаяСсылка();
|
||||
Возврат Справочники.ТелеграмДокументы.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
ИтоговыйДокумент = Справочники.ТелеграмДокумент.НайтиПоРеквизиту("id", ИдДокумента);
|
||||
ИтоговыйДокумент = Справочники.ТелеграмДокументы.НайтиПоРеквизиту("id", ИдДокумента);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИтоговыйДокумент) Тогда
|
||||
НовыйДокумент = Справочники.ТелеграмДокумент.СоздатьЭлемент();
|
||||
НовыйДокумент = Справочники.ТелеграмДокументы.СоздатьЭлемент();
|
||||
НовыйДокумент.Наименование = СоответствиеДокумент["file_name"];
|
||||
НовыйДокумент.id = ИдДокумента;
|
||||
|
||||
@@ -238,7 +206,70 @@
|
||||
|
||||
Функция TimeStampToDate(ЮниксТайм)
|
||||
|
||||
Возврат Дата(1970,1,1,1,0,0) + СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + ЮниксТайм;
|
||||
Возврат Дата(1970, 1, 1, 1, 0, 0) + СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + ЮниксТайм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыСообщения(ДанныеОбновления)
|
||||
|
||||
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
||||
Результат = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
||||
Результат = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
||||
Иначе
|
||||
Результат = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтруктураСообщенияТелеграм(Обновление)
|
||||
|
||||
ДанныеСообщения = Обновление["message"];
|
||||
|
||||
ПараметрыСообщения = Новый Структура;
|
||||
ПараметрыСообщения.Вставить("ИдСообщения", Обновление["update_id"]);
|
||||
|
||||
Автор = АвторСообщения(ДанныеСообщения["from"]);
|
||||
ПараметрыСообщения.Вставить("Автор", Автор);
|
||||
|
||||
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения, Автор);
|
||||
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
|
||||
|
||||
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
|
||||
|
||||
ИдЧата = ДанныеСообщения["chat"]["id"];
|
||||
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
|
||||
|
||||
Возврат ПараметрыСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтруктураКоллбэкЗапроса(Обновление)
|
||||
|
||||
ДанныеСообщения = Обновление["callback_query"];
|
||||
|
||||
ПараметрыСообщения = Новый Структура;
|
||||
ПараметрыСообщения.Вставить("ИдКоллбэкЗапроса", Обновление["update_id"]);
|
||||
|
||||
Автор = АвторСообщения(ДанныеСообщения["from"]);
|
||||
ПараметрыСообщения.Вставить("Автор", Автор);
|
||||
|
||||
Если ДанныеСообщения.Получить("message") <> Неопределено Тогда
|
||||
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения["message"], Автор);
|
||||
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
|
||||
|
||||
ИдЧата = Автор.id;
|
||||
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
|
||||
|
||||
ДанныеКоллбэка = ДанныеСообщения["data"];
|
||||
ПараметрыСообщения.Вставить("ДанныеКоллбэка", ДанныеКоллбэка);
|
||||
|
||||
Возврат ПараметрыСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -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,12 +1,23 @@
|
||||
Функция ТелеграмТокен() Экспорт
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ТелеграмТокен() Экспорт
|
||||
|
||||
Возврат Константы.ТелеграмТокен.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Функция Логировать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,7 @@
|
||||
Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция КлавиатураОтвета(Клавиатура, Компактная = Ложь, Одноразовая = Ложь) Экспорт
|
||||
|
||||
СоответствиеКлавиатуры = Новый Соответствие();
|
||||
|
||||
@@ -16,7 +19,34 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КнопкаКлавиатуры(Надпись) Экспорт
|
||||
Функция КлавиатураВстроенная(Клавиатура) Экспорт
|
||||
|
||||
СоответствиеКлавиатуры = Новый Соответствие();
|
||||
|
||||
СоответствиеКлавиатуры.Вставить("inline_keyboard", Клавиатура);
|
||||
|
||||
Возврат СоответствиеКлавиатуры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КнопкаКлавиатурыВстроенной(Надпись, Url = Неопределено, CallbackData = Неопределено) Экспорт
|
||||
|
||||
СоответствиеКнопка = Новый Соответствие;
|
||||
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
||||
|
||||
Если Url <> Неопределено Тогда
|
||||
СоответствиеКнопка.Вставить("url", Url);
|
||||
КонецЕсли;
|
||||
|
||||
Если CallbackData <> Неопределено Тогда
|
||||
СоответствиеКнопка.Вставить("callback_data", CallbackData);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СоответствиеКнопка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КнопкаКлавиатурыОтвета(Надпись) Экспорт
|
||||
|
||||
СоответствиеКнопка = Новый Соответствие;
|
||||
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
||||
@@ -34,12 +64,62 @@
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого НадписьКнопки Из МассивНаименованийКнопок Цикл
|
||||
Результат.Добавить(КнопкаКлавиатуры(НадписьКнопки));
|
||||
Результат.Добавить(КнопкаКлавиатурыОтвета(НадписьКнопки));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Подписка = Неопределено) Экспорт
|
||||
|
||||
СписокКонфигураций = РаботаСОбновлениямиВызовСервера.СписокКонфигураций(ИдЧата);
|
||||
|
||||
Если СписокКонфигураций.Количество() = 0 Тогда
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
МассивРядов = Новый Массив;
|
||||
Для каждого Конфигурация Из СписокКонфигураций Цикл
|
||||
Если НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация) Тогда
|
||||
МассивКнопок = Новый Массив;
|
||||
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(Конфигурация.Наименование, ,
|
||||
СтрШаблон("%1 %2", Команда, Конфигурация.Имя));
|
||||
МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Возврат МассивРядов;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МассивРядовСПериодамиОповещения(ИдЧата, Команда) Экспорт
|
||||
|
||||
МассивРядов = Новый Массив;
|
||||
|
||||
Для каждого ЗначениеПериода Из Метаданные.Перечисления.ПериодичностьУведомлений.ЗначенияПеречисления Цикл
|
||||
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(ЗначениеПериода.Синоним, ,
|
||||
СтрШаблон("%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,19 +1,20 @@
|
||||
// Получить обновления и обработать их по расписанию
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
|
||||
|
||||
// Проверка установлен ли вебхук
|
||||
Ответ = 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>
|
||||
@@ -13,7 +13,7 @@
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
@@ -1,6 +1,6 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ВыполнитьGetЗапрос(АдресРесурса, Параметры = Неопределено, ДвоичныеДанные = Ложь) Экспорт
|
||||
Функция ВыполнитьGetЗапрос(Соединение, АдресРесурса, Параметры = Неопределено, ДвоичныеДанные = Ложь) Экспорт
|
||||
|
||||
РезультатЗапроса = Новый Структура();
|
||||
РезультатЗапроса.Вставить("Успех", Ложь);
|
||||
@@ -9,19 +9,17 @@
|
||||
РезультатЗапроса.Вставить("ДвоичныеДанные", ДвоичныеДанные);
|
||||
|
||||
Попытка
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
Если Параметры <> Неопределено Тогда
|
||||
АдресРесурса = АдресРесурсаСПараметрами(АдресРесурса, Параметры);
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый HTTPЗапрос(АдресРесурса);
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
Запрос.Заголовки.Вставить("Content-Type", "application/json");
|
||||
Ответ = Соединение.Получить(Запрос);
|
||||
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
|
||||
|
||||
РезультатЗапроса.Тело = ?(ДвоичныеДанные, Ответ.ПолучитьТелоКакДвоичныеДанные(),
|
||||
HttpОбщегоНазначения.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
|
||||
ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
|
||||
|
||||
Если НЕ ДвоичныеДанные И РезультатЗапроса.Тело.Получить("description") <> Неопределено Тогда
|
||||
РезультатЗапроса.Описание = РезультатЗапроса.Тело["description"];
|
||||
@@ -31,25 +29,26 @@
|
||||
Если КодСостояния = 200 Тогда
|
||||
РезультатЗапроса.Успех = Истина;
|
||||
Иначе
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния,
|
||||
РезультатЗапроса.Описание));
|
||||
КонецЕсли;
|
||||
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
|
||||
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
|
||||
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
РезультатЗапроса.Успех = Ложь;
|
||||
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, РезультатЗапроса.Описание);
|
||||
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
|
||||
+ ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
|
||||
КонецПопытки;
|
||||
|
||||
Возврат РезультатЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьPostЗапрос(АдресРесурса, Параметры = Неопределено, Данные = Неопределено) Экспорт
|
||||
Функция ВыполнитьPostЗапрос(Соединение, АдресРесурса, Параметры = Неопределено, Данные = Неопределено) Экспорт
|
||||
|
||||
РезультатЗапроса = Новый Структура();
|
||||
РезультатЗапроса.Вставить("Успех", Ложь);
|
||||
@@ -57,8 +56,6 @@
|
||||
РезультатЗапроса.Вставить("Описание", "");
|
||||
|
||||
Попытка
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
Если Параметры <> Неопределено Тогда
|
||||
АдресРесурса = АдресРесурсаСПараметрами(АдресРесурса, Параметры);
|
||||
КонецЕсли;
|
||||
@@ -70,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Сервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
|
||||
КонецПопытки;
|
||||
|
||||
Возврат РезультатЗапроса;
|
||||
@@ -121,8 +120,8 @@
|
||||
ЧтениеJSON.Закрыть();
|
||||
Возврат ИтоговоеСоответствие;
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка,,,Ошибка);
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Неопределено;
|
||||
@@ -135,7 +134,6 @@
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ЗаписьJSON = Новый ЗаписьJSON;
|
||||
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(, Символы.Таб);
|
||||
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
|
||||
@@ -143,8 +141,8 @@
|
||||
ЗаписатьJSON(ЗаписьJSON, Объект);
|
||||
Возврат ЗаписьJSON.Закрыть();
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка,,,Ошибка);
|
||||
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Возврат "";
|
||||
@@ -168,23 +166,23 @@
|
||||
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
|
||||
СтруктураОтвета = Новый Структура("result, description", "error", КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
СтруктураОтвета = Новый Структура("result, description", "error",
|
||||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
Возврат ОтветJson(СтруктураОтвета, 500);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ОтветJson(Объект, КодСостояния)
|
||||
|
||||
Ответ = Новый HTTPСервисОтвет(КодСостояния);
|
||||
Ответ.Заголовки.Вставить("Content-Type","application/json");
|
||||
Ответ.Заголовки.Вставить("Content-Type", "application/json");
|
||||
Ответ.УстановитьТелоИзСтроки(ОбъектВСтрокуJson(Объект));
|
||||
|
||||
Возврат Ответ;
|
||||
@@ -213,12 +211,12 @@
|
||||
|
||||
АдресРесурса = СтрЗаменить(АдресРесурса, Константы.ТелеграмТокен.Получить(), "#token#");
|
||||
|
||||
Лог = Документы.ЛогHttpЗапроса.СоздатьДокумент();
|
||||
Лог = Документы.ЛогиХТТПЗапросов.СоздатьДокумент();
|
||||
Лог.Дата = ТекущаяДатаСеанса();
|
||||
Лог.HTTPЗапрос = АдресРесурса;
|
||||
Лог.Запрос = АдресРесурса;
|
||||
Лог.Метод = Метод;
|
||||
Лог.КодСостояния = КодСостояния;
|
||||
Лог.HTTPОтвет = HttpОбщегоНазначения.ФорматированныйJson(ТелоОтветаКакСтрока);
|
||||
Лог.Ответ = ХТТПОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
|
||||
Лог.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -246,27 +246,47 @@
|
||||
<ChildObjects>
|
||||
<Language>Русский</Language>
|
||||
<Subsystem>ТелеграмБот</Subsystem>
|
||||
<Subsystem>Обновления</Subsystem>
|
||||
<Subsystem>Администрирование</Subsystem>
|
||||
<CommonPicture>КартинкаБот</CommonPicture>
|
||||
<CommonModule>HttpОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
|
||||
<CommonModule>ТелеграмОбщегоНазначения</CommonModule>
|
||||
<CommonModule>ТелеграмПовторноеИспользование</CommonModule>
|
||||
<CommonModule>ТелеграмРегламент</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>
|
||||
<HTTPService>HTTPСервис_Telegram</HTTPService>
|
||||
<ScheduledJob>ПроверкаОбновленийТелеграм</ScheduledJob>
|
||||
<CommonModule>ТелеграмРегламент</CommonModule>
|
||||
<CommonModule>ТелеграмРегламентВызовСервера</CommonModule>
|
||||
<HTTPService>СервисТелеграм</HTTPService>
|
||||
<ScheduledJob>ПроверкаАктуальностиКонфигураций</ScheduledJob>
|
||||
<FunctionalOption>ТелеграмИспользоватьВебХук</FunctionalOption>
|
||||
<Constant>ТелеграмТокен</Constant>
|
||||
<Constant>ТелеграмВебХук</Constant>
|
||||
<Constant>ЛогироватьHttpЗапросы</Constant>
|
||||
<CommonForm>ТелеграмВебХук</CommonForm>
|
||||
<Catalog>ТелеграмПользователь</Catalog>
|
||||
<Catalog>ТелеграмСообщение</Catalog>
|
||||
<Catalog>ТелеграмДокумент</Catalog>
|
||||
<Document>ЛогHttpЗапроса</Document>
|
||||
<Enum>МетодHTTPЗапроса</Enum>
|
||||
<DataProcessor>РаботаССообщениями</DataProcessor>
|
||||
<InformationRegister>ТелеграмСообщения</InformationRegister>
|
||||
<Constant>ТелеграмИспользоватьВебХук</Constant>
|
||||
<Constant>НачальноеЗаполнениеВыполнено</Constant>
|
||||
<CommonForm>Настройки</CommonForm>
|
||||
<Catalog>ТелеграмПользователи</Catalog>
|
||||
<Catalog>ТелеграмСообщения</Catalog>
|
||||
<Catalog>ТелеграмДокументы</Catalog>
|
||||
<Catalog>Конфигурации</Catalog>
|
||||
<Document>ЛогиХТТПЗапросов</Document>
|
||||
<Enum>МетодХТТПЗапроса</Enum>
|
||||
<Enum>ТелеграмРежимРазметки</Enum>
|
||||
<Enum>ТелеграмСтатусДиалога</Enum>
|
||||
<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="168a0153-7a94-49dc-9f9a-719c8b58bd1c">
|
||||
<DataProcessor uuid="155c92fe-5a0f-4b5a-9251-8f7187b8f8a6">
|
||||
<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 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>e4281817-188f-4d03-a366-9f47ac9832f9</xr:TypeId>
|
||||
<xr:ValueId>40dc4dda-7a39-482c-aab1-de02c4d74a6f</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,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,171 +0,0 @@
|
||||
&НаКлиенте
|
||||
Процедура ПолучитьСообщения(Команда)
|
||||
|
||||
Ответ = ПолучитьСообщенияНаСервере();
|
||||
ВывестиОтвет(Ответ);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПолучитьСообщенияНаСервере()
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
||||
|
||||
Если Ответ.Успех Тогда
|
||||
МассивРядов = Новый Массив;
|
||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("один;два;три");
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Выбрать конфигурацию;Актуальная версия;Калькулятор обновлений");
|
||||
МассивРядов.Добавить(МассивКнопок);
|
||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||
|
||||
МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
||||
Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
||||
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text, Клавиатура);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура getWebhookInfo(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.GetWebhookInfo();
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура SetWebHook(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.SetWebHook(АдресВебхук);
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура PostЗапрос(Команда)
|
||||
|
||||
Ответ = ТелеграмМетодыВызовСервера.SendMessage(248415372, СообщениеДляОтправки);
|
||||
Если НЕ Ответ = Неопределено Тогда
|
||||
ВывестиОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура 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>
|
||||
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="49b74ca2-e1cc-4ac3-9da2-d2e3c99a5044">
|
||||
<InternalInfo>
|
||||
<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: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:TypeId>6bf0eedb-c7aa-4a05-ae0f-3900e6b21ff7</xr:TypeId>
|
||||
<xr:ValueId>7947dc7b-96c2-4672-8ebe-c48dba063c3e</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>ВидыДанныхОбратныхВызовов</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Виды данных callbacks</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="e9994e9e-2232-4446-9340-1a27a3b395b1">
|
||||
<Properties>
|
||||
<Name>AddVersion</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Add version</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="cd9b7c80-8053-495b-aa4d-a1a7b838ee62">
|
||||
<Properties>
|
||||
<Name>DeleteVersion</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Delete version</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<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>
|
||||
123
src/cf/Enums/ТелеграмРежимРазметки.xml
Normal file
123
src/cf/Enums/ТелеграмРежимРазметки.xml
Normal file
@@ -0,0 +1,123 @@
|
||||
<?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="20a4c1d7-0d6d-46b6-9688-96f2e5008d67">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="EnumRef.ТелеграмРежимРазметки" category="Ref">
|
||||
<xr:TypeId>716b6266-61c5-4405-8959-1a9400cb9cfb</xr:TypeId>
|
||||
<xr:ValueId>762a0f01-d68f-4726-81f0-bdbc0d268266</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumManager.ТелеграмРежимРазметки" category="Manager">
|
||||
<xr:TypeId>1b7f3102-8448-4afd-a1f2-2d524015a6fb</xr:TypeId>
|
||||
<xr:ValueId>6089b7ea-1ceb-4f1a-9e85-1f3c4bf28807</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumList.ТелеграмРежимРазметки" category="List">
|
||||
<xr:TypeId>4fad24bb-d880-4658-9c42-b6d68a050841</xr:TypeId>
|
||||
<xr:ValueId>f597578f-6b7e-4d5e-9f34-dd82648cab4d</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>
|
||||
<StandardAttributes>
|
||||
<xr:StandardAttribute name="Order">
|
||||
<xr:LinkByType/>
|
||||
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||
<xr:MultiLine>false</xr:MultiLine>
|
||||
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||
<xr:TypeReductionMode>TransformValues</xr:TypeReductionMode>
|
||||
<xr:MaxValue xsi:nil="true"/>
|
||||
<xr:ToolTip/>
|
||||
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||
<xr:Format/>
|
||||
<xr:ChoiceForm/>
|
||||
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||
<xr:EditFormat/>
|
||||
<xr:PasswordMode>false</xr:PasswordMode>
|
||||
<xr:DataHistory>Use</xr:DataHistory>
|
||||
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||
<xr:MinValue xsi:nil="true"/>
|
||||
<xr:Synonym/>
|
||||
<xr:Comment/>
|
||||
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||
<xr:ChoiceParameterLinks/>
|
||||
<xr:FillValue xsi:nil="true"/>
|
||||
<xr:Mask/>
|
||||
<xr:ChoiceParameters/>
|
||||
</xr:StandardAttribute>
|
||||
<xr:StandardAttribute name="Ref">
|
||||
<xr:LinkByType/>
|
||||
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||
<xr:MultiLine>false</xr:MultiLine>
|
||||
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||
<xr:TypeReductionMode>TransformValues</xr:TypeReductionMode>
|
||||
<xr:MaxValue xsi:nil="true"/>
|
||||
<xr:ToolTip/>
|
||||
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||
<xr:Format/>
|
||||
<xr:ChoiceForm/>
|
||||
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||
<xr:EditFormat/>
|
||||
<xr:PasswordMode>false</xr:PasswordMode>
|
||||
<xr:DataHistory>Use</xr:DataHistory>
|
||||
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||
<xr:MinValue xsi:nil="true"/>
|
||||
<xr:Synonym/>
|
||||
<xr:Comment/>
|
||||
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||
<xr:ChoiceParameterLinks/>
|
||||
<xr:FillValue xsi:nil="true"/>
|
||||
<xr:Mask/>
|
||||
<xr:ChoiceParameters/>
|
||||
</xr:StandardAttribute>
|
||||
</StandardAttributes>
|
||||
<Characteristics/>
|
||||
<QuickChoice>true</QuickChoice>
|
||||
<ChoiceMode>BothWays</ChoiceMode>
|
||||
<DefaultListForm/>
|
||||
<DefaultChoiceForm/>
|
||||
<AuxiliaryListForm/>
|
||||
<AuxiliaryChoiceForm/>
|
||||
<ListPresentation/>
|
||||
<ExtendedListPresentation/>
|
||||
<Explanation/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<EnumValue uuid="fe70e9eb-1c35-4592-b822-43dfda2c2fe2">
|
||||
<Properties>
|
||||
<Name>HTML</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>HTML</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="b6092bdf-33c8-4a55-aacf-2d20a0838633">
|
||||
<Properties>
|
||||
<Name>Markdown</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Markdown</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
</ChildObjects>
|
||||
</Enum>
|
||||
</MetaDataObject>
|
||||
67
src/cf/Enums/ТелеграмСтатусДиалога.xml
Normal file
67
src/cf/Enums/ТелеграмСтатусДиалога.xml
Normal file
@@ -0,0 +1,67 @@
|
||||
<?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="2493ff18-0aaf-485d-bb57-d22fb2391ca0">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="EnumRef.ТелеграмСтатусДиалога" category="Ref">
|
||||
<xr:TypeId>cf2bd22c-53f7-4ac4-b9cd-481d538fa00e</xr:TypeId>
|
||||
<xr:ValueId>6d902a2a-3f17-4fd5-b737-7026d967c7b8</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumManager.ТелеграмСтатусДиалога" category="Manager">
|
||||
<xr:TypeId>8db25e5c-a1bf-4d76-aec6-db62437baabf</xr:TypeId>
|
||||
<xr:ValueId>70ab63bd-a1f5-4a77-9a44-aa12047391a8</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="EnumList.ТелеграмСтатусДиалога" category="List">
|
||||
<xr:TypeId>392a66d6-1ea8-4044-b85f-a259b75aea29</xr:TypeId>
|
||||
<xr:ValueId>f4d001cd-6eda-4cf1-b3a4-124be40377dd</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="98b22f32-3bf7-477a-9b02-e7633e1b63f2">
|
||||
<Properties>
|
||||
<Name>НачальноеСостояние</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Начальное состояние</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="9df045ba-f23b-466d-95da-56c46e2fcaf7">
|
||||
<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>
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
Функция ШаблонURL1PostGetUpdate(Запрос)
|
||||
|
||||
Попытка
|
||||
ТелеграмОбщегоНазначения.ОбработатьИСохранитьОбновленияТелеграм(Запрос.ПолучитьТелоКакСтроку());
|
||||
Ответ = HttpОбщегоНазначения.ОтветУспех();
|
||||
Возврат Ответ;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат HttpОбщегоНазначения.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ШаблонURL1GeBotInfo(Запрос)
|
||||
|
||||
Попытка
|
||||
ОтветБотИнфо = ТелеграмМетодыВызовСервера.GetMe();
|
||||
Если ОтветБотИнфо.Успех Тогда
|
||||
Ответ = Новый HTTPСервисОтвет(200);
|
||||
Ответ.УстановитьТелоИзСтроки(HttpОбщегоНазначения.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
|
||||
Возврат Ответ;
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат HttpОбщегоНазначения.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
@@ -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>
|
||||
34
src/cf/HTTPServices/СервисТелеграм/Ext/Module.bsl
Normal file
34
src/cf/HTTPServices/СервисТелеграм/Ext/Module.bsl
Normal file
@@ -0,0 +1,34 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Функция ШаблонURL1PostGetUpdate(Запрос)
|
||||
|
||||
Попытка
|
||||
БотОбщегоНазначения.ОбработкаКомандыБота(Запрос.ПолучитьТелоКакСтроку());
|
||||
Ответ = ХТТПОбщегоНазначенияВызовСервера.ОтветУспех();
|
||||
Возврат Ответ;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ШаблонURL1GeBotInfo(Запрос)
|
||||
|
||||
Попытка
|
||||
ОтветБотИнфо = ТелеграмМетодыВызовСервера.GetMe();
|
||||
Если ОтветБотИнфо.Успех Тогда
|
||||
Ответ = Новый HTTPСервисОтвет(200);
|
||||
Ответ.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
|
||||
Возврат Ответ;
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
246
src/cf/InformationRegisters/ОтслеживаниеВерсийКонфигураций.xml
Normal file
246
src/cf/InformationRegisters/ОтслеживаниеВерсийКонфигураций.xml
Normal file
@@ -0,0 +1,246 @@
|
||||
<?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="81a3feac-eb8c-4490-886b-425f5cff0df4">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="InformationRegisterRecord.ОтслеживаниеВерсийКонфигураций" category="Record">
|
||||
<xr:TypeId>6b4afa0e-51db-4766-9e39-0fb3ab26a53c</xr:TypeId>
|
||||
<xr:ValueId>9efb9f2a-77e7-4631-bf3f-e060f405f169</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterManager.ОтслеживаниеВерсийКонфигураций" category="Manager">
|
||||
<xr:TypeId>b8ce5fa4-67dd-4e84-a671-828606d960e6</xr:TypeId>
|
||||
<xr:ValueId>4c16d293-f895-4741-bfdc-e09deae19e4e</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterSelection.ОтслеживаниеВерсийКонфигураций" category="Selection">
|
||||
<xr:TypeId>98f953e9-3e02-471d-9946-671bad14b485</xr:TypeId>
|
||||
<xr:ValueId>14d52aff-7f68-4dea-a5a3-46e38a5fe272</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterList.ОтслеживаниеВерсийКонфигураций" category="List">
|
||||
<xr:TypeId>18ccae67-0396-4ad1-901f-0d0da9829a12</xr:TypeId>
|
||||
<xr:ValueId>4906b450-f288-4376-a567-6eef43baa603</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordSet.ОтслеживаниеВерсийКонфигураций" category="RecordSet">
|
||||
<xr:TypeId>5b2cd7a8-1324-42bd-92d8-7cf6e517a9b9</xr:TypeId>
|
||||
<xr:ValueId>649e7195-d7bf-43f1-8984-68603b04b4fa</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordKey.ОтслеживаниеВерсийКонфигураций" category="RecordKey">
|
||||
<xr:TypeId>743b6752-39c5-45cd-98ad-048994a2fdbb</xr:TypeId>
|
||||
<xr:ValueId>e9002f98-f09c-425f-8817-96cc3ed43fb2</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="InformationRegisterRecordManager.ОтслеживаниеВерсийКонфигураций" category="RecordManager">
|
||||
<xr:TypeId>364295b2-9d7a-400e-99c5-e50e9aa72dcf</xr:TypeId>
|
||||
<xr:ValueId>ffcd9928-2b3e-4334-99c1-28d3f5c47705</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="881237ee-6607-4cab-85ab-647f88f0673b">
|
||||
<Properties>
|
||||
<Name>ТекущаяВерсия</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Текущая версия</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>20</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</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:type="xs:string"/>
|
||||
<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>
|
||||
<Resource uuid="43fcb5df-29b3-40bb-9d93-bb6e853c9f76">
|
||||
<Properties>
|
||||
<Name>АктуальнаяВерсия</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Актуальная версия</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>20</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</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:type="xs:string"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Resource>
|
||||
<Dimension uuid="4403d04b-c925-4b10-b25d-40607aa39ae3">
|
||||
<Properties>
|
||||
<Name>Конфигурация</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конфигурация</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>cfg:CatalogRef.Конфигурации</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>
|
||||
<Master>false</Master>
|
||||
<MainFilter>true</MainFilter>
|
||||
<DenyIncompleteValues>false</DenyIncompleteValues>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
<TypeReductionMode>TransformValues</TypeReductionMode>
|
||||
</Properties>
|
||||
</Dimension>
|
||||
<Dimension uuid="ede511a4-59c9-49cd-b2fb-e7b79b5b6c48">
|
||||
<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,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)",
|
||||
НРег(ТелеграмПовторноеИспользование.СинонимПеречисления(Периодичность)));
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
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="75596ea7-f58a-40d8-b6a8-c7d57ea30fdc">
|
||||
<Properties>
|
||||
<Name>АдминистраторСистемы</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Администратор системы</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</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>
|
||||
33
src/cf/Subsystems/Обновления.xml
Normal file
33
src/cf/Subsystems/Обновления.xml
Normal file
@@ -0,0 +1,33 @@
|
||||
<?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="f38ad1d7-3b8c-43f0-9deb-ab526356845f">
|
||||
<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">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">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/>
|
||||
</Subsystem>
|
||||
</MetaDataObject>
|
||||
@@ -17,17 +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">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>4</VERSION>
|
||||
<VERSION>50</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user