Compare commits

23 Commits

Author SHA1 Message Date
8a88dea2b9 Рефакторинг по замечаниям Sonarqube 2025-07-10 12:51:24 +03:00
78b1198f7a Добавил возможность сравнивания версий
- При уведомлении о неактуальных версиях производится сравнение версий
- При получении статуса конфигурации производится сравнение версий
- Вывод диагностики в случае когда текущая версия старше актуальной. Это считается ошибкой.
2025-07-10 12:25:11 +03:00
97427fb844 Отредактировал список команд в README 2025-07-09 18:50:44 +03:00
63ad60bdf8 Отредактировал список команд в README 2025-07-09 18:48:26 +03:00
869bd182cb Отредактировал список команд в README 2025-07-09 18:36:07 +03:00
ae3fe05e5d Отредактировал список команд в README 2025-07-09 18:33:02 +03:00
d904c25ce6 Отредактировал список команд в README 2025-07-09 18:30:29 +03:00
36cea3f0b0 Рефакторинг по замечаниям Sonarqube 2025-07-09 18:25:08 +03:00
ae881c62b7 Добавил новую команду в меню бота
- Добавил команду вывода справки
2025-07-09 18:17:21 +03:00
72df024952 Рефакторинг по замечаниям Sonarqube 2025-07-08 12:46:36 +03:00
d5c675d201 Рефакторинг по замечаниям Sonarqube 2025-07-08 12:39:28 +03:00
5029be4a6f Рефакторинг по замечаниям Sonarqube 2025-07-08 12:35:01 +03:00
634a5450d4 Рефакторинг по замечаниям Sonarqube 2025-07-08 12:30:12 +03:00
a7d01cc925 Рефакторинг по замечаниям Sonarqube 2025-07-08 12:28:13 +03:00
3a86f70db3 Рефакторинг по замечаниям Sonarqube 2025-07-08 12:20:11 +03:00
0812e7587d Рефакторинг по замечаниям Sonarqube 2025-07-08 11:16:31 +03:00
f5bb6aa6e5 Рефакторинг по замечаниям Sonarqube 2025-07-08 11:13:16 +03:00
0222e27c15 Рефакторинг по замечаниям Sonarqube 2025-07-08 10:16:29 +03:00
e8c9692b9d Обновил описание проекта 2025-07-07 17:20:47 +03:00
03bf110470 Рефакторинг кода 2025-07-07 17:18:14 +03:00
7300e8b228 Добавил роли и административного пользователя
- Добавил базовые роли
- Наименование объектов привёл к общепринятым
2025-07-07 17:06:28 +03:00
8e98d394d3 Рефакторинг общего модуля
- Удалил лишние комментарии в коде
2025-07-07 12:49:31 +03:00
b5a4761b1c Удалил вспомогательные обработки для тестирования
- Удалил обработку РаботаСОбновлениями
- Удалил обработку РаботаССообщениями
2025-07-07 12:08:09 +03:00
55 changed files with 1609 additions and 1061 deletions

View File

@@ -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** | Вывести список поддерживаемых команд |

View File

@@ -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/>

View File

@@ -62,7 +62,7 @@
<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>

View File

@@ -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>

View File

@@ -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/>

View File

@@ -19,14 +19,11 @@
Сообщение.Текст = "Не заполнен адрес вебхука";
Сообщение.Поле = "НаборКонстант.ТелеграмВебХук";
Сообщение.Сообщить();
//ПараметрыЗаписи.Вставить("Модифицированность");
Отказ = Истина;
Возврат;
КонецЕсли;
//Если Модифицированность ИЛИ НужноУказатьВебхух Тогда
ПараметрыЗаписи.Вставить("Модифицированность", Модифицированность);
//КонецЕсли;
КонецПроцедуры
@@ -41,18 +38,14 @@
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
УстановитьПривилегированныйРежим(Истина);
Если КэшЗначений.ТелеграмИспользоватьВебХук И НЕ ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
КонецЕсли;
Если НЕ КэшЗначений.ТелеграмИспользоватьВебХук И ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
Если ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
ТелеграмМетодыВызовСервера.SetWebHook(ТекущийОбъект.ТелеграмВебХук);
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
&НаКлиенте

View File

@@ -3,12 +3,12 @@
Процедура ОбработкаКомандыБота(Тело) Экспорт
МассивОбновленийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Тело);
МассивОбновленийТелеграм = ТелеграмОбщегоНазначенияВызовСервера.ОбновленияТелеграм(Тело);
Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
ТелеграмОбщегоНазначенияВызовСервера.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда
ОбработатьСообщение(ОбновлениеТелеграм)
ОбработатьСообщение(ОбновлениеТелеграм);
ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда
ОбработатьКоллбэк(ОбновлениеТелеграм);
Иначе
@@ -41,6 +41,8 @@
ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм);
ИначеЕсли КомандаДляОбработки = "/status" Тогда
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
ИначеЕсли КомандаДляОбработки = "/help" Тогда
ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм);
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
@@ -53,11 +55,11 @@
Процедура ОбработатьКоллбэк(ОбновлениеТелеграм)
Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion)) Тогда
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion)) Тогда
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion)) Тогда
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion)) Тогда
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus)) Тогда
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus)) Тогда
ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата);
Иначе
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
@@ -67,7 +69,7 @@
Процедура ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion);
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат;
@@ -78,13 +80,12 @@
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
Если Конфигурация <> Неопределено Тогда
ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС +
Символы.ВК + Символы.ПС +
"Для корректного отслеживания обновлений нужно ввести версию конфигурации (четыре группы цифр, разделённых точками):" +
Символы.ПС +
"Например: 3.1.30.197";
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии,
ИмяКонфигурации);
ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС
+ Символы.ВК + Символы.ПС
+ "Для корректного отслеживания обновлений введите версию конфигурации (четыре группы цифр, разделённых точками):"
+ Символы.ПС + "Например: 3.1.30.197";
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии, ИмяКонфигурации);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
КонецЕсли;
@@ -92,7 +93,7 @@
Процедура УдалитьКонфигурациюИзСпискаОтслеживания(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion);
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат;
КонецЕсли;
@@ -120,7 +121,7 @@
Процедура ПолучитьДанныеСтатусаКонфигурации(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus);
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат;
КонецЕсли;
@@ -135,11 +136,29 @@
Возврат;
КонецЕсли;
ТекстОтвета = СтрШаблон("&#8505 %1%2 %3 &#10145 %4",
РезультатСравненияВерсий = РаботаСОбновлениямиВызовСервера.СравнитьВерсииКонфигураций(
ДанныеКонфигурации.ТекущаяВерсия,
ДанныеКонфигурации.АктуальнаяВерсия);
Если РезультатСравненияВерсий <> Неопределено Тогда
Если РезультатСравненияВерсий < 0 Тогда
Диагностика = "Необходимо обновить текущую версию.";
ИначеЕсли РезультатСравненияВерсий > 0 Тогда
Диагностика = "Текущая версия не может быть старше актуальной!";
Иначе
Диагностика = "Обновление текущей версии не требуется.";
КонецЕсли;
Иначе
Диагностика = "";
КонецЕсли;
ТекстОтвета = СтрШаблон("&#8505 %1%2<code>%3</code> &#8594 <code>%4</code>%5%6",
ДанныеКонфигурации.Наименование,
Символы.ПС,
ДанныеКонфигурации.ТекущаяВерсия,
ДанныеКонфигурации.АктуальнаяВерсия);
ДанныеКонфигурации.АктуальнаяВерсия,
Символы.ПС,
Диагностика);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
Иначе
@@ -185,7 +204,8 @@
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
Попытка
МенеджерЗаписи.Записать();
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
ТекстОтвета = СтрШаблон("Версия: %1 успешно добавлена", Версия);
Исключение
ТекстОтвета = "При сохранении данных возникла ошибка";
@@ -218,21 +238,19 @@
Процедура ОбработатьКомандуСтарт(ОбновлениеТелеграм)
ТекстОтвета = "Привет! Я бот, который поможет тебе следить за обновлениями конфигураций 1С." + Символы.ПС +
Символы.ВК + Символы.ПС +
"Что я умею:" + Символы.ПС +
"- Отслеживать новые релизы" + Символы.ПС +
"- Присылать уведомления о выходе обновлений" + Символы.ПС +
"- Показывать текущую информацию о статусе конфигурации" + Символы.ПС +
Символы.ВК + Символы.ПС +
"/subscribe - Список конфигураций для отслеживания" + Символы.ПС +
"/add - Добавить конфигурацию в список отслеживания" + Символы.ПС +
"/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС +
"/notify_on - Включить уведомления о новых версиях" + Символы.ПС +
"/notify_off - Выключить уведомления о новых версиях" + Символы.ПС +
"/status - Вывести информацию о статусе конфигурации";
ТекстОтвета = "&#128075 Привет!"
+ Символы.ПС
+ "Я - бот, который поможет тебе следить за обновлениями конфигураций 1С."
+ Символы.ПС + Символы.ВК + Символы.ПС
+ "Что я умею:" + Символы.ПС
+ "- Отслеживать новые релизы" + Символы.ПС
+ "- Присылать уведомления о выходе обновлений" + Символы.ПС
+ "- Показывать текущую информацию о статусе конфигурации" + Символы.ПС
+ Символы.ПС
+ СписокПоддерживаемыхКоманд();
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры
@@ -250,14 +268,15 @@
КонецЦикла;
КонецЕсли;
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры
Процедура ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion);
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь);
Если МассивРядов = Неопределено Тогда
@@ -274,7 +293,7 @@
Процедура ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion);
Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
Если МассивРядов = Неопределено Тогда
@@ -304,7 +323,7 @@
Процедура ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.GetStatus);
Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
Если МассивРядов = Неопределено Тогда
@@ -328,10 +347,33 @@
Процедура ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата;
ТекстОтвета = "Данная команда не поддерживается.";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета);
КонецПроцедуры
Процедура ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм)
ТекстОтвета = СписокПоддерживаемыхКоманд();
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры
Функция СписокПоддерживаемыхКоманд()
ТекстПодсказки = "Список поддерживаемых команд:"
+ Символы.ВК + Символы.ПС
+ "/subscribe - Список конфигураций для отслеживания" + Символы.ПС
+ "/add - Добавить конфигурацию в список отслеживания" + Символы.ПС
+ "/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС
+ "/notify_on - Включить уведомления о новых версиях" + Символы.ПС
+ "/notify_off - Выключить уведомления о новых версиях" + Символы.ПС
+ "/status - Вывести информацию о статусе конфигурации" + Символы.ПС
+ "/help - Вывести список поддерживаемых команд";
Возврат ТекстПодсказки;
КонецФункции
#КонецОбласти

View File

@@ -5,7 +5,7 @@
РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций();
СписокДляРассылкиУведомлений = РаботаСОбновлениямиВызовСервера.СписокНеактуальныхКонфигурацийДляУведомления();
Для Каждого ПолучательУведомления из СписокДляРассылкиУведомлений Цикл
Для Каждого ПолучательУведомления Из СписокДляРассылкиУведомлений Цикл
ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации);
ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения,
Перечисления.ТелеграмРежимРазметки.HTML);
@@ -21,17 +21,42 @@
ТекстСообщения = СтрШаблон("Следующие конфигурации имеют неактуальные версии:%1%2", Символы.ПС, Символы.ПС);
КонфигурацииСНекорректнымиВерсиями = Новый Массив;
Для каждого ДанныеКонфигурации Из КонфигурацииДляВывода Цикл
ТекстСообщения = ТекстСообщения + СтрШаблон("&#128293 %1%2 %3 &#10145 %4%5%6",
Если ДанныеКонфигурации.РезультатСравнения = Неопределено Тогда
Продолжить;
ИначеЕсли ДанныеКонфигурации.РезультатСравнения > 0 Тогда
КонфигурацииСНекорректнымиВерсиями.Добавить(ДанныеКонфигурации);
Продолжить;
Иначе
ТекстСообщения = ТекстСообщения + ФорматСтрокиСообщенияОНеактуальнойВерсии("&#128293", ДанныеКонфигурации);
КонецЕсли;
КонецЦикла;
Если КонфигурацииСНекорректнымиВерсиями.Количество() > 0 Тогда
ТекстСообщения = ТекстСообщения + СтрШаблон("Внимание! Текущая конфигурация старше актуальной:%1%2",
Символы.ПС, Символы.ПС);
Для каждого ДанныеКонфигурации Из КонфигурацииСНекорректнымиВерсиями Цикл
ТекстСообщения = ТекстСообщения + ФорматСтрокиСообщенияОНеактуальнойВерсии("&#128683", ДанныеКонфигурации);
КонецЦикла;
КонецЕсли;
Возврат ТекстСообщения;
КонецФункции
Функция ФорматСтрокиСообщенияОНеактуальнойВерсии(Эмодзи, ДанныеКонфигурации)
Возврат СтрШаблон("%1 %2%3 <code>%4</code> &#8594 <code>%5</code>%6%7",
Эмодзи,
ДанныеКонфигурации.КонфигурацияПредставление,
Символы.ПС,
ДанныеКонфигурации.ТекущаяВерсия,
ДанныеКонфигурации.АктуальнаяВерсия,
Символы.ПС,
Символы.ПС);
КонецЦикла;
Возврат ТекстСообщения;
КонецФункции

View File

@@ -15,12 +15,19 @@
Возврат Истина;
КонецЕсли;
// Если содержит только цифры, то в результате замен должна быть получена пустая строка.
// Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы.
Возврат СтрДлина(
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0;
// Пошаговая очистка строки от всех цифр
БезНулей = СтрЗаменить(Значение, "0", "");
БезЕдиниц = СтрЗаменить(БезНулей, "1", "");
БезДвоек = СтрЗаменить(БезЕдиниц, "2", "");
БезТроек = СтрЗаменить(БезДвоек, "3", "");
БезЧетверок = СтрЗаменить(БезТроек, "4", "");
БезПятерок = СтрЗаменить(БезЧетверок, "5", "");
БезШестерок = СтрЗаменить(БезПятерок, "6", "");
БезСемерок = СтрЗаменить(БезШестерок, "7", "");
БезВосьмерок = СтрЗаменить(БезСемерок, "8", "");
БезДевяток = СтрЗаменить(БезВосьмерок, "9", "");
Возврат СтрДлина(БезДевяток) = 0;
КонецФункции

View File

@@ -13,9 +13,9 @@
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1");
КонецЕсли;
Соединение = Новый HTTPСоединение("update-api.1c.ru",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
КонецФункции
@@ -42,9 +42,11 @@
МассивКонфигураций = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Конфигурация = Новый Структура("Наименование, Имя, ТекущаяВерсия, АктуальнаяВерсия",
ВыборкаДетальныеЗаписи.КонфигурацияНаименование,ВыборкаДетальныеЗаписи.КонфигурацияИмя,
ВыборкаДетальныеЗаписи.ТекущаяВерсия, ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
Конфигурация = Новый Структура;
Конфигурация.Вставить("Наименование", ВыборкаДетальныеЗаписи.КонфигурацияНаименование);
Конфигурация.Вставить("Имя", ВыборкаДетальныеЗаписи.КонфигурацияИмя);
Конфигурация.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
Конфигурация.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
МассивКонфигураций.Добавить(Конфигурация);
КонецЦикла;
@@ -160,12 +162,12 @@
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТелеграмПользователь.Ссылка КАК Ссылка,
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога
| ТелеграмПользователи.Ссылка КАК Ссылка,
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога
|ИЗ
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|ГДЕ
| ТелеграмПользователь.id = &ИдЧата";
| ТелеграмПользователи.id = &ИдЧата";
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
@@ -189,12 +191,12 @@
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога,
| ТелеграмПользователь.ДополнительнаяИнформация КАК ДополнительнаяИнформация
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога,
| ТелеграмПользователи.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|ИЗ
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|ГДЕ
| ТелеграмПользователь.id = &ИдЧата";
| ТелеграмПользователи.id = &ИдЧата";
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
@@ -253,19 +255,62 @@
ДанныеВерсийКонфигураций = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДанныеВерсийКонфигураций.Добавить(Новый Структура("КонфигурацияПредставление, ТекущаяВерсия, АктуальнаяВерсия",
ВыборкаДетальныеЗаписи.КонфигурацияПредставление,
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
ВыборкаДетальныеЗаписи.АктуальнаяВерсия));
ВерсииКонфигурации = Новый Структура;
ВерсииКонфигурации.Вставить("КонфигурацияПредставление", ВыборкаДетальныеЗаписи.КонфигурацияПредставление);
ВерсииКонфигурации.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
ВерсииКонфигурации.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
РезультатСравнения = СравнитьВерсииКонфигураций(ВыборкаДетальныеЗаписи.ТекущаяВерсия,
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
ВерсииКонфигурации.Вставить("РезультатСравнения", РезультатСравнения);
ДанныеВерсийКонфигураций.Добавить(ВерсииКонфигурации);
КонецЦикла;
ДанныеДляУведомлений.Добавить(Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций));
УведомлениеИнформация = Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций);
ДанныеДляУведомлений.Добавить(УведомлениеИнформация);
КонецЦикла;
Возврат ДанныеДляУведомлений;
КонецФункции
// Возвращает результат сравнения двух версий конфигураций: текущей и актуальной.
//
// Параметры:
// ТекущаяВерсия - Строка - версия, установленная у пользователя
// АктуальнаяВерсия - Строка - версия, полученная с сайта вендора
//
// Возвращаемое значение:
// Отрицательное число - текущая версия меньше актуальной
// Положительное число - актуальная версия меньше текущей
// Ноль - номера версий одинаковые
//
Функция СравнитьВерсииКонфигураций(ТекущаяВерсия, АктуальнаяВерсия) Экспорт
НаборГруппТекущаяВерсия = СтрРазделить(ТекущаяВерсия, ".");
НаборГруппАктуальнаяВерсия = СтрРазделить(АктуальнаяВерсия, ".");
Если НаборГруппТекущаяВерсия.Количество() = 0 ИЛИ НаборГруппАктуальнаяВерсия.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
МаксИндексТекущаяВерсия = НаборГруппТекущаяВерсия.ВГраница();
МаксИндексАктуальнаяВерсия = НаборГруппАктуальнаяВерсия.ВГраница();
Для Индекс = 0 По Макс(МаксИндексТекущаяВерсия, МаксИндексАктуальнаяВерсия) Цикл
ГруппаТекущаяВерсия = ?(Индекс <= МаксИндексТекущаяВерсия, Число(НаборГруппТекущаяВерсия[Индекс]), 0);
ГруппаАктуальнаяВерсия = ?(Индекс <= МаксИндексАктуальнаяВерсия, Число(НаборГруппАктуальнаяВерсия[Индекс]), 0);
Компаратор = ГруппаТекущаяВерсия - ГруппаАктуальнаяВерсия;
Если Компаратор <> 0 Тогда
Возврат Компаратор;
КонецЕсли;
КонецЦикла;
Возврат 0;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -282,4 +327,11 @@
КонецФункции
Функция НовоеСоединениеХТТП(Таймаут = 0)
Возврат Новый HTTPСоединение("update-api.1c.ru", 443, , , , ?(Таймаут > 0, Таймаут, 15),
Новый ЗащищенноеСоединениеOpenSSL);
КонецФункции
#КонецОбласти

View File

@@ -9,14 +9,15 @@
КонецЕсли;
Если РежимРазметки <> Неопределено Тогда
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML
ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
ТелоЗапроса.Вставить("parse_mode", Строка(РежимРазметки));
КонецЕсли;
КонецЕсли;
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ТелоЗапроса);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
КонецФункции
@@ -24,38 +25,38 @@
ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
КонецФункции
Функция DeleteWebhook() Экспорт
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
КонецФункции
Функция GetWebhookInfo() Экспорт
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
КонецФункции
Функция GetUpdates(Таймаут = 0) Экспорт
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0,0,
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
Смещение = ? (ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() = 0, 0,
Формат(ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
ПараметрыЗапроса = Новый Структура("offset", Смещение);
Если Таймаут > 0 Тогда
ПараметрыЗапроса.Вставить("timeout", Таймаут);
КонецЕсли;
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, ?(Таймаут > 0, Таймаут, 15), Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
Соединение = НовоеСоединениеХТТП(Таймаут);
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
КонецФункции
@@ -63,16 +64,16 @@
АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
КонецФункции
Функция GetMe() Экспорт
АдресРесурса = АдресРесурсаПоИмениМетода("getMe");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
КонецФункции
@@ -82,8 +83,8 @@
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Разделитель, Надпись, БезУведомления);
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ДанныеДокумента);
КонецФункции
@@ -101,8 +102,8 @@
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
Соединение = НовоеСоединениеХТТП();
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
КонецФункции
@@ -127,7 +128,8 @@
// Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
// Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса.
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла") И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла")
И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
ВызватьИсключение "Неверный параметр Документ: ожидается непустой объект, содержащий двоичные данные";
КонецЕсли;
@@ -165,7 +167,8 @@
КонецФункции
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено, ТипСодержимого = Неопределено)
Процедура ЗаписатьЭлементаЗапроса(ЗаписьДанных, Разделитель, ИмяПараметра, Значение, ИмяФайла = Неопределено,
ТипСодержимого = Неопределено)
Если Значение = Неопределено Тогда
Возврат;
@@ -173,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", ТипСодержимого));
@@ -206,4 +210,11 @@
КонецФункции
Функция НовоеСоединениеХТТП(Таймаут = 0)
Возврат Новый HTTPСоединение("api.telegram.org", 443, , , , ?(Таймаут > 0, Таймаут, 15),
Новый ЗащищенноеСоединениеOpenSSL);
КонецФункции
#КонецОбласти

View File

@@ -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/>

View File

@@ -5,9 +5,9 @@
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(МАКСИМУМ(ТелеграмСообщения.ИдСообщения), 0) КАК ИдСообщения
| ЕСТЬNULL(МАКСИМУМ(ТелеграмИсторияСообщений.ИдСообщения), 0) КАК ИдСообщения
|ИЗ
| РегистрСведений.ТелеграмСообщения КАК ТелеграмСообщения";
| РегистрСведений.ТелеграмИсторияСообщений КАК ТелеграмИсторияСообщений";
РезультатЗапроса = Запрос.Выполнить();
@@ -26,7 +26,7 @@
Если ТипЗнч(ТелоЗапроса) = Тип("Соответствие") Тогда
ДанныеОбновления = ТелоЗапроса;
ИначеЕсли ТипЗнч(ТелоЗапроса) = Тип("Строка") Тогда
ДанныеОбновления = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
ДанныеОбновления = ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
Иначе
Возврат Неопределено;
КонецЕсли;
@@ -60,7 +60,7 @@
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
МенеджерЗаписи = РегистрыСведений.ТелеграмИсторияСообщений.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураСообщения);
Если СтруктураСообщения.Свойство("ИдКоллбэкЗапроса") Тогда
МенеджерЗаписи.ИдСообщения = СтруктураСообщения.ИдКоллбэкЗапроса;
@@ -74,7 +74,7 @@
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса,, Истина);
Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, , Истина);
КонецФункции
@@ -123,13 +123,13 @@
Функция АвторСообщения(СоответствиеОт)
Если СоответствиеОт.Получить("id") = Неопределено Тогда
Возврат Справочники.ТелеграмПользователь.НеОпределен;
Возврат Справочники.ТелеграмПользователи.НеОпределен;
КонецЕсли;
Автор = Справочники.ТелеграмПользователь.НайтиПоРеквизиту("id", СоответствиеОт["id"]);
Автор = Справочники.ТелеграмПользователи.НайтиПоРеквизиту("id", СоответствиеОт["id"]);
Если Не ЗначениеЗаполнено(Автор) Тогда
НовыйПользователь = Справочники.ТелеграмПользователь.СоздатьЭлемент();
НовыйПользователь = Справочники.ТелеграмПользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = СоответствиеОт["first_name"];
НовыйПользователь.id = СоответствиеОт["id"];
НовыйПользователь.last_name = СоответствиеОт["last_name"];
@@ -147,13 +147,13 @@
ИдСообщения = СообщениеДляОбработки.Получить("message_id");
Если ИдСообщения = Неопределено Тогда
Возврат Справочники.ТелеграмСообщение.ПустаяСсылка();
Возврат Справочники.ТелеграмСообщения.ПустаяСсылка();
КонецЕсли;
ИтоговоеСообщение = Справочники.ТелеграмСообщение.НайтиПоРеквизиту("id", ИдСообщения);
ИтоговоеСообщение = Справочники.ТелеграмСообщения.НайтиПоРеквизиту("id", ИдСообщения);
Если НЕ ЗначениеЗаполнено(ИтоговоеСообщение) Тогда
НовоеСообщение = Справочники.ТелеграмСообщение.СоздатьЭлемент();
НовоеСообщение = Справочники.ТелеграмСообщения.СоздатьЭлемент();
НовоеСообщение.Наименование = "Сообщение № " + ИдСообщения + " от " + Автор;
НовоеСообщение.id = ИдСообщения;
НовоеСообщение.Автор = Автор;
@@ -177,13 +177,13 @@
ИдДокумента = СоответствиеДокумент.Получить("file_unique_id");
Если ИдДокумента = Неопределено Тогда
Возврат Справочники.ТелеграмДокумент.ПустаяСсылка();
Возврат Справочники.ТелеграмДокументы.ПустаяСсылка();
КонецЕсли;
ИтоговыйДокумент = Справочники.ТелеграмДокумент.НайтиПоРеквизиту("id", ИдДокумента);
ИтоговыйДокумент = Справочники.ТелеграмДокументы.НайтиПоРеквизиту("id", ИдДокумента);
Если НЕ ЗначениеЗаполнено(ИтоговыйДокумент) Тогда
НовыйДокумент = Справочники.ТелеграмДокумент.СоздатьЭлемент();
НовыйДокумент = Справочники.ТелеграмДокументы.СоздатьЭлемент();
НовыйДокумент.Наименование = СоответствиеДокумент["file_name"];
НовыйДокумент.id = ИдДокумента;

View File

@@ -6,7 +6,7 @@
КонецФункции
Функция ЛогироватьHttpЗапросы() Экспорт
Функция ЛогироватьХТТПЗапросы() Экспорт
Возврат Константы.ЛогироватьHttpЗапросы.Получить();

View File

@@ -80,16 +80,11 @@
Иначе
МассивРядов = Новый Массив;
Для каждого Конфигурация Из СписокКонфигураций Цикл
Если Подписка = Неопределено
ИЛИ (Подписка И Конфигурация.Подписка)
ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка) Тогда
Если НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация) Тогда
МассивКнопок = Новый Массив;
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(
Конфигурация.Наименование
,
,
СтрШаблон("%1 %2", Команда, Конфигурация.Имя)
));
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(Конфигурация.Наименование, ,
СтрШаблон("%1 %2", Команда, Конфигурация.Имя));
МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
МассивРядов.Добавить(МассивКнопок);
КонецЕсли;
КонецЦикла;
@@ -100,4 +95,13 @@
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация)
Возврат Подписка = Неопределено ИЛИ (Подписка И Конфигурация.Подписка) ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка);
КонецФункции
#КонецОбласти

View File

@@ -5,10 +5,6 @@
ТелеграмМетодыВызовСервера.DeleteWebhook();
Пока Истина Цикл
//Если ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда
// Прервать;
//КонецЕсли;
Если Константы.ТелеграмИспользоватьВебХук.Получить() Тогда
Прервать;
КонецЕсли;

View File

@@ -16,7 +16,7 @@
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>true</ServerCall>
<Privileged>true</Privileged>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>

View File

@@ -7,7 +7,7 @@
ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию", ,"GetTelegramUpdatesLongPolling");
Исключение
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецЕсли;

View File

@@ -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>

View File

@@ -19,7 +19,7 @@
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
РезультатЗапроса.Тело = ?(ДвоичныеДанные, Ответ.ПолучитьТелоКакДвоичныеДанные(),
HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
Если НЕ ДвоичныеДанные И РезультатЗапроса.Тело.Получить("description") <> Неопределено Тогда
РезультатЗапроса.Описание = РезультатЗапроса.Тело["description"];
@@ -34,12 +34,13 @@
РезультатЗапроса.Описание));
КонецЕсли;
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
КонецЕсли;
Исключение
РезультатЗапроса.Успех = Ложь;
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки();
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
+ ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
КонецПопытки;
@@ -67,7 +68,7 @@
Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Данные.Разделитель);
Иначе
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
Запрос.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
КонецЕсли;
Иначе
Запрос.Заголовки.Вставить("Content-Type", "application/json");
@@ -76,10 +77,11 @@
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
ТелоДляОтвета = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
ТелоДляОтвета = ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
Если ТелоДляОтвета <> Неопределено Тогда
РезультатЗапроса.Тело = ТелоДляОтвета;
РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено, ТелоДляОтвета["description"], "");
РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено,
ТелоДляОтвета["description"], "");
КонецЕсли;
КодСостояния = Ответ.КодСостояния;
@@ -91,12 +93,13 @@
РезультатЗапроса.Описание));
КонецЕсли;
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния);
Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния);
КонецЕсли;
Исключение
РезультатЗапроса.Успех = Ложь;
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки();
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
+ ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
КонецПопытки;
@@ -117,8 +120,8 @@
ЧтениеJSON.Закрыть();
Возврат ИтоговоеСоответствие;
Исключение
Ошибка = ОписаниеОшибки();
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка,,,Ошибка);
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка, , ,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат Неопределено;
@@ -131,7 +134,6 @@
Возврат "";
КонецЕсли;
ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(, Символы.Таб);
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
@@ -139,8 +141,8 @@
ЗаписатьJSON(ЗаписьJSON, Объект);
Возврат ЗаписьJSON.Закрыть();
Исключение
Ошибка = ОписаниеОшибки();
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка,,,Ошибка);
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка, , ,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат "";
@@ -165,16 +167,16 @@
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
СтруктураОтвета = Новый Структура("result, description", "error", КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
СтруктураОтвета = Новый Структура("result, description", "error",
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Возврат ОтветJson(СтруктураОтвета, 500);
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ОтветJson(Объект, КодСостояния)
@@ -209,12 +211,12 @@
АдресРесурса = СтрЗаменить(АдресРесурса, Константы.ТелеграмТокен.Получить(), "#token#");
Лог = Документы.ЛогHttpЗапроса.СоздатьДокумент();
Лог = Документы.ЛогиХТТПЗапросов.СоздатьДокумент();
Лог.Дата = ТекущаяДатаСеанса();
Лог.HTTPЗапрос = АдресРесурса;
Лог.Запрос = АдресРесурса;
Лог.Метод = Метод;
Лог.КодСостояния = КодСостояния;
Лог.HTTPОтвет = HttpОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
Лог.Ответ = ХТТПОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
Лог.Записать();
КонецПроцедуры

View File

@@ -249,19 +249,22 @@
<Subsystem>Обновления</Subsystem>
<Subsystem>Администрирование</Subsystem>
<CommonPicture>КартинкаБот</CommonPicture>
<CommonModule>HttpОбщегоНазначенияВызовСервера</CommonModule>
<Role>ПолныеПрава</Role>
<Role>АдминистраторСистемы</Role>
<Role>ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</Role>
<CommonModule>ХТТПОбщегоНазначенияВызовСервера</CommonModule>
<CommonModule>БотОбщегоНазначения</CommonModule>
<CommonModule>ОбновленияРегламент</CommonModule>
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
<CommonModule>РаботаСОбновлениямиВызовСервера</CommonModule>
<CommonModule>РаботаСФайламиКлиентСервер</CommonModule>
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
<CommonModule>ТелеграмОбщегоНазначения</CommonModule>
<CommonModule>ТелеграмОбщегоНазначенияВызовСервера</CommonModule>
<CommonModule>ТелеграмПовторноеИспользование</CommonModule>
<CommonModule>ТелеграмРаботаСКлавиатурой</CommonModule>
<CommonModule>ТелеграмРегламент</CommonModule>
<CommonModule>ТелеграмРегламентВызовСервера</CommonModule>
<HTTPService>HTTPСервис_Telegram</HTTPService>
<HTTPService>СервисТелеграм</HTTPService>
<ScheduledJob>ПроверкаАктуальностиКонфигураций</ScheduledJob>
<FunctionalOption>ТелеграмИспользоватьВебХук</FunctionalOption>
<Constant>ТелеграмТокен</Constant>
@@ -270,19 +273,17 @@
<Constant>ТелеграмИспользоватьВебХук</Constant>
<Constant>НачальноеЗаполнениеВыполнено</Constant>
<CommonForm>Настройки</CommonForm>
<Catalog>ТелеграмПользователь</Catalog>
<Catalog>ТелеграмСообщение</Catalog>
<Catalog>ТелеграмДокумент</Catalog>
<Catalog>ТелеграмПользователи</Catalog>
<Catalog>ТелеграмСообщения</Catalog>
<Catalog>ТелеграмДокументы</Catalog>
<Catalog>Конфигурации</Catalog>
<Document>ЛогHttpЗапроса</Document>
<Enum>МетодHTTPЗапроса</Enum>
<Document>ЛогиХТТПЗапросов</Document>
<Enum>МетодХТТПЗапроса</Enum>
<Enum>ТелеграмРежимРазметки</Enum>
<Enum>ТелеграмСтатусДиалога</Enum>
<Enum>ВидыДанныхКоллбэков</Enum>
<DataProcessor>РаботаССообщениями</DataProcessor>
<DataProcessor>РаботаСОбновлениями</DataProcessor>
<Enum>ВидыДанныхОбратныхВызовов</Enum>
<DataProcessor>НачальноеЗаполнениеДанных</DataProcessor>
<InformationRegister>ТелеграмСообщения</InformationRegister>
<InformationRegister>ТелеграмИсторияСообщений</InformationRegister>
<InformationRegister>ОтслеживаниеВерсийКонфигураций</InformationRegister>
<InformationRegister>УведомленияОНовыхВерсиях</InformationRegister>
</ChildObjects>

View File

@@ -32,7 +32,7 @@
Исключение
ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации("Обработка начального заполнения.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры
@@ -115,7 +115,6 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция НачальноеЗаполнениеВыполнено()
@@ -123,7 +122,6 @@
КонецФункции
&НаСервереБезКонтекста
Процедура НачальноеЗаполнениеВыполненоУстановить(Знач Признак)
@@ -132,7 +130,3 @@
КонецПроцедуры
#КонецОбласти

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<DataProcessor uuid="6a6de453-1c7e-4af2-9ed7-b9b7e86af49a">
<InternalInfo>
<xr:GeneratedType name="DataProcessorObject.РаботаСОбновлениями" category="Object">
<xr:TypeId>d03df4e7-3d99-41bc-80a9-2aa356d9f81e</xr:TypeId>
<xr:ValueId>888ddf20-8cde-4fa1-9984-ba1c5680b5ff</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DataProcessorManager.РаботаСОбновлениями" category="Manager">
<xr:TypeId>f0d25f79-1825-46a9-ae42-59c02e02df69</xr:TypeId>
<xr:ValueId>f9356985-f1dc-4bdc-a11c-d30b4656a52b</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>РаботаСОбновлениями</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Работа с обновлениями</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm>DataProcessor.РаботаСОбновлениями.Form.Форма</DefaultForm>
<AuxiliaryForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<ExtendedPresentation/>
<Explanation/>
</Properties>
<ChildObjects>
<Form>Форма</Form>
</ChildObjects>
</DataProcessor>
</MetaDataObject>

View File

@@ -1,83 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<AutoSaveDataInSettings>Use</AutoSaveDataInSettings>
<SaveDataInSettings>UseList</SaveDataInSettings>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<ChildItems>
<InputField name="ИдЧата" id="3">
<DataPath>ИдЧата</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ИдЧатаКонтекстноеМеню" id="4"/>
<ExtendedTooltip name="ИдЧатаРасширеннаяПодсказка" id="5"/>
</InputField>
<Button name="АктуальнаяВерсияКонфигурации" id="1">
<Type>UsualButton</Type>
<CommandName>Form.Command.АктуальнаяВерсияКонфигурации</CommandName>
<ExtendedTooltip name="АктуальнаяВерсияКонфигурацииРасширеннаяПодсказка" id="2"/>
</Button>
<Button name="АктуализироватьВерсии" id="6">
<Type>UsualButton</Type>
<CommandName>Form.Command.АктуализироватьВерсии</CommandName>
<ExtendedTooltip name="АктуализироватьВерсииРасширеннаяПодсказка" id="7"/>
</Button>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:DataProcessorObject.РаботаСОбновлениями</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>
<Attribute name="ИдЧата" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ид чата</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
<Save>
<Field>ИдЧата</Field>
</Save>
</Attribute>
</Attributes>
<Commands>
<Command name="АктуальнаяВерсияКонфигурации" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Актуальная версия конфигурации</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Актуальная версия конфигурации</v8:content>
</v8:item>
</ToolTip>
<Action>АктуальнаяВерсияКонфигурации</Action>
</Command>
<Command name="АктуализироватьВерсии" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Актуализировать версии</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Актуализировать версии</v8:content>
</v8:item>
</ToolTip>
<Action>АктуализироватьВерсии</Action>
</Command>
</Commands>
</Form>

View File

@@ -1,45 +0,0 @@
&НаКлиенте
Процедура АктуальнаяВерсияКонфигурации()
Конфигурация = КонфигурацияДляТеста();
ОтветАктуальнаяВерсияКонфигурации = РаботаСОбновлениямиВызовСервера.АктуальнаяВерсияКонфигурации(Конфигурация,"2.4.13.275");
ТекстСообщения = "Не удалось получить информацию по обновлению";
Если ОтветАктуальнаяВерсияКонфигурации.Успех Тогда
АктуальнаяВерсияКонфигурации = ОтветАктуальнаяВерсияКонфигурации["Тело"]["configurationUpdateResponse"]["configurationVersion"];
АктуальнаяВерсияПлатформы = ОтветАктуальнаяВерсияКонфигурации["Тело"]["configurationUpdateResponse"]["platformVersion"];
СсылкаНаРелиз = ОтветАктуальнаяВерсияКонфигурации["Тело"]["configurationUpdateResponse"]["updateInfoUrl"];
ТекстСообщения = СтрШаблон("Актуальная конфигурация: [%1](%2)%3Платформа: %4", АктуальнаяВерсияКонфигурации, СсылкаНаРелиз, Символы.ПС, АктуальнаяВерсияПлатформы);
КонецЕсли;
ОтветТелеграм = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстСообщения,
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.Markdown"));
КонецПроцедуры
&НаСервереБезКонтекста
Функция КонфигурацияДляТеста()
Возврат Справочники.Конфигурации.НайтиПоРеквизиту("Имя", "ARAutomation");
КонецФункции
&НаКлиенте
Процедура АктуализироватьВерсии(Команда)
ОбработаноЗаписей = АктуализироватьВерсииНаСервере(ИдЧата);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтрШаблон("Актуализация версий выполнена. Обновлено %1 записей", ОбработаноЗаписей);
Сообщение.Сообщить();
КонецПроцедуры
&НаСервереБезКонтекста
Функция АктуализироватьВерсииНаСервере(ИдЧата)
Возврат РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций();
КонецФункции

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<DataProcessor uuid="168a0153-7a94-49dc-9f9a-719c8b58bd1c">
<InternalInfo>
<xr:GeneratedType name="DataProcessorObject.РаботаССообщениями" category="Object">
<xr:TypeId>2c761f39-689d-4cf5-ab61-81089624c383</xr:TypeId>
<xr:ValueId>457171ce-0693-48a8-975c-dbd7499e90bc</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DataProcessorManager.РаботаССообщениями" category="Manager">
<xr:TypeId>e4281817-188f-4d03-a366-9f47ac9832f9</xr:TypeId>
<xr:ValueId>40dc4dda-7a39-482c-aab1-de02c4d74a6f</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>РаботаССообщениями</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Работа с сообщениями</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm>DataProcessor.РаботаССообщениями.Form.Форма</DefaultForm>
<AuxiliaryForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<ExtendedPresentation/>
<Explanation/>
</Properties>
<ChildObjects>
<Form>Форма</Form>
</ChildObjects>
</DataProcessor>
</MetaDataObject>

View File

@@ -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>

View File

@@ -1,156 +0,0 @@
&НаКлиенте
Процедура ПолучитьСообщения(Команда)
Ответ = ПолучитьСообщенияНаСервере();
ВывестиОтвет(Ответ);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСообщенияНаСервере()
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
БотОбщегоНазначения.ОбработкаКомандыБота(Ответ);
Возврат Ответ;
КонецФункции
&НаКлиенте
Процедура getWebhookInfo(Команда)
Ответ = ТелеграмМетодыВызовСервера.GetWebhookInfo();
Если НЕ Ответ = Неопределено Тогда
ВывестиОтвет(Ответ);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура SetWebHook(Команда)
Ответ = ТелеграмМетодыВызовСервера.SetWebHook(АдресВебхук);
Если НЕ Ответ = Неопределено Тогда
ВывестиОтвет(Ответ);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура PostЗапрос(Команда)
Клавиатура = КлавиатураОтвета();
Ответ = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, СообщениеДляОтправки,
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.HTML"), Клавиатура);
Если НЕ Ответ = Неопределено Тогда
ВывестиОтвет(Ответ);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция КлавиатураОтвета()
МассивРядов = Новый Массив;
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Конфигурации;Подписки");
МассивРядов.Добавить(МассивКнопок);
Возврат ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
КонецФункции
&НаКлиенте
Процедура DeleteWebhook(Команда)
Ответ = ТелеграмМетодыВызовСервера.DeleteWebhook();
Если НЕ Ответ = Неопределено Тогда
ВывестиОтвет(Ответ);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВывестиОтвет(Ответ)
ТекстСообщения = СтрШаблон("Выполнено %1.%2%3", ?(Ответ.Успех, "успешно", "с ошибкой"), Символы.ПС, Ответ.Описание);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ТекстСообщения;
Сообщение.Сообщить();
КонецПроцедуры
&НаКлиенте
Процедура СкачатьФайл(Команда)
СкачатьФайлНаСервере(ИдФайла);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СкачатьФайлНаСервере(ИдФайла)
НовыйДокумент = Справочники.ТелеграмДокумент.СоздатьЭлемент();
НовыйДокумент.Наименование = "Тестовый документ";
НовыйДокумент.id = "AgADLXoAAmMlIUk";
НовыйДокумент.file_name = "test.pdf";
НовыйДокумент.mime_type = "application/pdf";
НовыйДокумент.file_size = 811482;
Ответ = ТелеграмОбщегоНазначения.ДанныеДокументаПоИд(ИдФайла);
Если Ответ.Успех Тогда
НовыйДокумент.ДанныеФайла = Новый ХранилищеЗначения(Ответ.Тело);
КонецЕсли;
НовыйДокумент.Записать();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтрШаблон("Документ %1 успешно записан", НовыйДокумент.Ссылка);
Сообщение.Сообщить();
КонецПроцедуры
&НаКлиенте
Процедура SendDocument(Команда)
ДанныеДокумента = ДанныеДокументаСервер();
Ответ = ТелеграмМетодыВызовСервера.SendDocument(ИдЧата, ДанныеДокумента, "Отправлен документ");
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДанныеДокументаСервер()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТелеграмДокумент.ДанныеФайла КАК ДанныеФайла,
| ТелеграмДокумент.file_name КАК ИмяФайла
|ИЗ
| Справочник.ТелеграмДокумент КАК ТелеграмДокумент";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат Новый Структура("ИмяФайла, ДанныеФайла", ВыборкаДетальныеЗаписи.ИмяФайла, ВыборкаДетальныеЗаписи.ДанныеФайла.Получить());
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура SendPhoto(Команда)
ДанныеКартинки = ДанныеКартинки();
Ответ = ТелеграмМетодыВызовСервера.SendPhoto(ИдЧата, ДанныеКартинки, "telegram_bot.jpg", "Отправлено фото");
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДанныеКартинки()
Возврат БиблиотекаКартинок.КартинкаБот.ПолучитьДвоичныеДанные();
КонецФункции

View File

@@ -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/>

View File

@@ -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>

View File

@@ -1,7 +1,10 @@

#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.ТолькоПросмотр = Истина;
ТолькоПросмотр = Истина;
КонецПроцедуры
#КонецОбласти

View File

@@ -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>

View File

@@ -2,25 +2,25 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<Enum uuid="49b74ca2-e1cc-4ac3-9da2-d2e3c99a5044">
<InternalInfo>
<xr:GeneratedType name="EnumRef.ВидыДанныхКоллбэков" category="Ref">
<xr:GeneratedType name="EnumRef.ВидыДанныхОбратныхВызовов" category="Ref">
<xr:TypeId>faee0c1e-a312-43c8-8af2-20618cc53904</xr:TypeId>
<xr:ValueId>b6d6ee51-fdfe-47bd-bc31-3147751dc7fc</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumManager.ВидыДанныхКоллбэков" category="Manager">
<xr:GeneratedType name="EnumManager.ВидыДанныхОбратныхВызовов" category="Manager">
<xr:TypeId>268e63a6-adc9-4961-9d35-92c1ddc296e3</xr:TypeId>
<xr:ValueId>6e68fa9a-2345-462c-98d4-6c31908cb17b</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumList.ВидыДанныхКоллбэков" category="List">
<xr:GeneratedType name="EnumList.ВидыДанныхОбратныхВызовов" category="List">
<xr:TypeId>6bf0eedb-c7aa-4a05-ae0f-3900e6b21ff7</xr:TypeId>
<xr:ValueId>7947dc7b-96c2-4672-8ebe-c48dba063c3e</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ВидыДанныхКоллбэков</Name>
<Name>ВидыДанныхОбратныхВызовов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Виды данных коллбэков</v8:content>
<v8:content>Виды данных callbacks</v8:content>
</v8:item>
</Synonym>
<Comment/>

View File

@@ -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>

View File

@@ -1,6 +1,9 @@
#Область ОбработчикиСобытий
Процедура ПриНачалеРаботыСистемы()
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
КонецПроцедуры
#КонецОбласти

View File

@@ -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>

View File

@@ -1,14 +1,15 @@

#Область ОбработчикиСобытий
Функция ШаблонURL1PostGetUpdate(Запрос)
Попытка
БотОбщегоНазначения.ОбработкаКомандыБота(Запрос.ПолучитьТелоКакСтроку());
Ответ = HttpОбщегоНазначенияВызовСервера.ОтветУспех();
Ответ = ХТТПОбщегоНазначенияВызовСервера.ОтветУспех();
Возврат Ответ;
Исключение
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат HttpОбщегоНазначенияВызовСервера.ОтветОшибка();
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
КонецПопытки;
КонецФункции
@@ -19,13 +20,15 @@
ОтветБотИнфо = ТелеграмМетодыВызовСервера.GetMe();
Если ОтветБотИнфо.Успех Тогда
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
Ответ.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
Возврат Ответ;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат HttpОбщегоНазначенияВызовСервера.ОтветОшибка();
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат ХТТПОбщегоНазначенияВызовСервера.ОтветОшибка();
КонецПопытки;
КонецФункции
#КонецОбласти

View File

@@ -67,7 +67,8 @@
Если АктуальнаяВерсияССервера = Неопределено Тогда
// Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации от совпадения текущей и актуальной.
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации
// от совпадения текущей и актуальной.
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"];
Если АктуальнаяВерсияПлатформы <> Неопределено Тогда
АктуальнаяВерсияССервера = ТекущаяВерсия;

View File

@@ -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/>

View File

@@ -1,22 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<Form uuid="8f9f0e37-0f05-451c-b8a9-602ea9193afc">
<Role uuid="75596ea7-f58a-40d8-b6a8-c7d57ea30fdc">
<Properties>
<Name>Форма</Name>
<Name>АдминистраторСистемы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма</v8:content>
<v8:content>Администратор системы</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<ExtendedPresentation/>
</Properties>
</Form>
</Role>
</MetaDataObject>

View 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>

View File

@@ -1,22 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<Form uuid="9babb459-ecb3-4084-9cb5-1bb9ef62606e">
<Role uuid="89613b54-254e-48c5-a2aa-99499ec7e0d5">
<Properties>
<Name>Форма</Name>
<Name>ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма</v8:content>
<v8:content>Интерактивное открытие внешних отчетов и обработок</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<ExtendedPresentation/>
</Properties>
</Form>
</Role>
</MetaDataObject>

View File

@@ -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>

View 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>

View File

@@ -0,0 +1,969 @@
<?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>DataProcessor.НачальноеЗаполнениеДанных</name>
<right>
<name>Use</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ТелеграмПользователи</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveDeleteMarked</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Subsystem.Администрирование</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ТелеграмТокен</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ТелеграмСообщения</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveDeleteMarked</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.НачальноеЗаполнениеВыполнено</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ЛогироватьHttpЗапросы</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>HTTPService.СервисТелеграм.URLTemplate.Шаблон2.Method.GeBotInfo</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ТелеграмДокументы</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveDeleteMarked</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Document.ЛогиХТТПЗапросов</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
<right>
<name>Posting</name>
<value>true</value>
</right>
<right>
<name>UndoPosting</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveDeleteMarked</name>
<value>true</value>
</right>
<right>
<name>InteractivePosting</name>
<value>true</value>
</right>
<right>
<name>InteractivePostingRegular</name>
<value>true</value>
</right>
<right>
<name>InteractiveUndoPosting</name>
<value>true</value>
</right>
<right>
<name>InteractiveChangeOfPosted</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ОтслеживаниеВерсийКонфигураций</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Subsystem.ТелеграмБот</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.Настройки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ТелеграмИспользоватьВебХук</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.УведомленияОНовыхВерсиях</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.Конфигурация</name>
<right>
<name>DataAdministration</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>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>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ТелеграмВебХук</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>HTTPService.СервисТелеграм.URLTemplate.Шаблон1.Method.PostGetUpdate</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>Subsystem.Обновления</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ТелеграмИсторияСообщений</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Конфигурации</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveDeleteMarked</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
</Rights>

View File

@@ -18,6 +18,7 @@
<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/>

View File

@@ -16,11 +16,11 @@
<Explanation/>
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.РаботаСОбновлениями</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">6a6de453-1c7e-4af2-9ed7-b9b7e86af49a</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ОтслеживаниеВерсийКонфигураций</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.Конфигурации</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмСтатусДиалога</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхОбратныхВызовов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">ScheduledJob.ПроверкаАктуальностиКонфигураций</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ОбновленияРегламент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.УведомленияОНовыхВерсиях</xr:Item>

View File

@@ -17,19 +17,19 @@
<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">Constant.ЛогироватьHttpЗапросы</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогHttpЗапроса</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокумент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогиХТТПЗапросов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокументы</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.КартинкаБот</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмРежимРазметки</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмСтатусДиалога</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхОбратныхВызовов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.БотОбщегоНазначения</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ТелеграмРаботаСКлавиатурой</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмИспользоватьВебХук</xr:Item>

View 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>

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<VERSION>27</VERSION>
<VERSION>44</VERSION>