Данный раздел содержит подробную инструкцию по установке и настройке системы автоматической выгрузки отчётов в формате PDF или EXCEL на электронную почту или в Telegram-бот.


1. Установка

1.1. Копирование файлов

Скопируйте все файлы и папки, кроме следующих:

1.2. Настройка службы

  1. Откройте файл createAutoGenerateReportService.bat в текстовом редакторе.
  2. В параметре binPath укажите корректный путь к файлу AutoGenerateReport.exe.

1.3. Создание Windows-службы

Запустите файл createAutoGenerateReportService.bat от имени администратора. Будет создана Windows-служба с именем "Game-Keeper AutoGenerateReport".

1.4. Настройка путей к библиотекам

Откройте файл AutoGenerateReport.runtimeconfig.dev.json и укажите правильный путь к папке LIB.


2. Конфигурация

Все настройки выполняются в конфигурационном файле appsettings.json.

2.1. Настройка списка отчетов (секция TaskList)

Каждый выгружаемый отчет настраивается отдельным элементом массива в секции TaskList.
Параметры элемента:

2.2. Настройка способов рассылки (секция SenderProviders)

2.2.1. E-mail

В секции "SenderProviders":"Smtp" указываются параметры SMTP-сервера, учетные данные отправителя и отображаемое имя.

2.2.2. Telegram

В секции "SenderProviders":"Telegram" настраивается параметр "ApiToken" — токен Telegram-бота, через которого будут рассылаться отчеты. Получатели должны быть подписаны на данного бота.

Важно! Для каждой конфигурации должен быть создан уникальный телеграм-бот.

2.3. Подключение к ReportSystem (секция ReportSystem)


3. Описание работы службы

3.1. Принцип работы

3.2. Гибкость настроек

Вы можете добавить в TaskList любое количество отчетов, каждый с индивидуальным расписанием и списками получателей.


4. Работа Telegram-бота (версия 1.0.0.2)


5. Пример конфигурации (appsettings.json)


{
"AllowedHosts": "*",
"SenderProviders": {
"Smtp": {
"SmtpHost": "smtp.yandex.ru",
"SmtpPort": 465,
"UseSsl": true,
"Login": "Логин, от которого происходит рассылка",
"Password": "Пароль",
"From":

{ "Address": "Адрес, с которого происходит рассылка", "Name": "Отображаемое имя, от которого приходит письмо" }

},
"Telegram":

{ "ApiToken": "6278601718:AAG5vYEtpQR6cOUCNUay8kpvD3xI0cPDbQo" }

},
"ReportSystem":

{ "BaseUrl": "http://cloud.game-keeper.com:5200", "Login": "Robot", "Password": "1" }

,
"TaskList": [
{
"ReportId": "ceb7713a-7a76-6940-243d-269a584e6844",
"ReportName": "Выручка за текущий год",
"Schedule": "*/1 * * * *",
"ExportFormat": "pdf",
"Smtp": {
"To": [

{ "Name": "Себе", "Address": "any@yandex.ru", "Disabled": false }

],
"Cc": [
],
"Subject": "Выручка за текущий год",
"Body": "<h1>Выручка за текущий год</h1> Письмо сформировано автоматически <br/> С уважением, <br/> Ваш автогенератор отчетов",
"BodyIsHtml": true,
"Disabled": false
},
"Telegram": {
"To": [

{ "Name": "Имя получателя", "Address": "123456789", "Disabled": false }

],
"Text": "Выручка за текущий год",
"Disabled": false
},
"Disabled": false
}
]
}


6. Дополнительные рекомендации


Версия документа: 1.0.0.2