Плагин Гибкий отчёт
Обзор
Плагин Гибкий отчёт позволяет генерировать отчёты в соответствии с пользовательской конфигурацией. С помощью данного плагина Вы можете построить практически любой необходимый отчёт. Пользователю достаточно выбрать период и нажать на кнопку генерации отчёта. Конфигурации отчётов предварительно создаются администратором. Скачать плагин можно по ссылке.
Установка
Плагин Гибкий отчёт устанавливается по инструкции. В ходе установки выполните дополнительное действие - скопируйте файл 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. Чтобы изменить шрифт отчётов, необходимо отредактировать файл стилей.
Поиск шрифта для загрузки происходит по следующему алгоритму:
- Определяется директория поиска. На Windows поиск выполняется в директории
C:\Windows\Fonts, на Linux - в директории/usr/share/fonts/truetype -
На основе имени шрифта (FontFamily) определяются требуемые имена файлов шрифтов.
- Обычный шрифт:
FontFamily.ttf,FontFamily-Regular.ttf - Жирный шрифт:
FontFamilyb.ttf,FontFamilybd.ttf,FontFamily-Bold.ttf - Наклонный шрифт:
FontFamilyi.ttf,FontFamily-Italic.ttf,FontFamily-Oblique.ttf - Жирный и наклонный:
FontFamilybi.ttf,FontFamily-BoldItalic.ttf,FontFamily-BoldOblique.ttf
- Обычный шрифт:
- Определяются запасные имена файлов шрифтов (кандидаты). Для жирного или наклонного шрифта в качестве кандидатов используются файлы обычного шрифта. Для обычного шрифта запасные варианты отсутствуют.
- Если в директории поиска находится желаемый или запасной шрифт, то файл шрифта загружается и предоставляется для генерации отчёта. Поиск не чувствителен к регистру символов.
Установленные по умолчанию шрифты обычно не содержат символов таких языков как китайский и корейский. Для формирования отчётов на таких языках рекомендуется установить шрифт Arial Unicode MS. На Windows установка шрифта должна производиться для всех пользователей, чтобы файл шрифта был помещён в директорию C:\Windows\Fonts
Шрифты в формате Excel
В генерируемых отчётах в формате Excel указывается только наименование шрифта, сам шрифт не включается в файл отчёта. По умолчанию используется шрифт Arial. При открытии файла с помощью Microsoft Excel или Libre Office Calc шрифт загружается приложением из системы. Если шрифт отсутствует, используется автоматическая замена. Изменить шрифт можно с помощью файла стилей.