Данный раздел содержит подробную инструкцию по установке и настройке системы автоматической выгрузки отчётов в формате 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": "Токен_вашего_бота"
    }
  },
  "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