Compare commits

28 Commits

Author SHA1 Message Date
01db185d34 Удалил обработку для тестов 2025-07-14 09:17:19 +03:00
85c6219a8d Добавил обновление даты последней отправки 2025-07-13 22:55:25 +03:00
219fe05b43 Рефакторинг по замечаниям Sonarqube 2025-07-13 22:08:03 +03:00
1f35a110e1 Рефакторинг по замечаниям Sonarqube 2025-07-13 22:05:17 +03:00
2c8c581088 Удалил ресурс, т.к. он больше не используется 2025-07-13 21:55:24 +03:00
5bf73184d2 Добавил возможность задания периодичности уведомлений
- Уведомения можно получать с периодичностью: Каждый час, Каждый день, Каждую неделю
- Также есть вариант Не уведомлять, который отключает отправку уведомлений о новых версиях
2025-07-13 21:53:07 +03:00
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
53 changed files with 1115 additions and 333 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"> <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"> <Catalog uuid="60022782-c6f7-4159-929b-db83d2828a89">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="CatalogObject.ТелеграмДокумент" category="Object"> <xr:GeneratedType name="CatalogObject.ТелеграмДокументы" category="Object">
<xr:TypeId>79fc9728-5c36-4c76-8dd3-304174405d63</xr:TypeId> <xr:TypeId>79fc9728-5c36-4c76-8dd3-304174405d63</xr:TypeId>
<xr:ValueId>cdcdd7f9-03b6-48e9-98eb-e0ba4fa6e7bb</xr:ValueId> <xr:ValueId>cdcdd7f9-03b6-48e9-98eb-e0ba4fa6e7bb</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.ТелеграмДокумент" category="Ref"> <xr:GeneratedType name="CatalogRef.ТелеграмДокументы" category="Ref">
<xr:TypeId>2fac0edc-75c5-4f25-b2bc-a8a1b5499fd3</xr:TypeId> <xr:TypeId>2fac0edc-75c5-4f25-b2bc-a8a1b5499fd3</xr:TypeId>
<xr:ValueId>e857f5ed-7f18-4fde-9155-eb2cf4041d60</xr:ValueId> <xr:ValueId>e857f5ed-7f18-4fde-9155-eb2cf4041d60</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.ТелеграмДокумент" category="Selection"> <xr:GeneratedType name="CatalogSelection.ТелеграмДокументы" category="Selection">
<xr:TypeId>6ccceb70-b829-4d4e-a3f4-21fb3d9d3147</xr:TypeId> <xr:TypeId>6ccceb70-b829-4d4e-a3f4-21fb3d9d3147</xr:TypeId>
<xr:ValueId>ac14aa95-fdda-4e82-99a2-4c93f4ddb7cf</xr:ValueId> <xr:ValueId>ac14aa95-fdda-4e82-99a2-4c93f4ddb7cf</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogList.ТелеграмДокумент" category="List"> <xr:GeneratedType name="CatalogList.ТелеграмДокументы" category="List">
<xr:TypeId>cab9b204-3208-4e79-a2d4-217df0367bf3</xr:TypeId> <xr:TypeId>cab9b204-3208-4e79-a2d4-217df0367bf3</xr:TypeId>
<xr:ValueId>9e82e379-59ad-4891-b7e5-3831151f7791</xr:ValueId> <xr:ValueId>9e82e379-59ad-4891-b7e5-3831151f7791</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.ТелеграмДокумент" category="Manager"> <xr:GeneratedType name="CatalogManager.ТелеграмДокументы" category="Manager">
<xr:TypeId>9df89e29-979d-4bcd-beb3-c10b2eba3ee5</xr:TypeId> <xr:TypeId>9df89e29-979d-4bcd-beb3-c10b2eba3ee5</xr:TypeId>
<xr:ValueId>860e25d0-f5de-4c0b-a880-a42fb7296c13</xr:ValueId> <xr:ValueId>860e25d0-f5de-4c0b-a880-a42fb7296c13</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>ТелеграмДокумент</Name> <Name>ТелеграмДокументы</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Телеграм документ</v8:content> <v8:content>Вложенные файлы</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -54,13 +54,13 @@
<QuickChoice>false</QuickChoice> <QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode> <ChoiceMode>BothWays</ChoiceMode>
<InputByString> <InputByString>
<xr:Field>Catalog.ТелеграмДокумент.StandardAttribute.Description</xr:Field> <xr:Field>Catalog.ТелеграмДокументы.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.ТелеграмДокумент.StandardAttribute.Code</xr:Field> <xr:Field>Catalog.ТелеграмДокументы.StandardAttribute.Code</xr:Field>
</InputByString> </InputByString>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString> <SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString> <FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString> <ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm>Catalog.ТелеграмДокумент.Form.ФормаЭлемента</DefaultObjectForm> <DefaultObjectForm>Catalog.ТелеграмДокументы.Form.ФормаЭлемента</DefaultObjectForm>
<DefaultFolderForm/> <DefaultFolderForm/>
<DefaultListForm/> <DefaultListForm/>
<DefaultChoiceForm/> <DefaultChoiceForm/>

View File

@@ -62,7 +62,7 @@
<Attributes> <Attributes>
<Attribute name="Объект" id="1"> <Attribute name="Объект" id="1">
<Type> <Type>
<v8:Type>cfg:CatalogObject.ТелеграмДокумент</v8:Type> <v8:Type>cfg:CatalogObject.ТелеграмДокументы</v8:Type>
</Type> </Type>
<MainAttribute>true</MainAttribute> <MainAttribute>true</MainAttribute>
<SavedData>true</SavedData> <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"> <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"> <Catalog uuid="18f1501f-401f-4148-9beb-d450ca3baa64">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="CatalogObject.ТелеграмПользователь" category="Object"> <xr:GeneratedType name="CatalogObject.ТелеграмПользователи" category="Object">
<xr:TypeId>771bbf76-6560-490f-bddf-4b57282bb979</xr:TypeId> <xr:TypeId>771bbf76-6560-490f-bddf-4b57282bb979</xr:TypeId>
<xr:ValueId>e6f77041-f666-4790-b64e-0346b7ba6d24</xr:ValueId> <xr:ValueId>e6f77041-f666-4790-b64e-0346b7ba6d24</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.ТелеграмПользователь" category="Ref"> <xr:GeneratedType name="CatalogRef.ТелеграмПользователи" category="Ref">
<xr:TypeId>a3385365-db96-4682-a1f0-05a799ca7d13</xr:TypeId> <xr:TypeId>a3385365-db96-4682-a1f0-05a799ca7d13</xr:TypeId>
<xr:ValueId>aad9e481-4b51-41bd-bbcc-841dfe7d7fea</xr:ValueId> <xr:ValueId>aad9e481-4b51-41bd-bbcc-841dfe7d7fea</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.ТелеграмПользователь" category="Selection"> <xr:GeneratedType name="CatalogSelection.ТелеграмПользователи" category="Selection">
<xr:TypeId>21ffa4af-08a6-43da-bf5c-2a6cec872acb</xr:TypeId> <xr:TypeId>21ffa4af-08a6-43da-bf5c-2a6cec872acb</xr:TypeId>
<xr:ValueId>2d2e8ba9-725d-4052-8709-d150e516b287</xr:ValueId> <xr:ValueId>2d2e8ba9-725d-4052-8709-d150e516b287</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogList.ТелеграмПользователь" category="List"> <xr:GeneratedType name="CatalogList.ТелеграмПользователи" category="List">
<xr:TypeId>57848e3d-1e86-47e4-8af0-6131e4d2cf11</xr:TypeId> <xr:TypeId>57848e3d-1e86-47e4-8af0-6131e4d2cf11</xr:TypeId>
<xr:ValueId>ee125c26-eed1-4fec-9caf-f070ac7e16e7</xr:ValueId> <xr:ValueId>ee125c26-eed1-4fec-9caf-f070ac7e16e7</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.ТелеграмПользователь" category="Manager"> <xr:GeneratedType name="CatalogManager.ТелеграмПользователи" category="Manager">
<xr:TypeId>7e7dd14a-ed48-4c12-a6a3-be34e103c20e</xr:TypeId> <xr:TypeId>7e7dd14a-ed48-4c12-a6a3-be34e103c20e</xr:TypeId>
<xr:ValueId>ada062d3-22c5-4398-8454-e271927d264c</xr:ValueId> <xr:ValueId>ada062d3-22c5-4398-8454-e271927d264c</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>ТелеграмПользователь</Name> <Name>ТелеграмПользователи</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Телеграм пользователь</v8:content> <v8:content>Пользователи</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -54,8 +54,8 @@
<QuickChoice>false</QuickChoice> <QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode> <ChoiceMode>BothWays</ChoiceMode>
<InputByString> <InputByString>
<xr:Field>Catalog.ТелеграмПользователь.StandardAttribute.Description</xr:Field> <xr:Field>Catalog.ТелеграмПользователи.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.ТелеграмПользователь.StandardAttribute.Code</xr:Field> <xr:Field>Catalog.ТелеграмПользователи.StandardAttribute.Code</xr:Field>
</InputByString> </InputByString>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString> <SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString> <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"> <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"> <Catalog uuid="2a31c1a9-1ae9-42df-a414-339628101fc7">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="CatalogObject.ТелеграмСообщение" category="Object"> <xr:GeneratedType name="CatalogObject.ТелеграмСообщения" category="Object">
<xr:TypeId>f2bf8442-369f-4ac3-8d31-0da98dc3c6e7</xr:TypeId> <xr:TypeId>f2bf8442-369f-4ac3-8d31-0da98dc3c6e7</xr:TypeId>
<xr:ValueId>78de350c-a632-47bf-b8d9-14a931a433bc</xr:ValueId> <xr:ValueId>78de350c-a632-47bf-b8d9-14a931a433bc</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.ТелеграмСообщение" category="Ref"> <xr:GeneratedType name="CatalogRef.ТелеграмСообщения" category="Ref">
<xr:TypeId>c171c60d-856c-4711-9f89-44d38a4ca0b5</xr:TypeId> <xr:TypeId>c171c60d-856c-4711-9f89-44d38a4ca0b5</xr:TypeId>
<xr:ValueId>df29ebc7-d9a6-40b2-bf81-4b8b55edc9ca</xr:ValueId> <xr:ValueId>df29ebc7-d9a6-40b2-bf81-4b8b55edc9ca</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.ТелеграмСообщение" category="Selection"> <xr:GeneratedType name="CatalogSelection.ТелеграмСообщения" category="Selection">
<xr:TypeId>202a8ac1-4473-44de-8db2-b844bc3a5de9</xr:TypeId> <xr:TypeId>202a8ac1-4473-44de-8db2-b844bc3a5de9</xr:TypeId>
<xr:ValueId>3f6bdd2b-54f0-45fc-8b79-9556b41fa48d</xr:ValueId> <xr:ValueId>3f6bdd2b-54f0-45fc-8b79-9556b41fa48d</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogList.ТелеграмСообщение" category="List"> <xr:GeneratedType name="CatalogList.ТелеграмСообщения" category="List">
<xr:TypeId>e7b590ed-fc6d-4d6a-9724-bc68170e3d5b</xr:TypeId> <xr:TypeId>e7b590ed-fc6d-4d6a-9724-bc68170e3d5b</xr:TypeId>
<xr:ValueId>b6014560-6014-4b02-9c70-8b513ffb1486</xr:ValueId> <xr:ValueId>b6014560-6014-4b02-9c70-8b513ffb1486</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.ТелеграмСообщение" category="Manager"> <xr:GeneratedType name="CatalogManager.ТелеграмСообщения" category="Manager">
<xr:TypeId>8d1e4c24-ea65-462d-81a4-d5db7c9fef57</xr:TypeId> <xr:TypeId>8d1e4c24-ea65-462d-81a4-d5db7c9fef57</xr:TypeId>
<xr:ValueId>def7c3f6-b096-41bf-aafe-07390a894118</xr:ValueId> <xr:ValueId>def7c3f6-b096-41bf-aafe-07390a894118</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>ТелеграмСообщение</Name> <Name>ТелеграмСообщения</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Телеграм сообщение</v8:content> <v8:content>Сообщения</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -54,8 +54,8 @@
<QuickChoice>false</QuickChoice> <QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode> <ChoiceMode>BothWays</ChoiceMode>
<InputByString> <InputByString>
<xr:Field>Catalog.ТелеграмСообщение.StandardAttribute.Description</xr:Field> <xr:Field>Catalog.ТелеграмСообщения.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.ТелеграмСообщение.StandardAttribute.Code</xr:Field> <xr:Field>Catalog.ТелеграмСообщения.StandardAttribute.Code</xr:Field>
</InputByString> </InputByString>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString> <SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString> <FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
@@ -230,7 +230,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>cfg:CatalogRef.ТелеграмПользователь</v8:Type> <v8:Type>cfg:CatalogRef.ТелеграмПользователи</v8:Type>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>
@@ -270,7 +270,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>cfg:CatalogRef.ТелеграмДокумент</v8:Type> <v8:Type>cfg:CatalogRef.ТелеграмДокументы</v8:Type>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>

View File

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

View File

@@ -3,12 +3,12 @@
Процедура ОбработкаКомандыБота(Тело) Экспорт Процедура ОбработкаКомандыБота(Тело) Экспорт
МассивОбновленийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Тело); МассивОбновленийТелеграм = ТелеграмОбщегоНазначенияВызовСервера.ОбновленияТелеграм(Тело);
Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл Для каждого ОбновлениеТелеграм Из МассивОбновленийТелеграм Цикл
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(ОбновлениеТелеграм); ТелеграмОбщегоНазначенияВызовСервера.СохранитьСообщениеВБазу(ОбновлениеТелеграм);
Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда Если ОбновлениеТелеграм.Свойство("ИдСообщения") Тогда
ОбработатьСообщение(ОбновлениеТелеграм) ОбработатьСообщение(ОбновлениеТелеграм);
ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда ИначеЕсли ОбновлениеТелеграм.Свойство("ИдКоллбэка") <> Неопределено Тогда
ОбработатьКоллбэк(ОбновлениеТелеграм); ОбработатьКоллбэк(ОбновлениеТелеграм);
Иначе Иначе
@@ -36,11 +36,13 @@
ИначеЕсли КомандаДляОбработки = "/delete" Тогда ИначеЕсли КомандаДляОбработки = "/delete" Тогда
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм); ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
ИначеЕсли КомандаДляОбработки = "/notify_on" Тогда ИначеЕсли КомандаДляОбработки = "/notify_on" Тогда
ОбработатьКомандуВключитьОповещения(ОбновлениеТелеграм); ОбработатьКомандуВключитьУведомления(ОбновлениеТелеграм);
ИначеЕсли КомандаДляОбработки = "/notify_off" Тогда ИначеЕсли КомандаДляОбработки = "/notify_off" Тогда
ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм); ОбработатьКомандуВыключитьУведомления(ОбновлениеТелеграм);
ИначеЕсли КомандаДляОбработки = "/status" Тогда ИначеЕсли КомандаДляОбработки = "/status" Тогда
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм); ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
ИначеЕсли КомандаДляОбработки = "/help" Тогда
ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм);
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога = ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя); ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя);
@@ -53,12 +55,14 @@
Процедура ОбработатьКоллбэк(ОбновлениеТелеграм) Процедура ОбработатьКоллбэк(ОбновлениеТелеграм)
Данные = ОбновлениеТелеграм.ДанныеКоллбэка; Данные = ОбновлениеТелеграм.ДанныеКоллбэка;
Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion)) Тогда Если СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion)) Тогда
ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата); ДобавитьКонфигурациюВСписокОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion)) Тогда ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion)) Тогда
УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата); УдалитьКонфигурациюИзСпискаОтслеживания(Данные, ОбновлениеТелеграм.ИдЧата);
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus)) Тогда ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus)) Тогда
ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата); ПолучитьДанныеСтатусаКонфигурации(Данные, ОбновлениеТелеграм.ИдЧата);
ИначеЕсли СтрНачинаетсяС(Данные, XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn)) Тогда
УстановитьПериодУведомления(Данные, ОбновлениеТелеграм.ИдЧата);
Иначе Иначе
ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм); ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм);
КонецЕсли; КонецЕсли;
@@ -67,7 +71,7 @@
Процедура ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата) Процедура ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion); Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат; Возврат;
@@ -78,13 +82,12 @@
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации); Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
Если Конфигурация <> Неопределено Тогда Если Конфигурация <> Неопределено Тогда
ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС + ТекстОтвета = СтрШаблон("Отлично, добавляем в список конфигурацию ""%1"".", Конфигурация.Наименование) + Символы.ПС
Символы.ВК + Символы.ПС + + Символы.ВК + Символы.ПС
"Для корректного отслеживания обновлений нужно ввести версию конфигурации (четыре группы цифр, разделённых точками):" + + "Для корректного отслеживания обновлений введите версию конфигурации (четыре группы цифр, разделённых точками):"
Символы.ПС + + Символы.ПС + "Например: 3.1.30.197";
"Например: 3.1.30.197"; РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии, Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии, ИмяКонфигурации);
ИмяКонфигурации);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета); ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
КонецЕсли; КонецЕсли;
@@ -92,7 +95,7 @@
Процедура УдалитьКонфигурациюИзСпискаОтслеживания(ТекстСообщения, ИдЧата) Процедура УдалитьКонфигурациюИзСпискаОтслеживания(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion); Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -120,7 +123,7 @@
Процедура ПолучитьДанныеСтатусаКонфигурации(ТекстСообщения, ИдЧата) Процедура ПолучитьДанныеСтатусаКонфигурации(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.GetStatus); Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -135,11 +138,29 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ТекстОтвета = СтрШаблон("&#8505 %1%2 %3 &#10145 %4", РезультатСравненияВерсий = РаботаСОбновлениямиВызовСервера.СравнитьВерсииКонфигураций(
ДанныеКонфигурации.ТекущаяВерсия,
ДанныеКонфигурации.АктуальнаяВерсия);
Если РезультатСравненияВерсий <> Неопределено Тогда
Если РезультатСравненияВерсий < 0 Тогда
Диагностика = "Необходимо обновить текущую версию.";
ИначеЕсли РезультатСравненияВерсий > 0 Тогда
Диагностика = "Текущая версия не может быть старше актуальной!";
Иначе
Диагностика = "Обновление текущей версии не требуется.";
КонецЕсли;
Иначе
Диагностика = "";
КонецЕсли;
ТекстОтвета = СтрШаблон("&#8505 %1%2<code>%3</code> &#8594 <code>%4</code>%5%6",
ДанныеКонфигурации.Наименование, ДанныеКонфигурации.Наименование,
Символы.ПС, Символы.ПС,
ДанныеКонфигурации.ТекущаяВерсия, ДанныеКонфигурации.ТекущаяВерсия,
ДанныеКонфигурации.АктуальнаяВерсия); ДанныеКонфигурации.АктуальнаяВерсия,
Символы.ПС,
Диагностика);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML); ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
Иначе Иначе
@@ -149,6 +170,20 @@
КонецПроцедуры КонецПроцедуры
Процедура УстановитьПериодУведомления(ТекстСообщения, ИдЧата)
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
Если НЕ СтрНачинаетсяС(ТекстСообщения, Команда) Тогда
Возврат;
КонецЕсли;
ПериодичностьИмя = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
Периодичность = Перечисления.ПериодичностьУведомлений[ПериодичностьИмя];
УправлениеОповещениями(ИдЧата, Периодичность);
КонецПроцедуры
Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя) Процедура ОбработатьВводВерсииКонфигурации(ОбновлениеТелеграм, ДанныеПользователя)
ИдЧата = ОбновлениеТелеграм.ИдЧата; ИдЧата = ОбновлениеТелеграм.ИдЧата;
@@ -185,7 +220,8 @@
МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия; МенеджерЗаписи.АктуальнаяВерсия = АктуальнаяВерсия;
Попытка Попытка
МенеджерЗаписи.Записать(); МенеджерЗаписи.Записать();
РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата, Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, ""); РаботаСОбновлениямиВызовСервера.УстановитьДанныеПользователя(ИдЧата,
Перечисления.ТелеграмСтатусДиалога.НачальноеСостояние, "");
ТекстОтвета = СтрШаблон("Версия: %1 успешно добавлена", Версия); ТекстОтвета = СтрШаблон("Версия: %1 успешно добавлена", Версия);
Исключение Исключение
ТекстОтвета = "При сохранении данных возникла ошибка"; ТекстОтвета = "При сохранении данных возникла ошибка";
@@ -218,21 +254,19 @@
Процедура ОбработатьКомандуСтарт(ОбновлениеТелеграм) Процедура ОбработатьКомандуСтарт(ОбновлениеТелеграм)
ТекстОтвета = "Привет! Я бот, который поможет тебе следить за обновлениями конфигураций 1С." + Символы.ПС + ТекстОтвета = "&#128075 Привет!"
Символы.ВК + Символы.ПС + + Символы.ПС
"Что я умею:" + Символы.ПС + + "Я - бот, который поможет тебе следить за обновлениями конфигураций 1С."
"- Отслеживать новые релизы" + Символы.ПС + + Символы.ПС + Символы.ВК + Символы.ПС
"- Присылать уведомления о выходе обновлений" + Символы.ПС + + "Что я умею:" + Символы.ПС
"- Показывать текущую информацию о статусе конфигурации" + Символы.ПС + + "- Отслеживать новые релизы" + Символы.ПС
Символы.ВК + Символы.ПС + + "- Присылать уведомления о выходе обновлений" + Символы.ПС
"/subscribe - Список конфигураций для отслеживания" + Символы.ПС + + "- Показывать текущую информацию о статусе конфигурации" + Символы.ПС
"/add - Добавить конфигурацию в список отслеживания" + Символы.ПС + + Символы.ПС
"/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС + + СписокПоддерживаемыхКоманд();
"/notify_on - Включить уведомления о новых версиях" + Символы.ПС +
"/notify_off - Выключить уведомления о новых версиях" + Символы.ПС +
"/status - Вывести информацию о статусе конфигурации";
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML); ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры КонецПроцедуры
@@ -246,18 +280,19 @@
Иначе Иначе
Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл Для каждого ПунктМенюПодписки Из СписокКонфигураций Цикл
ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "&#9989", "◼️"), ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "&#9989", "◼️"),
ПунктМенюПодписки.Наименование,Символы.ПС); ПунктМенюПодписки.Наименование, Символы.ПС);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML); ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм) Процедура ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата; ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLСтрока(Перечисления.ВидыДанныхКоллбэков.AddVersion); Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.AddVersion);
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь); МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Ложь);
Если МассивРядов = Неопределено Тогда Если МассивРядов = Неопределено Тогда
@@ -267,14 +302,14 @@
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов); Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений"; ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура); ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм) Процедура ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата; ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.DeleteVersion); Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.DeleteVersion);
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина); МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
Если МассивРядов = Неопределено Тогда Если МассивРядов = Неопределено Тогда
@@ -285,26 +320,45 @@
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов); Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
ТекстОтвета = "Выберите нужную конфигурацию для отмены отслеживания обновлений"; ТекстОтвета = "Выберите нужную конфигурацию для отмены отслеживания обновлений";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура); ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьКомандуВключитьОповещения(ОбновлениеТелеграм) Процедура ОбработатьКомандуВключитьУведомления(ОбновлениеТелеграм)
УправлениеОповещениями(ОбновлениеТелеграм.ИдЧата, Истина); ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLСтрока(Перечисления.ВидыДанныхОбратныхВызовов.NotifyOn);
МассивКнопок = ТелеграмРаботаСКлавиатурой.МассивРядовСПериодамиОповещения(ИдЧата, Команда);
Если МассивКнопок.Количество() = 0 Тогда
ТекстОтвета = "Не удалось получить список периодов оповещения";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета);
Возврат;
КонецЕсли;
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивКнопок);
ТекстОтвета = "Выберите нужную периодичность оповещения";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм) Процедура ОбработатьКомандуВыключитьУведомления(ОбновлениеТелеграм)
УправлениеОповещениями(ОбновлениеТелеграм.ИдЧата, Ложь); УправлениеОповещениями(ОбновлениеТелеграм.ИдЧата, Перечисления.ПериодичностьУведомлений.НеУведомлять);
КонецПроцедуры
Процедура УправлениеОповещениями(ИдЧата, ПериодичностьУведомлений)
ТекстОтвета = РегистрыСведений.УведомленияОНовыхВерсиях.УправлениеУведомлениями(ИдЧата, ПериодичностьУведомлений);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм) Процедура ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата; ИдЧата = ОбновлениеТелеграм.ИдЧата;
Команда = XMLстрока(Перечисления.ВидыДанныхКоллбэков.GetStatus); Команда = XMLстрока(Перечисления.ВидыДанныхОбратныхВызовов.GetStatus);
МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина); МассивРядов = ТелеграмРаботаСКлавиатурой.МассивРядовСоСпискомКонфигураций(ИдЧата, Команда, Истина);
Если МассивРядов = Неопределено Тогда Если МассивРядов = Неопределено Тогда
@@ -315,23 +369,39 @@
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов); Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураВстроенная(МассивРядов);
ТекстОтвета = "Выберите нужную конфигурацию для получения ее статуса"; ТекстОтвета = "Выберите нужную конфигурацию для получения ее статуса";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета,, Клавиатура); ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, , Клавиатура);
КонецПроцедуры
Процедура УправлениеОповещениями(ИдЧата, Включить)
ТекстОтвета = РегистрыСведений.УведомленияОНовыхВерсиях.УправлениеОповещениями(ИдЧата, Включить);
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета, Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм) Процедура ОбработатьНеизвестнуюКоманду(ОбновлениеТелеграм)
ИдЧата = ОбновлениеТелеграм.ИдЧата;
ТекстОтвета = "Данная команда не поддерживается."; ТекстОтвета = "Данная команда не поддерживается.";
ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, ТекстОтвета); ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьКомандуВыводаПодсказки(ОбновлениеТелеграм)
ТекстОтвета = СписокПоддерживаемыхКоманд();
ТелеграмМетодыВызовСервера.SendMessage(ОбновлениеТелеграм.ИдЧата, ТекстОтвета,
Перечисления.ТелеграмРежимРазметки.HTML);
КонецПроцедуры
Функция СписокПоддерживаемыхКоманд()
ТекстПодсказки = "Список поддерживаемых команд:"
+ Символы.ВК + Символы.ПС
+ "/subscribe - Список конфигураций для отслеживания" + Символы.ПС
+ "/add - Добавить конфигурацию в список отслеживания" + Символы.ПС
+ "/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС
+ "/notify_on - Включить уведомления о новых версиях" + Символы.ПС
+ "/notify_off - Выключить уведомления о новых версиях" + Символы.ПС
+ "/status - Вывести информацию о статусе конфигурации" + Символы.ПС
+ "/help - Вывести список поддерживаемых команд";
Возврат ТекстПодсказки;
КонецФункции
#КонецОбласти #КонецОбласти

View File

@@ -5,10 +5,11 @@
РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций(); РегистрыСведений.ОтслеживаниеВерсийКонфигураций.АктуализироватьВерсииКонфигураций();
СписокДляРассылкиУведомлений = РаботаСОбновлениямиВызовСервера.СписокНеактуальныхКонфигурацийДляУведомления(); СписокДляРассылкиУведомлений = РаботаСОбновлениямиВызовСервера.СписокНеактуальныхКонфигурацийДляУведомления();
Для Каждого ПолучательУведомления из СписокДляРассылкиУведомлений Цикл Для Каждого ПолучательУведомления Из СписокДляРассылкиУведомлений Цикл
ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации); ТекстСообщения = ТекстСообщенияОНеактуальнойВерсии(ПолучательУведомления.Конфигурации);
ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения, ТелеграмМетодыВызовСервера.SendMessage(ПолучательУведомления.ИдЧата, ТекстСообщения,
Перечисления.ТелеграмРежимРазметки.HTML); Перечисления.ТелеграмРежимРазметки.HTML);
РегистрыСведений.УведомленияОНовыхВерсиях.ОбновитьДатуОтправкиУведомления(ПолучательУведомления.ИдЧата);
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -21,18 +22,43 @@
ТекстСообщения = СтрШаблон("Следующие конфигурации имеют неактуальные версии:%1%2", Символы.ПС, Символы.ПС); ТекстСообщения = СтрШаблон("Следующие конфигурации имеют неактуальные версии:%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", "");
Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0; БезЧетверок = СтрЗаменить(БезТроек, "4", "");
БезПятерок = СтрЗаменить(БезЧетверок, "5", "");
БезШестерок = СтрЗаменить(БезПятерок, "6", "");
БезСемерок = СтрЗаменить(БезШестерок, "7", "");
БезВосьмерок = СтрЗаменить(БезСемерок, "8", "");
БезДевяток = СтрЗаменить(БезВосьмерок, "9", "");
Возврат СтрДлина(БезДевяток) = 0;
КонецФункции КонецФункции

View File

@@ -13,9 +13,9 @@
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1"); ТелоЗапроса.Вставить("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 = &ИдЧата";
Запрос.УстановитьПараметр("ИдЧата", ИдЧата); Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
@@ -221,7 +223,19 @@
|ИЗ |ИЗ
| РегистрСведений.УведомленияОНовыхВерсиях КАК УведомленияОНовыхВерсиях | РегистрСведений.УведомленияОНовыхВерсиях КАК УведомленияОНовыхВерсиях
|ГДЕ |ГДЕ
| УведомленияОНовыхВерсиях.ОтправлятьУведомления | УведомленияОНовыхВерсиях.Периодичность <> ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.НеУведомлять)
| И ВЫБОР
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждыйЧас)
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ЧАС, -1)
| ТОГДА ИСТИНА
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждыйДень)
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, -1)
| ТОГДА ИСТИНА
| КОГДА УведомленияОНовыхВерсиях.Периодичность = ЗНАЧЕНИЕ(Перечисление.ПериодичностьУведомлений.КаждуюНеделю)
| И УведомленияОНовыхВерсиях.ПоследняяОтправка <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, НЕДЕЛЯ, -1)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|; |;
| |
|//////////////////////////////////////////////////////////////////////////////// |////////////////////////////////////////////////////////////////////////////////
@@ -242,6 +256,8 @@
|ИТОГИ ПО |ИТОГИ ПО
| ИдЧата"; | ИдЧата";
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
РезультатЗапроса = Запрос.Выполнить(); РезультатЗапроса = Запрос.Выполнить();
ВыборкаИдЧата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаИдЧата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
@@ -253,19 +269,62 @@
ДанныеВерсийКонфигураций = Новый Массив; ДанныеВерсийКонфигураций = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДанныеВерсийКонфигураций.Добавить(Новый Структура("КонфигурацияПредставление, ТекущаяВерсия, АктуальнаяВерсия", ВерсииКонфигурации = Новый Структура;
ВыборкаДетальныеЗаписи.КонфигурацияПредставление, ВерсииКонфигурации.Вставить("КонфигурацияПредставление", ВыборкаДетальныеЗаписи.КонфигурацияПредставление);
ВыборкаДетальныеЗаписи.ТекущаяВерсия, ВерсииКонфигурации.Вставить("ТекущаяВерсия", ВыборкаДетальныеЗаписи.ТекущаяВерсия);
ВыборкаДетальныеЗаписи.АктуальнаяВерсия)); ВерсииКонфигурации.Вставить("АктуальнаяВерсия", ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
РезультатСравнения = СравнитьВерсииКонфигураций(ВыборкаДетальныеЗаписи.ТекущаяВерсия,
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
ВерсииКонфигурации.Вставить("РезультатСравнения", РезультатСравнения);
ДанныеВерсийКонфигураций.Добавить(ВерсииКонфигурации);
КонецЦикла; КонецЦикла;
ДанныеДляУведомлений.Добавить(Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций)); УведомлениеИнформация = Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций);
ДанныеДляУведомлений.Добавить(УведомлениеИнформация);
КонецЦикла; КонецЦикла;
Возврат ДанныеДляУведомлений; Возврат ДанныеДляУведомлений;
КонецФункции КонецФункции
// Возвращает результат сравнения двух версий конфигураций: текущей и актуальной.
//
// Параметры:
// ТекущаяВерсия - Строка - версия, установленная у пользователя
// АктуальнаяВерсия - Строка - версия, полученная с сайта вендора
//
// Возвращаемое значение:
// Отрицательное число - текущая версия меньше актуальной
// Положительное число - актуальная версия меньше текущей
// Ноль - номера версий одинаковые
//
Функция СравнитьВерсииКонфигураций(ТекущаяВерсия, АктуальнаяВерсия) Экспорт
НаборГруппТекущаяВерсия = СтрРазделить(ТекущаяВерсия, ".");
НаборГруппАктуальнаяВерсия = СтрРазделить(АктуальнаяВерсия, ".");
Если НаборГруппТекущаяВерсия.Количество() = 0 ИЛИ НаборГруппАктуальнаяВерсия.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
МаксИндексТекущаяВерсия = НаборГруппТекущаяВерсия.ВГраница();
МаксИндексАктуальнаяВерсия = НаборГруппАктуальнаяВерсия.ВГраница();
Для Индекс = 0 По Макс(МаксИндексТекущаяВерсия, МаксИндексАктуальнаяВерсия) Цикл
ГруппаТекущаяВерсия = ?(Индекс <= МаксИндексТекущаяВерсия, Число(НаборГруппТекущаяВерсия[Индекс]), 0);
ГруппаАктуальнаяВерсия = ?(Индекс <= МаксИндексАктуальнаяВерсия, Число(НаборГруппАктуальнаяВерсия[Индекс]), 0);
Компаратор = ГруппаТекущаяВерсия - ГруппаАктуальнаяВерсия;
Если Компаратор <> 0 Тогда
Возврат Компаратор;
КонецЕсли;
КонецЦикла;
Возврат 0;
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -282,4 +341,11 @@
КонецФункции КонецФункции
Функция НовоеСоединениеХТТП(Таймаут = 0)
Возврат Новый HTTPСоединение("update-api.1c.ru", 443, , , , ?(Таймаут > 0, Таймаут, 15),
Новый ЗащищенноеСоединениеOpenSSL);
КонецФункции
#КонецОбласти #КонецОбласти

View File

@@ -9,14 +9,15 @@
КонецЕсли; КонецЕсли;
Если РежимРазметки <> Неопределено Тогда Если РежимРазметки <> Неопределено Тогда
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML
ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
ТелоЗапроса.Вставить("parse_mode", Строка(РежимРазметки)); ТелоЗапроса.Вставить("parse_mode", Строка(РежимРазметки));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage"); АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ТелоЗапроса); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
КонецФункции КонецФункции
@@ -24,38 +25,38 @@
ПараметрыЗапроса = Новый Структура("url", АдресВебхук); ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook"); АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
КонецФункции КонецФункции
Функция DeleteWebhook() Экспорт Функция DeleteWebhook() Экспорт
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook"); АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
КонецФункции КонецФункции
Функция GetWebhookInfo() Экспорт Функция GetWebhookInfo() Экспорт
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo"); АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
КонецФункции КонецФункции
Функция GetUpdates(Таймаут = 0) Экспорт Функция GetUpdates(Таймаут = 0) Экспорт
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0,0, Смещение = ? (ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() = 0, 0,
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0")); Формат(ТелеграмОбщегоНазначенияВызовСервера.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
ПараметрыЗапроса = Новый Структура("offset", Смещение); ПараметрыЗапроса = Новый Структура("offset", Смещение);
Если Таймаут > 0 Тогда Если Таймаут > 0 Тогда
ПараметрыЗапроса.Вставить("timeout", Таймаут); ПараметрыЗапроса.Вставить("timeout", Таймаут);
КонецЕсли; КонецЕсли;
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates"); АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, ?(Таймаут > 0, Таймаут, 15), Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП(Таймаут);
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
КонецФункции КонецФункции
@@ -63,16 +64,16 @@
АдресРесурса = АдресРесурсаПоИмениМетода("getFile"); АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла); ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
КонецФункции КонецФункции
Функция GetMe() Экспорт Функция GetMe() Экспорт
АдресРесурса = АдресРесурсаПоИмениМетода("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", Разделитель); ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото); ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL); Соединение = НовоеСоединениеХТТП();
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото); Возврат ХТТПОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
КонецФункции КонецФункции
@@ -124,10 +125,11 @@
Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Разделитель, Надпись = Неопределено, БезУведомления = Ложь) Функция ДвоичныеДанныеДокумента(ИдЧата, Документ, Разделитель, Надпись = Неопределено, БезУведомления = Ложь)
//Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь // Параметры ИдЧата, Надпись, БезУведомления можно передавать также в параметрах запроса, а не в теле как здесь
// Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса. // Отправка фото сделана именно так. Все значения, кроме непосредственно фото задаются в параметрах запроса.
Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла") И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда Если Документ = Неопределено ИЛИ Не (Документ.Свойство("ДанныеФайла")
И ТипЗнч(Документ.ДанныеФайла) = Тип("ДвоичныеДанные")) Тогда
ВызватьИсключение "Неверный параметр Документ: ожидается непустой объект, содержащий двоичные данные"; ВызватьИсключение "Неверный параметр Документ: ожидается непустой объект, содержащий двоичные данные";
КонецЕсли; КонецЕсли;
@@ -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", ТипСодержимого)); ЗаписьДанных.ЗаписатьСтроку(СтрШаблон("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"> <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"> <CommonModule uuid="4dc6cf4e-e097-4cb0-ba80-0472e448fac0">
<Properties> <Properties>
<Name>ТелеграмОбщегоНазначения</Name> <Name>ТелеграмОбщегоНазначенияВызовСервера</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Телеграм общего назначения</v8:content> <v8:content>Телеграм общего назначения вызов сервера</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>

View File

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

View File

@@ -6,10 +6,18 @@
КонецФункции КонецФункции
Функция ЛогироватьHttpЗапросы() Экспорт Функция ЛогироватьХТТПЗапросы() Экспорт
Возврат Константы.ЛогироватьHttpЗапросы.Получить(); Возврат Константы.ЛогироватьHttpЗапросы.Получить();
КонецФункции КонецФункции
Функция СинонимПеречисления(ЗначениеПеречисления) Экспорт
ИмяПеречисления = ЗначениеПеречисления.Метаданные().Имя;
ИндексЗначенияПеречисления = Перечисления[ИмяПеречисления].Индекс(ЗначениеПеречисления);
Возврат Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначенияПеречисления].Синоним;
КонецФункции
#КонецОбласти #КонецОбласти

View File

@@ -80,16 +80,11 @@
Иначе Иначе
МассивРядов = Новый Массив; МассивРядов = Новый Массив;
Для каждого Конфигурация Из СписокКонфигураций Цикл Для каждого Конфигурация Из СписокКонфигураций Цикл
Если Подписка = Неопределено Если НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация) Тогда
ИЛИ (Подписка И Конфигурация.Подписка)
ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка) Тогда
МассивКнопок = Новый Массив; МассивКнопок = Новый Массив;
МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной( КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(Конфигурация.Наименование, ,
Конфигурация.Наименование СтрШаблон("%1 %2", Команда, Конфигурация.Имя));
, МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
,
СтрШаблон("%1 %2", Команда, Конфигурация.Имя)
));
МассивРядов.Добавить(МассивКнопок); МассивРядов.Добавить(МассивКнопок);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -98,6 +93,33 @@
КонецФункции КонецФункции
Функция МассивРядовСПериодамиОповещения(ИдЧата, Команда) Экспорт
МассивРядов = Новый Массив;
Для каждого ЗначениеПериода Из Метаданные.Перечисления.ПериодичностьУведомлений.ЗначенияПеречисления Цикл
КнопкаКлавиатурыВстроенной = ТелеграмРаботаСКлавиатурой.КнопкаКлавиатурыВстроенной(ЗначениеПериода.Синоним, ,
СтрШаблон("%1 %2", Команда, ЗначениеПериода.Имя));
Если ЗначениеПериода.Имя <> "НеУведомлять" Тогда
МассивКнопок = Новый Массив;
МассивКнопок.Добавить(КнопкаКлавиатурыВстроенной);
МассивРядов.Добавить(МассивКнопок);
КонецЕсли;
КонецЦикла;
Возврат МассивРядов;
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция НужноДобавитьКнопкуСКонфигурацией(Подписка, Конфигурация)
Возврат Подписка = Неопределено ИЛИ (Подписка И Конфигурация.Подписка) ИЛИ (НЕ Подписка И НЕ Конфигурация.Подписка);
КонецФункции
#КонецОбласти

View File

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

View File

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

View File

@@ -4,10 +4,10 @@
Если НЕ ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда Если НЕ ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда
Попытка Попытка
ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию",,"GetTelegramUpdatesLongPolling"); ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию", ,"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"> <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"> <CommonModule uuid="efcaabde-708f-4990-928d-8c4c280e6352">
<Properties> <Properties>
<Name>HttpОбщегоНазначенияВызовСервера</Name> <Name>ХТТПОбщегоНазначенияВызовСервера</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>

View File

@@ -14,12 +14,12 @@
КонецЕсли; КонецЕсли;
Запрос = Новый HTTPЗапрос(АдресРесурса); Запрос = Новый HTTPЗапрос(АдресРесурса);
Запрос.Заголовки.Вставить("Content-Type","application/json"); Запрос.Заголовки.Вставить("Content-Type", "application/json");
Ответ = Соединение.Получить(Запрос); Ответ = Соединение.Получить(Запрос);
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку(); ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
РезультатЗапроса.Тело = ?(ДвоичныеДанные, Ответ.ПолучитьТелоКакДвоичныеДанные(), РезультатЗапроса.Тело = ?(ДвоичныеДанные, Ответ.ПолучитьТелоКакДвоичныеДанные(),
HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока)); ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
Если НЕ ДвоичныеДанные И РезультатЗапроса.Тело.Получить("description") <> Неопределено Тогда Если НЕ ДвоичныеДанные И РезультатЗапроса.Тело.Получить("description") <> Неопределено Тогда
РезультатЗапроса.Описание = РезультатЗапроса.Тело["description"]; РезультатЗапроса.Описание = РезультатЗапроса.Тело["description"];
@@ -29,18 +29,19 @@
Если КодСостояния = 200 Тогда Если КодСостояния = 200 Тогда
РезультатЗапроса.Успех = Истина; РезультатЗапроса.Успех = Истина;
Иначе Иначе
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния, СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния,
РезультатЗапроса.Описание)); РезультатЗапроса.Описание));
КонецЕсли; КонецЕсли;
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния); ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.GET, ТелоОтветаКакСтрока, КодСостояния);
КонецЕсли; КонецЕсли;
Исключение Исключение
РезультатЗапроса.Успех = Ложь; РезультатЗапроса.Успех = Ложь;
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки(); РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, РезультатЗапроса.Описание); + ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
КонецПопытки; КонецПопытки;
Возврат РезультатЗапроса; Возврат РезультатЗапроса;
@@ -66,38 +67,40 @@
Запрос.Заголовки.Вставить("Content-Length", Формат(Данные.ДвоичныеДанные.Размер(), "ЧН=0; ЧГ=")); Запрос.Заголовки.Вставить("Content-Length", Формат(Данные.ДвоичныеДанные.Размер(), "ЧН=0; ЧГ="));
Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Данные.Разделитель); Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Данные.Разделитель);
Иначе Иначе
Запрос.Заголовки.Вставить("Content-Type","application/json"); Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные)); Запрос.УстановитьТелоИзСтроки(ХТТПОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
КонецЕсли; КонецЕсли;
Иначе Иначе
Запрос.Заголовки.Вставить("Content-Type","application/json"); Запрос.Заголовки.Вставить("Content-Type", "application/json");
КонецЕсли; КонецЕсли;
Ответ = Соединение.ОтправитьДляОбработки(Запрос); Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку(); ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
ТелоДляОтвета = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока); ТелоДляОтвета = ХТТПОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
Если ТелоДляОтвета <> Неопределено Тогда Если ТелоДляОтвета <> Неопределено Тогда
РезультатЗапроса.Тело = ТелоДляОтвета; РезультатЗапроса.Тело = ТелоДляОтвета;
РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено, ТелоДляОтвета["description"], ""); РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено,
ТелоДляОтвета["description"], "");
КонецЕсли; КонецЕсли;
КодСостояния = Ответ.КодСостояния; КодСостояния = Ответ.КодСостояния;
Если КодСостояния = 200 Тогда Если КодСостояния = 200 Тогда
РезультатЗапроса.Успех = Истина; РезультатЗапроса.Успех = Истина;
Иначе Иначе
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния, СтрШаблон("Ошибка выполнения HTTP-запроса. Код состояния = %1. Описание:%2", КодСостояния,
РезультатЗапроса.Описание)); РезультатЗапроса.Описание));
КонецЕсли; КонецЕсли;
Если ТелеграмПовторноеИспользование.ЛогироватьHttpЗапросы() Тогда Если ТелеграмПовторноеИспользование.ЛогироватьХТТПЗапросы() Тогда
ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодHTTPЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния); ЗалогироватьЗапрос(АдресРесурса, Перечисления.МетодХТТПЗапроса.POST, ТелоОтветаКакСтрока, КодСостояния);
КонецЕсли; КонецЕсли;
Исключение Исключение
РезультатЗапроса.Успех = Ложь; РезультатЗапроса.Успех = Ложь;
РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: " + ОписаниеОшибки(); РезультатЗапроса.Описание = "Исключение при выполнении HTTP-запроса: "
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, РезультатЗапроса.Описание); + ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , , РезультатЗапроса.Описание);
КонецПопытки; КонецПопытки;
Возврат РезультатЗапроса; Возврат РезультатЗапроса;
@@ -117,8 +120,8 @@
ЧтениеJSON.Закрыть(); ЧтениеJSON.Закрыть();
Возврат ИтоговоеСоответствие; Возврат ИтоговоеСоответствие;
Исключение Исключение
Ошибка = ОписаниеОшибки(); ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка, , ,
ЗаписьЖурналаРегистрации("Ошибка конвертации из JSON в объект", УровеньЖурналаРегистрации.Ошибка,,,Ошибка); ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
Возврат Неопределено; Возврат Неопределено;
@@ -131,7 +134,6 @@
Возврат ""; Возврат "";
КонецЕсли; КонецЕсли;
ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(, Символы.Таб); ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(, Символы.Таб);
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи); ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
@@ -139,8 +141,8 @@
ЗаписатьJSON(ЗаписьJSON, Объект); ЗаписатьJSON(ЗаписьJSON, Объект);
Возврат ЗаписьJSON.Закрыть(); Возврат ЗаписьJSON.Закрыть();
Исключение Исключение
Ошибка = ОписаниеОшибки(); ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка, , ,
ЗаписьЖурналаРегистрации("Ошибка конвертации объекта в JSON", УровеньЖурналаРегистрации.Ошибка,,,Ошибка); ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
Возврат ""; Возврат "";
@@ -164,23 +166,23 @@
ИнформацияОбОшибке = ИнформацияОбОшибке(); ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка,,, ЗаписьЖурналаРегистрации("HTTPСервисы.Ошибка", УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
СтруктураОтвета = Новый Структура("result, description", "error", КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); СтруктураОтвета = Новый Структура("result, description", "error",
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Возврат ОтветJson(СтруктураОтвета, 500); Возврат ОтветJson(СтруктураОтвета, 500);
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция ОтветJson(Объект, КодСостояния) Функция ОтветJson(Объект, КодСостояния)
Ответ = Новый HTTPСервисОтвет(КодСостояния); Ответ = Новый HTTPСервисОтвет(КодСостояния);
Ответ.Заголовки.Вставить("Content-Type","application/json"); Ответ.Заголовки.Вставить("Content-Type", "application/json");
Ответ.УстановитьТелоИзСтроки(ОбъектВСтрокуJson(Объект)); Ответ.УстановитьТелоИзСтроки(ОбъектВСтрокуJson(Объект));
Возврат Ответ; Возврат Ответ;
@@ -209,12 +211,12 @@
АдресРесурса = СтрЗаменить(АдресРесурса, Константы.ТелеграмТокен.Получить(), "#token#"); АдресРесурса = СтрЗаменить(АдресРесурса, Константы.ТелеграмТокен.Получить(), "#token#");
Лог = Документы.ЛогHttpЗапроса.СоздатьДокумент(); Лог = Документы.ЛогиХТТПЗапросов.СоздатьДокумент();
Лог.Дата = ТекущаяДатаСеанса(); Лог.Дата = ТекущаяДатаСеанса();
Лог.HTTPЗапрос = АдресРесурса; Лог.Запрос = АдресРесурса;
Лог.Метод = Метод; Лог.Метод = Метод;
Лог.КодСостояния = КодСостояния; Лог.КодСостояния = КодСостояния;
Лог.HTTPОтвет = HttpОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока); Лог.Ответ = ХТТПОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
Лог.Записать(); Лог.Записать();
КонецПроцедуры КонецПроцедуры

View File

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

View File

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

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"> <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"> <Document uuid="7ca26a17-d7b3-4ec0-bd51-2dd2951e242f">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="DocumentObject.ЛогHttpЗапроса" category="Object"> <xr:GeneratedType name="DocumentObject.ЛогиХТТПЗапросов" category="Object">
<xr:TypeId>ea6e9e6f-fd73-405a-bac6-96eee781c8e5</xr:TypeId> <xr:TypeId>ea6e9e6f-fd73-405a-bac6-96eee781c8e5</xr:TypeId>
<xr:ValueId>d94f7494-6432-421e-bebf-573e35cee4ad</xr:ValueId> <xr:ValueId>d94f7494-6432-421e-bebf-573e35cee4ad</xr:ValueId>
</xr:GeneratedType> </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:TypeId>dc268b14-03bf-4907-a652-b52e45d59363</xr:TypeId>
<xr:ValueId>4e5a9388-65a8-48a6-b32e-c1d494e2e2a3</xr:ValueId> <xr:ValueId>4e5a9388-65a8-48a6-b32e-c1d494e2e2a3</xr:ValueId>
</xr:GeneratedType> </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:TypeId>a65053fd-9227-430b-affd-6cb0b5383140</xr:TypeId>
<xr:ValueId>9aeb4fba-27a8-4e05-8a74-d8afba4ff2ff</xr:ValueId> <xr:ValueId>9aeb4fba-27a8-4e05-8a74-d8afba4ff2ff</xr:ValueId>
</xr:GeneratedType> </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:TypeId>bd353e78-0d8b-46a4-816e-df8cf45ed3df</xr:TypeId>
<xr:ValueId>f8cc591c-5150-4294-acf9-9f5ef49f7996</xr:ValueId> <xr:ValueId>f8cc591c-5150-4294-acf9-9f5ef49f7996</xr:ValueId>
</xr:GeneratedType> </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:TypeId>cae7dc26-80c9-4d43-8a24-96aa775739fc</xr:TypeId>
<xr:ValueId>1c720f88-df95-4bf7-9cf9-35d32df85dc3</xr:ValueId> <xr:ValueId>1c720f88-df95-4bf7-9cf9-35d32df85dc3</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>ЛогHttpЗапроса</Name> <Name>ЛогиХТТПЗапросов</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Лог http запроса</v8:content> <v8:content>Логи HTTP запросов</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -43,14 +43,14 @@
<Characteristics/> <Characteristics/>
<BasedOn/> <BasedOn/>
<InputByString> <InputByString>
<xr:Field>Document.ЛогHttpЗапроса.StandardAttribute.Number</xr:Field> <xr:Field>Document.ЛогиХТТПЗапросов.StandardAttribute.Number</xr:Field>
</InputByString> </InputByString>
<CreateOnInput>Use</CreateOnInput> <CreateOnInput>Use</CreateOnInput>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString> <SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString> <FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString> <ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm>Document.ЛогHttpЗапроса.Form.ФормаДокумента</DefaultObjectForm> <DefaultObjectForm>Document.ЛогиХТТПЗапросов.Form.ФормаДокумента</DefaultObjectForm>
<DefaultListForm>Document.ЛогHttpЗапроса.Form.ФормаСписка</DefaultListForm> <DefaultListForm>Document.ЛогиХТТПЗапросов.Form.ФормаСписка</DefaultListForm>
<DefaultChoiceForm/> <DefaultChoiceForm/>
<AuxiliaryObjectForm/> <AuxiliaryObjectForm/>
<AuxiliaryListForm/> <AuxiliaryListForm/>
@@ -80,11 +80,11 @@
<ChildObjects> <ChildObjects>
<Attribute uuid="99c7021d-50c9-4a2d-b375-21b52de8d2df"> <Attribute uuid="99c7021d-50c9-4a2d-b375-21b52de8d2df">
<Properties> <Properties>
<Name>HTTPЗапрос</Name> <Name>Запрос</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>HTTPЗапрос</v8:content> <v8:content>Запрос</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -123,11 +123,11 @@
</Attribute> </Attribute>
<Attribute uuid="156814c3-b941-4a59-a92f-439b400475d0"> <Attribute uuid="156814c3-b941-4a59-a92f-439b400475d0">
<Properties> <Properties>
<Name>HTTPОтвет</Name> <Name>Ответ</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>HTTPОтвет</v8:content> <v8:content>Ответ</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -175,7 +175,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>cfg:EnumRef.МетодHTTPЗапроса</v8:Type> <v8:Type>cfg:EnumRef.МетодХТТПЗапроса</v8:Type>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>

View File

@@ -46,7 +46,7 @@
<ExtendedTooltip name="HTTPРасширеннаяПодсказка" id="14"/> <ExtendedTooltip name="HTTPРасширеннаяПодсказка" id="14"/>
<ChildItems> <ChildItems>
<InputField name="HTTPЗапрос" id="7"> <InputField name="HTTPЗапрос" id="7">
<DataPath>Объект.HTTPЗапрос</DataPath> <DataPath>Объект.Запрос</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<AutoMaxWidth>false</AutoMaxWidth> <AutoMaxWidth>false</AutoMaxWidth>
<MultiLine>true</MultiLine> <MultiLine>true</MultiLine>
@@ -55,7 +55,7 @@
<ExtendedTooltip name="HTTPЗапросРасширеннаяПодсказка" id="9"/> <ExtendedTooltip name="HTTPЗапросРасширеннаяПодсказка" id="9"/>
</InputField> </InputField>
<InputField name="HTTPОтвет" id="10"> <InputField name="HTTPОтвет" id="10">
<DataPath>Объект.HTTPОтвет</DataPath> <DataPath>Объект.Ответ</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<AutoMaxWidth>false</AutoMaxWidth> <AutoMaxWidth>false</AutoMaxWidth>
<MultiLine>true</MultiLine> <MultiLine>true</MultiLine>
@@ -69,7 +69,7 @@
<Attributes> <Attributes>
<Attribute name="Объект" id="1"> <Attribute name="Объект" id="1">
<Type> <Type>
<v8:Type>cfg:DocumentObject.ЛогHttpЗапроса</v8:Type> <v8:Type>cfg:DocumentObject.ЛогиХТТПЗапросов</v8:Type>
</Type> </Type>
<MainAttribute>true</MainAttribute> <MainAttribute>true</MainAttribute>
<SavedData>true</SavedData> <SavedData>true</SavedData>

View File

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

View File

@@ -90,7 +90,7 @@
<ExtendedTooltip name="КодСостоянияРасширеннаяПодсказка" id="33"/> <ExtendedTooltip name="КодСостоянияРасширеннаяПодсказка" id="33"/>
</LabelField> </LabelField>
<LabelField name="HTTPЗапрос" id="28"> <LabelField name="HTTPЗапрос" id="28">
<DataPath>Список.HTTPЗапрос</DataPath> <DataPath>Список.Запрос</DataPath>
<ContextMenu name="HTTPЗапросКонтекстноеМеню" id="29"/> <ContextMenu name="HTTPЗапросКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="HTTPЗапросРасширеннаяПодсказка" id="30"/> <ExtendedTooltip name="HTTPЗапросРасширеннаяПодсказка" id="30"/>
</LabelField> </LabelField>
@@ -106,7 +106,7 @@
<Settings xsi:type="DynamicList"> <Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery> <ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead> <DynamicDataRead>true</DynamicDataRead>
<MainTable>Document.ЛогHttpЗапроса</MainTable> <MainTable>Document.ЛогиХТТПЗапросов</MainTable>
<ListSettings> <ListSettings>
<dcsset:filter> <dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode> <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"> <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"> <Enum uuid="49b74ca2-e1cc-4ac3-9da2-d2e3c99a5044">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="EnumRef.ВидыДанныхКоллбэков" category="Ref"> <xr:GeneratedType name="EnumRef.ВидыДанныхОбратныхВызовов" category="Ref">
<xr:TypeId>faee0c1e-a312-43c8-8af2-20618cc53904</xr:TypeId> <xr:TypeId>faee0c1e-a312-43c8-8af2-20618cc53904</xr:TypeId>
<xr:ValueId>b6d6ee51-fdfe-47bd-bc31-3147751dc7fc</xr:ValueId> <xr:ValueId>b6d6ee51-fdfe-47bd-bc31-3147751dc7fc</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="EnumManager.ВидыДанныхКоллбэков" category="Manager"> <xr:GeneratedType name="EnumManager.ВидыДанныхОбратныхВызовов" category="Manager">
<xr:TypeId>268e63a6-adc9-4961-9d35-92c1ddc296e3</xr:TypeId> <xr:TypeId>268e63a6-adc9-4961-9d35-92c1ddc296e3</xr:TypeId>
<xr:ValueId>6e68fa9a-2345-462c-98d4-6c31908cb17b</xr:ValueId> <xr:ValueId>6e68fa9a-2345-462c-98d4-6c31908cb17b</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="EnumList.ВидыДанныхКоллбэков" category="List"> <xr:GeneratedType name="EnumList.ВидыДанныхОбратныхВызовов" category="List">
<xr:TypeId>6bf0eedb-c7aa-4a05-ae0f-3900e6b21ff7</xr:TypeId> <xr:TypeId>6bf0eedb-c7aa-4a05-ae0f-3900e6b21ff7</xr:TypeId>
<xr:ValueId>7947dc7b-96c2-4672-8ebe-c48dba063c3e</xr:ValueId> <xr:ValueId>7947dc7b-96c2-4672-8ebe-c48dba063c3e</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>ВидыДанныхКоллбэков</Name> <Name>ВидыДанныхОбратныхВызовов</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Виды данных коллбэков</v8:content> <v8:content>Виды данных callbacks</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -74,6 +74,18 @@
<Comment/> <Comment/>
</Properties> </Properties>
</EnumValue> </EnumValue>
<EnumValue uuid="883f782c-4484-4726-bd3c-4418f8547791">
<Properties>
<Name>NotifyOn</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Notify on</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
</ChildObjects> </ChildObjects>
</Enum> </Enum>
</MetaDataObject> </MetaDataObject>

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"> <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"> <Enum uuid="71ba9b1f-8966-4c88-accf-4683d4764b70">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="EnumRef.МетодHTTPЗапроса" category="Ref"> <xr:GeneratedType name="EnumRef.МетодХТТПЗапроса" category="Ref">
<xr:TypeId>062ec44f-ddff-4eb2-9d67-ace1243a7874</xr:TypeId> <xr:TypeId>062ec44f-ddff-4eb2-9d67-ace1243a7874</xr:TypeId>
<xr:ValueId>cdbc4fda-6d89-4e83-950b-648b679c0a5c</xr:ValueId> <xr:ValueId>cdbc4fda-6d89-4e83-950b-648b679c0a5c</xr:ValueId>
</xr:GeneratedType> </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:TypeId>75bb42b3-89ee-4666-a3d9-dfe18b9c28e1</xr:TypeId>
<xr:ValueId>bc3f9676-2064-4845-a533-556e907c48bf</xr:ValueId> <xr:ValueId>bc3f9676-2064-4845-a533-556e907c48bf</xr:ValueId>
</xr:GeneratedType> </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:TypeId>ac64ef38-c6cc-4bc3-a870-1784bd2b1317</xr:TypeId>
<xr:ValueId>35a3a837-9322-46af-9807-8d233146ed18</xr:ValueId> <xr:ValueId>35a3a837-9322-46af-9807-8d233146ed18</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>МетодHTTPЗапроса</Name> <Name>МетодХТТПЗапроса</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<Enum uuid="bcf975e5-286f-4ac9-916e-52d407fcf18e">
<InternalInfo>
<xr:GeneratedType name="EnumRef.ПериодичностьУведомлений" category="Ref">
<xr:TypeId>3e7044ed-0e3a-4541-8a9e-ab9fe7208033</xr:TypeId>
<xr:ValueId>f43d2234-6787-4a01-a802-fcd547f85afa</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumManager.ПериодичностьУведомлений" category="Manager">
<xr:TypeId>a7526e24-f52f-432e-bf90-905ec2225597</xr:TypeId>
<xr:ValueId>56b27172-4b82-4b46-a2a5-bf87b0ece644</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumList.ПериодичностьУведомлений" category="List">
<xr:TypeId>ce3b1cff-eb12-401e-b368-b061a2a83848</xr:TypeId>
<xr:ValueId>94ee4e38-9b48-46e5-8a02-5c76d151b47e</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ПериодичностьУведомлений</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Периодичность уведомлений</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>false</UseStandardCommands>
<Characteristics/>
<QuickChoice>true</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<DefaultListForm/>
<DefaultChoiceForm/>
<AuxiliaryListForm/>
<AuxiliaryChoiceForm/>
<ListPresentation/>
<ExtendedListPresentation/>
<Explanation/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
<ChildObjects>
<EnumValue uuid="d4414838-b4a0-4852-93a4-6fdd71b7b16b">
<Properties>
<Name>КаждыйЧас</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каждый час</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="0dcec1a9-d267-43f4-ba1f-ed1c5ade39d7">
<Properties>
<Name>КаждыйДень</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каждый день</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="b9c44b33-0379-4f76-9ca4-6af791787242">
<Properties>
<Name>КаждуюНеделю</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каждую неделю</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="57436476-e3bb-4fc8-bcf2-eca06f286cfe">
<Properties>
<Name>НеУведомлять</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Не уведомлять</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>

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"> <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"> <HTTPService uuid="85b4fbb0-1bf6-43f5-a35b-0e0b14ecac91">
<Properties> <Properties>
<Name>HTTPСервис_Telegram</Name> <Name>СервисТелеграм</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>HTTPСервис telegram</v8:content> <v8:content>Сервис телеграм</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -17,8 +17,13 @@
<ChildObjects> <ChildObjects>
<URLTemplate uuid="8c9514bd-6990-4128-80c1-c3bf77ae6769"> <URLTemplate uuid="8c9514bd-6990-4128-80c1-c3bf77ae6769">
<Properties> <Properties>
<Name>ШаблонURL1</Name> <Name>Шаблон1</Name>
<Synonym/> <Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Шаблон1</v8:content>
</v8:item>
</Synonym>
<Comment/> <Comment/>
<Template>/update</Template> <Template>/update</Template>
</Properties> </Properties>
@@ -41,8 +46,13 @@
</URLTemplate> </URLTemplate>
<URLTemplate uuid="fd611f01-bc5b-412f-9d6a-395f20daf8f7"> <URLTemplate uuid="fd611f01-bc5b-412f-9d6a-395f20daf8f7">
<Properties> <Properties>
<Name>ШаблонURL2</Name> <Name>Шаблон2</Name>
<Synonym/> <Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Шаблон2</v8:content>
</v8:item>
</Synonym>
<Comment/> <Comment/>
<Template>/info</Template> <Template>/info</Template>
</Properties> </Properties>

View File

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

View File

@@ -1,6 +1,6 @@
#Область ПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
Функция АктуализироватьВерсииКонфигураций()Экспорт Функция АктуализироватьВерсииКонфигураций() Экспорт
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = Запрос.Текст =
@@ -65,9 +65,10 @@
Если Ответ.Успех Тогда Если Ответ.Успех Тогда
АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"]; АктуальнаяВерсияССервера = Ответ["Тело"]["configurationUpdateResponse"]["configurationVersion"];
Если АктуальнаяВерсияССервера = Неопределено Тогда Если АктуальнаяВерсияССервера = Неопределено Тогда
//Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null. // Если запрос выполнен без ошибок и в запросе была передана актуальная версия - с сервера обновлений приходит null.
// Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует // Дополнительно проверим версию платформы, если что-то пришло, значит текущая версия существует
// и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации от совпадения текущей и актуальной. // и её назначаем актуальной. Таким образом отличаем некорректную версию текущей конфигурации
// от совпадения текущей и актуальной.
АктуальнаяВерсияПлатформы = Ответ["Тело"]["platformUpdateResponse"]["platformVersion"]; АктуальнаяВерсияПлатформы = Ответ["Тело"]["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"> <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"> <InformationRegister uuid="fa99a49c-8f89-4d1c-bed9-ad8ae5f1f875">
<InternalInfo> <InternalInfo>
<xr:GeneratedType name="InformationRegisterRecord.ТелеграмСообщения" category="Record"> <xr:GeneratedType name="InformationRegisterRecord.ТелеграмИсторияСообщений" category="Record">
<xr:TypeId>9444c860-a15a-48eb-8b4c-29d90b5c8541</xr:TypeId> <xr:TypeId>9444c860-a15a-48eb-8b4c-29d90b5c8541</xr:TypeId>
<xr:ValueId>eca768ad-6630-4ee4-831d-cd6fd9764e3d</xr:ValueId> <xr:ValueId>eca768ad-6630-4ee4-831d-cd6fd9764e3d</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterManager.ТелеграмСообщения" category="Manager"> <xr:GeneratedType name="InformationRegisterManager.ТелеграмИсторияСообщений" category="Manager">
<xr:TypeId>d628eea0-6995-470d-aecc-51d8bd8ed74c</xr:TypeId> <xr:TypeId>d628eea0-6995-470d-aecc-51d8bd8ed74c</xr:TypeId>
<xr:ValueId>1c4d0ec8-9752-4a4d-a549-70205ba4e912</xr:ValueId> <xr:ValueId>1c4d0ec8-9752-4a4d-a549-70205ba4e912</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterSelection.ТелеграмСообщения" category="Selection"> <xr:GeneratedType name="InformationRegisterSelection.ТелеграмИсторияСообщений" category="Selection">
<xr:TypeId>0c0e64e8-b32e-4995-8a76-42bf05a83183</xr:TypeId> <xr:TypeId>0c0e64e8-b32e-4995-8a76-42bf05a83183</xr:TypeId>
<xr:ValueId>b1078888-faa2-407f-922d-032e4b6316c3</xr:ValueId> <xr:ValueId>b1078888-faa2-407f-922d-032e4b6316c3</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterList.ТелеграмСообщения" category="List"> <xr:GeneratedType name="InformationRegisterList.ТелеграмИсторияСообщений" category="List">
<xr:TypeId>064168d2-83fe-4d6e-ac7f-0dea8e6f87ba</xr:TypeId> <xr:TypeId>064168d2-83fe-4d6e-ac7f-0dea8e6f87ba</xr:TypeId>
<xr:ValueId>7c6a16a0-6839-4bc7-b6e4-39c69f23b01c</xr:ValueId> <xr:ValueId>7c6a16a0-6839-4bc7-b6e4-39c69f23b01c</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordSet.ТелеграмСообщения" category="RecordSet"> <xr:GeneratedType name="InformationRegisterRecordSet.ТелеграмИсторияСообщений" category="RecordSet">
<xr:TypeId>d3cf9ed0-1f6c-4914-adfe-1035aa3fbaa0</xr:TypeId> <xr:TypeId>d3cf9ed0-1f6c-4914-adfe-1035aa3fbaa0</xr:TypeId>
<xr:ValueId>de6174d6-baf0-4a9f-be96-a20177e1f591</xr:ValueId> <xr:ValueId>de6174d6-baf0-4a9f-be96-a20177e1f591</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordKey.ТелеграмСообщения" category="RecordKey"> <xr:GeneratedType name="InformationRegisterRecordKey.ТелеграмИсторияСообщений" category="RecordKey">
<xr:TypeId>e3f0086a-be84-4744-b45d-f1c7bfb2d1e9</xr:TypeId> <xr:TypeId>e3f0086a-be84-4744-b45d-f1c7bfb2d1e9</xr:TypeId>
<xr:ValueId>ccffa851-6e1c-4300-a1ee-f81650a30bcd</xr:ValueId> <xr:ValueId>ccffa851-6e1c-4300-a1ee-f81650a30bcd</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordManager.ТелеграмСообщения" category="RecordManager"> <xr:GeneratedType name="InformationRegisterRecordManager.ТелеграмИсторияСообщений" category="RecordManager">
<xr:TypeId>d3d49311-3925-4a11-bc57-fea0f92c011b</xr:TypeId> <xr:TypeId>d3d49311-3925-4a11-bc57-fea0f92c011b</xr:TypeId>
<xr:ValueId>b272acb8-75cb-429a-9076-2a2c10e3edc0</xr:ValueId> <xr:ValueId>b272acb8-75cb-429a-9076-2a2c10e3edc0</xr:ValueId>
</xr:GeneratedType> </xr:GeneratedType>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<Name>ТелеграмСообщения</Name> <Name>ТелеграмИсторияСообщений</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Телеграм сообщения</v8:content> <v8:content>История сообщений</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
@@ -75,7 +75,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>cfg:CatalogRef.ТелеграмСообщение</v8:Type> <v8:Type>cfg:CatalogRef.ТелеграмСообщения</v8:Type>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>
@@ -200,7 +200,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>cfg:CatalogRef.ТелеграмПользователь</v8:Type> <v8:Type>cfg:CatalogRef.ТелеграмПользователи</v8:Type>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>

View File

@@ -64,18 +64,18 @@
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing> <ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties> </Properties>
<ChildObjects> <ChildObjects>
<Resource uuid="cdc02f8b-b82c-48d9-b936-bb2515c15258"> <Resource uuid="14a9eafe-73cb-4605-b70e-2a6aae888c2c">
<Properties> <Properties>
<Name>ОтправлятьУведомления</Name> <Name>Периодичность</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Отправлять уведомления</v8:content> <v8:content>Периодичность</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>xs:boolean</v8:Type> <v8:Type>cfg:EnumRef.ПериодичностьУведомлений</v8:Type>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>
@@ -103,6 +103,48 @@
<DataHistory>Use</DataHistory> <DataHistory>Use</DataHistory>
</Properties> </Properties>
</Resource> </Resource>
<Attribute uuid="5294ea35-db35-4f2d-9764-31972faa1063">
<Properties>
<Name>ПоследняяОтправка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Последняя отправка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Dimension uuid="3d0a0b1e-a7f9-4b8d-b95c-6e23973e0896"> <Dimension uuid="3d0a0b1e-a7f9-4b8d-b95c-6e23973e0896">
<Properties> <Properties>
<Name>ИдЧата</Name> <Name>ИдЧата</Name>

View File

@@ -1,21 +1,69 @@
#Область ПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
Функция УправлениеОповещениями(ИдЧата, Включить) Экспорт Функция УправлениеУведомлениями(ИдЧата, Периодичность) Экспорт
МенеджерЗаписи = СоздатьМенеджерЗаписи(); Менеджер = СоздатьМенеджерЗаписи();
МенеджерЗаписи.ИдЧата = ИдЧата; Менеджер.ИдЧата = ИдЧата;
МенеджерЗаписи.Прочитать(); Менеджер.Прочитать();
Если МенеджерЗаписи.Выбран() Тогда
Если МенеджерЗаписи.ОтправлятьУведомления = Включить Тогда Если Не Менеджер.Выбран() Тогда
Возврат СтрШаблон("Оповещения уже %1", ?(Включить, "включены", "выключены")); Возврат НеудачнаяСменеПериодичности(Периодичность);
Иначе
МенеджерЗаписи.ОтправлятьУведомления = Включить;
МенеджерЗаписи.Записать();
Возврат СтрШаблон("Оповещения %1", ?(Включить, "включены &#128265", "выключены &#128263"));
КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат СтрШаблон("Не удалось %1 оповещения", ?(Включить, "включить", "выключить")); Если Менеджер.Периодичность = Периодичность Тогда
Возврат ПовторнаяПопыткаУстановки(Периодичность);
КонецЕсли;
Менеджер.Периодичность = Периодичность;
Менеджер.Записать();
Возврат УспешнаяСменаПериодичности(Периодичность);
КонецФункции
Процедура ОбновитьДатуОтправкиУведомления(ИдЧата) Экспорт
Менеджер = СоздатьМенеджерЗаписи();
Менеджер.ИдЧата = ИдЧата;
Менеджер.Прочитать();
Если Менеджер.Выбран() Тогда
Менеджер.ПоследняяОтправка = ТекущаяДатаСеанса();
Менеджер.Записать();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция НеудачнаяСменеПериодичности(Периодичность)
Возврат СтрШаблон("Не удалось %1 уведомления",
?(Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять, "выключить", "включить"));
КонецФункции
Функция ПовторнаяПопыткаУстановки(Периодичность)
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
Возврат "&#128263 Уведомления уже выключены";
Иначе
Возврат СтрШаблон("&#128265 Уведомления уже включены (%1)",
НРег(ТелеграмПовторноеИспользование.СинонимПеречисления(Периодичность)));
КонецЕсли;
КонецФункции
Функция УспешнаяСменаПериодичности(Периодичность)
Если Периодичность = Перечисления.ПериодичностьУведомлений.НеУведомлять Тогда
Возврат "&#128263 Уведомления выключены";
Иначе
Возврат СтрШаблон("&#128265 Уведомления включены (%1)",
НРег(ТелеграмПовторноеИспользование.СинонимПеречисления(Периодичность)));
КонецЕсли;
КонецФункции КонецФункции

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="75596ea7-f58a-40d8-b6a8-c7d57ea30fdc">
<Properties>
<Name>АдминистраторСистемы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Администратор системы</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</Role>
</MetaDataObject>

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

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

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,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.19">
<setForNewObjects>true</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Catalog.ТелеграмПользователи</name>
<right>
<name>InteractiveDelete</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeletePredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveSetDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveClearDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeleteMarkedPredefinedData</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ТелеграмСообщения</name>
<right>
<name>InteractiveDelete</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeletePredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveSetDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveClearDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeleteMarkedPredefinedData</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ТелеграмДокументы</name>
<right>
<name>InteractiveDelete</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeletePredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveSetDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveClearDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeleteMarkedPredefinedData</name>
<value>false</value>
</right>
</object>
<object>
<name>Document.ЛогиХТТПЗапросов</name>
<right>
<name>InteractiveDelete</name>
<value>false</value>
</right>
</object>
<object>
<name>Configuration.Конфигурация</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>MobileClient</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>CollaborationSystemInfoBaseRegistration</name>
<value>false</value>
</right>
<right>
<name>ExclusiveModeTerminationAtSessionStart</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.Конфигурации</name>
<right>
<name>InteractiveDelete</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeletePredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveSetDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveClearDeletionMarkPredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeleteMarkedPredefinedData</name>
<value>false</value>
</right>
</object>
</Rights>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<JobSchedule xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19"> <JobSchedule xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
<Schedule BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="09:00:00" EndTime="18:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="14400" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="1"> <Schedule BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="00:00:00" EndTime="00:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="3600" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="1">
<ent:WeekDays>1 2 3 4 5</ent:WeekDays> <ent:WeekDays>1 2 3 4 5 6 7</ent:WeekDays>
<ent:Months>1 2 3 4 5 6 7 8 9 10 11 12</ent:Months> <ent:Months>1 2 3 4 5 6 7 8 9 10 11 12</ent:Months>
<ent:DetailedDailySchedules BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="09:00:00" EndTime="18:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="14400" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="0"> <ent:DetailedDailySchedules BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="00:00:00" EndTime="00:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="3600" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="0">
<ent:WeekDays/> <ent:WeekDays/>
<ent:Months/> <ent:Months/>
</ent:DetailedDailySchedules> </ent:DetailedDailySchedules>

View File

@@ -18,6 +18,7 @@
<Content> <Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.Настройки</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">CommonForm.Настройки</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.НачальноеЗаполнениеДанных</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">DataProcessor.НачальноеЗаполнениеДанных</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогиХТТПЗапросов</xr:Item>
</Content> </Content>
</Properties> </Properties>
<ChildObjects/> <ChildObjects/>

View File

@@ -16,15 +16,16 @@
<Explanation/> <Explanation/>
<Picture/> <Picture/>
<Content> <Content>
<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">InformationRegister.ОтслеживаниеВерсийКонфигураций</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">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">ScheduledJob.ПроверкаАктуальностиКонфигураций</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">CommonModule.ОбновленияРегламент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.УведомленияОНовыхВерсиях</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">InformationRegister.УведомленияОНовыхВерсиях</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.РаботаСОбновлениямиВызовСервера</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">CommonModule.РаботаСОбновлениямиВызовСервера</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.ПериодичностьУведомлений</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">b86f0a31-b523-4c41-9927-4dde82319197</xr:Item>
</Content> </Content>
</Properties> </Properties>
<ChildObjects/> <ChildObjects/>

View File

@@ -17,19 +17,19 @@
<Picture/> <Picture/>
<Content> <Content>
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмТокен</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмТокен</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ТелеграмСообщения</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">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">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">HTTPService.СервисТелеграм</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмВебХук</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">Constant.ЛогироватьHttpЗапросы</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогHttpЗапроса</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">Catalog.ТелеграмДокументы</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.КартинкаБот</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">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">CommonModule.ТелеграмРаботаСКлавиатурой</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">CommonModule.ТелеграмРаботаСКлавиатурой</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмИспользоватьВебХук</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">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"?> <?xml version="1.0" encoding="UTF-8"?>
<VERSION>28</VERSION> <VERSION>50</VERSION>