Пример создания отчета

<< Click to Display Table of Contents >>

Navigation:  Создание отчетов >

Пример создания отчета

Постановка задачи

Имеем контролируемые параметры, на основании которых нужно построить отчет. Оператор должен иметь возможность выбрать время начала составления отчета, время окончания, а также интервал,  с которым будет появляться новая строка. Так, например, если стоит задача построить суточный отчет, с интервалом в 1 час, то оператору нужно задать время начала отчета, время окончания, которое отличается на 24 часа от значения предыдущего параметра, и интервал 60 минут.  В этом случае в отчете должно появится 24 строки. Значение, которое будет отображено в отчете будет зависеть от способа обработки архивных данных, например, может выбраться максимальное значение, за контролируемый час, или минимальное, или среднее, др. В данном случае отчет строится на основании архивных данных, поэтому в проекте у контролируемых параметров должен быть установлен флаг Архивировать.

Важно! Модуль отчетов работает на исполнительных системах для ОС Windows, Linux. При использовании модуля в предопределенных контроллерах необходимо уточнить, поддерживается ли он в каждом конкретном типе.

Реализация

Создание элемента отчет

Отчет может быть создан как в узле, так и в объекте. Рассмотрим создание отчета в объекте.

Чтобы добавить отчет в проект необходимо выполнить пункт контекстного меню объекта Добавить.Отчет.

Итак, создадим в проекте объект с именем Формирование отчета, в него добавим элемент Отчет:

primer_sozd_otcheta

Редактор создания отчетов откроется автоматически.

В группе объекта Ресурсы, появится подгрупа Отчеты, в которой будет находится созданный элемент.

primer_sozd_otcheta_1

При необходимости можно изменить имя отчета в его панели свойств.

Также стоит обратить внимание на свойство Полное имя, которое в будущем пригодится (оно отображается, если Простой режим в панели свойств отключен ). Значение свойства Полное имя можно скопировать:

primer_sozd_otcheta_2

Параметры формирования отчета

В проект добавляем служебные параметры, необходимые для формирования отчета.

Название

Тип

Назначение

Начало

DT

Определяет время начала формирования отчета

Конец

DT

Определяет время окончания формирования отчета

Интервал

 

Time

Время определяющее через какой промежуток будет формироваться новая строка или столбец.

Сформировать

Bool

Команда оператора, после которой начнется формирование отчета.

Параметры Начало, Конец, Интервал и Сформировать размещаем в окне, в удобном для оператора виде.  Пример окна:

primer_sozd_otcheta_5

Если отчет должен формироваться автоматически, то данные параметры могут формироваться в результате работы программ, например, ST.

Управление формированием отчета

Добавляем в проект служебный ФБ  из библиотеки: BaseObjects.ФБ.Системные.ReportFB, который управляет формированием отчета.

В настройках входа Name необходимо указать в качестве значения по умолчанию имя отчета, которым будет управлять данный ФБ. Имя  отчета содержит в себе имя объекта и его родителей, в которым находится отчет, и имя самого отчета. Поэтому можно вставить ранее скопированное полное имя отчета и удалить оттуда несущественные элементы. Например, свойство Полное имя имеет значение: Объекты.Формирование отчета.Ресурсы.Отчеты.Отчет 1, нужно оставить  - Объекты.Формирование отчета.Отчет 1

primer_sozd_otcheta_3

Если отчет создан в дереве системы, то в свойстве нужно указать только имя отчета. Имя узла, указывать не требуется.

Вход Execute соединить с параметром Сформировать

Редактор отчетов

В редакторе отчетов, который открылся автоматически необходимо перейти на панель Словарь. В данной панели определяется какие параметры MasterSCADA будут участвовать при составлении отчета. В описываемом случае необходимо настроить группу словаря Архив данных.

Перетаскиваем контролируемые параметры в группу Архив данных - появятся ссылки на соответствующие элементы. Затем необходимо связать элементы из подгруппы Параметры с соответствующими элементами дерева объектов. Для этого нужно переменные из дерева объектов перетащить на нужный параметр

slovar_svyaz

Далее необходимо определить способ формирования отчета. Для этого выделим элемент Архив данных в Словаре отчета. и перейдем на панель Свойства в интерфейсе дизайнера отчетов.

nastr_arhiv_dannyh

Для решения поставленной задачи укажем Способ формирования данных -  Периодический.

Далее необходимо выбрать способ обработки данных, т.е как рассчитывать значения для записи в отчет. Нужно выделить контролируемый параметр в словаре отчета. И перейти на панель свойств, где определить для каждого параметра свой способ обработки.

sposob_obrabotki

Например, если отчет будет формироваться раз в час, т.е. время начала будет 10:00, а время окончания 11:00, а Интервал будет 10, то в отчете будет 6 строк, и нужно определить какое число попадет в ячейку отчета, если выбрать способ обработки - минимальное, то в отчет попадет самое маленькое значение за 10 минут, если максимальное - то соответственно самое большое.

Внешний вид отчета определяется его шаблоном, который задается в рабочей области, заголовок отчета, а также вид каждой новой страницы определяется элементами, которые располагаются с левой стороны поля отчета.

panel_instr

Добавим Заголовок отчета. Разместим в появившемся контейнере элемент Текст (свойства также настраиваются на соответствующей панели внутри редактора отчетов)

Перетащим из словаря элемент Архив данных на поле отчета. В диалоговом окне укажем, какие столбцы необходимы отображать в отчете.

primer_shablon

Примечание: Если нужно добавить в отчет текущие значения параметров на момент формирования отчета, то их перетаскивают в Словарь в группу Переменные, а затем также перетаскивают в поле отчета в нужно место

Сохраним отчет в редакторе отчетов

sohr_otchet

Созданный отчет попадет в базу данных проекта. После компиляции проекта, его запуска в исполнительной системе и формирования отчета (помните, что для формирования отчета нужны архивные данные), если не были заданы дополнительные настройки, то отчет сохранится по умолчанию в папке <папка узла>\htdocs\reports

Например:

если узел запускается локально из среды разработки, то используется папка <имя пользователя>\AppData\Roaming\MPSSot\MasterSCADA4D<версия>\ProjectsServiceData\<имя проекта>\Debug\<имя узла>\PLC\htdocs\reports,

если узел запускается локально в режиме эмуляции из среды разработки, то используется папка <имя пользователя>\AppData\Roaming\MPSSot\MasterSCADA4D<версия>\ProjectsServiceData\<имя проекта>\Debug\web_imit\htdocs\reports,

если используется отдельно установленная исполнительная система MasterSCADA 4D RT, то узел запускается из папки запуска проекта по умолчанию среды исполнения для Windows - C:\ProgramData\MPSSoft\MasterSCADA4DRT<версия>\Server\htdocs\reports.

Открытие отчета в окне

Рассмотрим один из возможных способов открытия ранее сформированного отчета в окне:

Добавим в окно графический элемент Контейнер окна

Добавим в окно графический элемент Кнопка.

В панели свойств кнопки перейдем в режим События и в Клик мыши добавим действие Открыть адрес.

Установим связь между выходом ФБ ReportFB Path  и параметром действия Адрес.

Откроем вкладку Элементы легенды графического редактора и перетащим параметр действия Контейнер окна на элемент Контейнер окна.

primer_sozd_otcheta_4

В результате в клиенте будет открываться последний созданный отчет.