Плагин Гибкий отчёт

Обзор

Плагин Гибкий отчёт позволяет генерировать отчёты в соответствии с пользовательской конфигурацией. С помощью данного плагина Вы можете построить практически любой необходимый отчёт. Пользователю достаточно выбрать период и нажать на кнопку генерации отчёта. Конфигурации отчётов предварительно создаются администратором. Скачать плагин можно по ссылке.

Установка

Плагин Гибкий отчёт устанавливается по инструкции. В ходе установки выполните дополнительное действие: скопируйте файл PlgElasticReport.xml из дистрибутива плагина в свой проект. Файл должен отображаться в проводнике проекта внутри узла Вебстанция > Конфигурационные файлы.

Конфигурирование

Отчёт состоит из секций, которые выводятся в выходной документ одна за другой. Каждая секция имеет свой тип, параметры и привязку к данным. Кроме того, отчёт имеет общие параметры, влияющие на все секции. Один и тот же отчёт может быть сгенерирован в различных форматах. В настоящий момент поддерживаются форматы PDF, Excel и HTML. При этом внешний вид одного и того же отчёта, сгенерированного в разных форматах, может незначительно отличаться.

Форма отчёта

Для каждой отчётной формы создаётся отдельный файл конфигурации в формате XML. Файл конфигурации задаёт форматирование отчёта и определяет привязку данных отчёта к каналам. Этот файл должен быть сохранён в директории представлений или в её поддиректории внутри проекта.

Файл отчёта

Редактирование файлов конфигурации может осуществляться в любом текстовом редакторе. Например, бесплатный редактор Notepad++ удобен для работы с XML-файлами.

Пример файла отчёта ElasticReport1.xml содержится в установочном пакете плагина. Данный пример включает подробное описание параметров настройки и демонстрирует формирование секций отчёта всех возможных типов.

Основные элементы файла конфигурации отчёта:

  • Элемент InputOptions содержит настройки входной формы отчёта, с помощью которой пользователь вводит параметры отчёта и запускает формирование документа.
  • Элемент OutputOptions содержит настройки форматирования генерируемого документа.
  • Элемент Document определяет содержимое отчёта.
    • Элемент DocumentOptions задаёт основные параметры, относящиеся ко всему документу.
    • Элемент Section описывает секцию отчёта, содержащую данные. Отчёт включает одну или несколько секций различных типов.

Поддерживаемые типы секций:

  • Секция TimeData отображает данные каналов за выбранный период времени. По горизонтали расположены каналы, по вертикали - временные точки.
  • Секция TimeTime отображает данные одного канала в компактной форме. По горизонтали и вертикали расположены временные точки.
  • Секция DataData отображает данные в форме таблицы, каждая ячейка которой может быть привязана к своему каналу.

Плагин позволяет формировать отчёты по историческим данным. Отчёты по текущим данным и событиям не поддерживаются. При выборе исторического архива, на основе которого строится отчёт, рекомендуется отдавать предпочтение архиву с периодом записи данных, совпадающим или близким к шагу секций отчёта. Это позволит избежать выборки лишних данных.

Список отчётов

Конфигурационный файл PlgElasticReport.xml содержит список отчётов по группам, которые отображаются на странице Главное меню > Отчёты. Пример содержимого файла:

<?xml version="1.0" encoding="utf-8" ?>
<PlgElasticReport>
  <ReportGroup name="Elastic Reports" isPublic="false" objNum="0">
    <ReportItem reportID="1" isPublic="false" objNum="0" config="Reports\ElasticReport1.xml" prefix="MyRep" cnlNums="">My report</ReportItem>
  </ReportGroup>
</PlgElasticReport>

Атрибуты элемента ReportGroup:
name - отображаемое наименование группы отчётов;
isPublic - является ли группа публичной, то есть доступной всем пользователям;
objNum - номер объекта, к которому относятся отчёты группы. Ограничивает видимость группы в соответствии с правами пользователя на объект.

Атрибуты элемента ReportItem:
reportID - идентификатор отчёта, уникальный в пределах конфигурационного файла;
isPublic - является ли отчёт публичным, то есть доступным всем пользователям;
objNum - номер объекта, к которому относится отчёт. Ограничивает доступность отчёта в соответствии с правами пользователя на объект;
config - путь к файлу конфигурации отчётной формы относительно директории представлений,
prefix - префикс имени файла, используемый при скачивании отчёта,
cnlNums - фиксированные номера каналов, по которым строится отчёт.

Стили

Имеется возможность настроить собственные стили отчётов: шрифты, цвета, размеры ячеек и т.д. Для каждого формата отчётов стили настраиваются отдельно.

PDF-стили

Файлы PdfStyleDefault.xml и PdfStyleCustom.xml задают форматирование отчётов в формате PDF. Эти файлы расположены в директории веб-приложения ScadaWeb\wwwroot\plugins\ElasticReport\templates. Файл PdfStyleDefault.xml содержит стили по умолчанию и должен оставаться неизменным. Пользовательские стили добавляются в файл PdfStyleCustom.xml. Создавая пользовательские стили, можно наследовать новые стили от существующих или переопределять существующие стили.

Excel-стили

Аналогично файлы ExcelStyleDefault.xml и ExcelStyleCustom.xml, расположенные в той же директории, задают форматирование отчётов в формате Excel. Файл ExcelStyleDefault.xml содержит стили по умолчанию и должен оставаться неизменным. Пользовательские стили добавляются в файл ExcelStyleCustom.xml. Будьте внимательны, форматы файлов стилей PDF и Excel отличаются.

HTML-стили

Файлы html-style-default.scss и html-style-custom.css определяют отображение отчётов в формате HTML. Файлы расположены в директории ScadaWeb\wwwroot\plugins\ElasticReport\css. Пользовательские стили добавляются в файл html-style-custom.css по правилам каскадных таблиц стилей (CSS).

Шрифты

Шрифты в формате PDF

При формировании отчётов в формате PDF по умолчанию используется шрифт Arial. Если требуемый шрифт отсутствует в операционной системе, он заменяется на встроенный шрифт Segoe WP. Чтобы изменить шрифт отчётов, необходимо отредактировать файл стилей.

Поиск шрифта для загрузки происходит по следующему алгоритму:

  1. Определяется директория поиска. На Windows поиск выполняется в директории C:\Windows\Fonts, на Linux - в директории /usr/share/fonts/truetype
  2. На основе имени шрифта (FontFamily) определяются требуемые имена файлов шрифтов.
    1. Обычный шрифт: FontFamily.ttf, FontFamily-Regular.ttf
    2. Жирный шрифт: FontFamilyb.ttf, FontFamilybd.ttf, FontFamily-Bold.ttf
    3. Наклонный шрифт: FontFamilyi.ttf, FontFamily-Italic.ttf, FontFamily-Oblique.ttf
    4. Жирный и наклонный: FontFamilybi.ttf, FontFamily-BoldItalic.ttf, FontFamily-BoldOblique.ttf
  3. Определяются запасные имена файлов шрифтов (кандидаты). Для жирного или наклонного шрифта в качестве кандидатов используются файлы обычного шрифта. Для обычного шрифта запасные варианты отсутствуют.
  4. Если в директории поиска находится желаемый или запасной шрифт, то файл шрифта загружается и предоставляется для генерации отчёта. Поиск не чувствителен к регистру символов.

Установленные по умолчанию шрифты обычно не содержат символов таких языков как китайский и корейский. Для формирования отчётов на таких языках рекомендуется установить шрифт Arial Unicode MS. На Windows установка шрифта должна производиться для всех пользователей, чтобы файл шрифта был помещён в директорию C:\Windows\Fonts

Установка шрифта

Шрифты в формате Excel

В генерируемых отчётах в формате Excel указывается только наименование шрифта, сам шрифт не включается в файл отчёта. По умолчанию используется шрифт Arial. При открытии файла с помощью Microsoft Excel или Libre Office Calc шрифт загружается приложением из системы. Если шрифт отсутствует, используется автоматическая замена. Изменить шрифт можно с помощью файла стилей.