Перейти к содержанию

Периодический отчет

Рассмотрим пример создания периодического отчета. За основу возьмем часть технологического процесса подготовки воды в резервуаре. В качестве активных в проект добавьте следующие теги:

Тег Тип данных Описание
Температура 1
Double
Температура жидкости в резервуаре
Уровень 1
Int64
Уровень жидкости в резервуаре
Начало периода
DateTime
Начало периода времени, за который требуется сформировать отчет
Конец периода
DateTime
Конец периода времени, за который требуется сформировать отчет

Примечание

Перед созданием отчета необходимо:

  1. Включить архивацию для тегов "Температура 1" и "Уровень 1", установив флаг "Активность" в свойстве "Сохранение в БД".
  2. Заблаговременно развернуть проект на сервере, чтобы обеспечить накопление архивных данных в базе.

Пример:

Составить отчет за определенный временной промежуток, ограниченный значениями тегов "Начало периода" и "Конец периода". Данный диапазон следует разбить на равные интервалы, например, по 60 секунд. Для каждого интервала необходимо сформировать отчет, включающий исторические данные тегов "Температура 1" и "Уровень 1". Для значений тега "Уровень 1" указать минимальное и максимальное значение.

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

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

Далее создайте отчет в редакторе и добавьте "Источник данных".

В диалоговом окне "Создание источника данных" выберите тип "Периодический". Укажите имя источника и имя для всех переменных, соответствующих данному типу источника.

В словаре отчета добавится источник данных "Данные" с единственной колонкой "Время". Также будут определены три переменные: "Данные_Начало", "Данные_Конец" и "Данные_Интервал".

Теперь система будет передавать в этот источник только те данные из архива, которые находятся в интервале времени от значения переменной "Данные_Начало" до значения переменной "Данные_Конец". Все остальные данные, находящиеся вне этого временного промежутка, не будут включены в источник.

Далее свяжите теги проекта "Начало периода" и "Конец периода" с соответствующими переменными источника "Данные_Начало" и "Данные_Конец". В процессе формирования отчета значения переменных "Данные_Начало" и "Данные_Конец" будут автоматически заменены на значения тегов проекта "Начало периода" и "Конец периода" соответственно. Это позволит источнику "Данные" оперировать заданным временным периодом.

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

Для начала добавьте максимальное значение уровня. Для этого нажмите правой кнопкой мыши на переменной "Уровень 1" и выберите пункт "Добавить в источник".

В диалоговом окне добавления новой колонки выберите источник "Данные", тип обработки "Максимум" и назовите новую колонку "Макс. уровень".

Далее выполните аналогичные действия для переменной "Уровень 1", присвоив ей имя "Мин. уровень" и выбрав тип обработки "Минимум". Также добавьте переменную "Температура 1" в источник с именем "Средняя_температура", выбрав тип обработки "Среднее". После выполнения всех действий структура словаря должна выглядеть следующим образом.

Чтобы изменить интервал, с которым генератор отчета будет извлекать значения из базы данных, внесите изменения в переменную "Данные_интервал" — дважды нажмите левой кнопкой мыши по данной переменной в словаре. В диалоговом окне "Изменение переменной" установите значение 60, что соответствует 60 секундам.

Примечание

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

Для начала подготовки шаблона выберите левой кнопкой мыши источник "Данные" и перетащите его в область редактирования. В шаблоне будет создан новый стандартный бэнд "Данные", который будет привязан к источнику данных отчета "Данные".

Бэнд "Данные" является одним из наиболее часто используемых бэндов. Он берет данные из источника, с которым связан, и выводится столько раз, сколько строк в источнике данных.

В диалоговом окне "Данные" установите флаги для всех колонок, а также активируйте флаг "Заголовок данных".

В результате в области редактирования будет сформирован шаблон отчета.

При активировании предварительного просмотра отчета в столбце "Средн_Температура" в значении переменной отображается избыточное количество знаков после запятой.

Чтобы изменить формат вывода значения, выберите левой кнопкой мыши столбец с значениями "Средней температуры", далее вкладку "Свойства" и в поле формат нажмите на кнопку ✏️.

В диалоговом окне "Формат" укажите количество знаков дробной части в соответствующем поле.

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

На данном этапе необходимо добавить заголовок к отчету. Для этого воспользуйтесь кнопкой "Секции" панели инструментов, либо активируйте меню "Вставить". Заголовок выводится один раз в начале отчета, перед другими бэндами.

После переноса заголовка он автоматически расположится выше бэнда "Данные". Теперь в зоне бэнда "Заголовок отчета" разместите "Текст" заголовка.

Далее вызовите окно редактирования текста двойным нажатием левой кнопки мыши. В окно с текстом заголовка перетащите переменные "Данные_Начало" и "Данные_конец" и нажмите кнопку "Ок".

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

Ниже представлен один из возможных вариантов оформления.

Для окончательного формирования отчета откройте мнемосхему, задайте диапазон и нажмите кнопку "Отчет".