Отчет по изменению
Рассмотрим процесс подготовки отчета по изменению. За основу возьмем часть технологического процесса подготовки воды в резервуаре. Периодический отчет, рассмотренный в предыдущем примере, не подойдет, поскольку он предполагает разбиение заданного периода времени на равные интервалы и обработку каждого из них в соответствии с заданными параметрами.
Отчет по изменению позволит получить доступ к каждому архивному значению без разбиения на интервалы и без дополнительной обработки.
В качестве активных в проект необходимо добавить следующие теги:
| Тег | Тип данных | Описание |
|---|---|---|
| Температура 1 | Double |
Температура жидкости в трубопроводе |
| Расход 1 | Int64 |
Расход теплоносителя через клапан 1 |
| Расход 2 | Int64 |
Расход теплоносителя через клапан 2 |
| Начало периода | DateTime |
Начало периода времени, за который требуется сформировать отчет |
| Конец периода | DateTime |
Конец периода времени, за который требуется сформировать отчет |
Примечание
Перед созданием отчета необходимо:
- Включить архивацию для тегов "Температура 1", "Расход 1" и "Расход 2" установив флаг "Активность" в свойстве "Сохранение в БД".
- Заблаговременно развернуть проект на сервере, чтобы обеспечить накопление данных в базе.
Пример:
Сформировать отчет со всеми архивными значениями тегов "Температура 1", "Расход 1", "Расход 2" за указанный интервал времени. Интервал ограничен значениями тегов "Начало периода" и "Конец периода".
Для составления отчета добавим мнемосхему в проект, с помощью которой сможем указать начальный и конечный периоды, а также предусмотрим кнопку для формирования отчета по запросу.
На мнемосхеме разместите фигуры "Вертикальная емкость", а для тегов "Начало периода" и "Конец периода" компонент "Ввод даты и времени" из "Палитры компонентов". Кроме того, перетащите "Многофункциональную кнопку" из "Общей галереи" и назначьте ей действие "Сгенерировать отчет".

Далее создайте шаблон отчета в редакторе и добавьте "Источник данных". В диалоговом окне "Создание источника данных" выберите тип "По изменению". После этого укажите имя источника и имена для всех переменных, соответствующих данному типу источника. Также активируйте флаг "Дополнять моменты".
Дополнять моменты — флаг, при включении которого в отчете для каждого тега пропущенные временные метки заполняются последним известным значением, обеспечивая непрерывный ряд данных и единую временную шкалу для сравнения разных тегов. Этот инструмент необходим, чтобы создать видимость непрерывного ряда данных для каждого тега на протяжении всего выбранного интервала времени, даже если в базе данных в какие-то моменты времени значения этого конкретного тега не записывались (не изменялись).

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

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


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

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

Выполните аналогичные действия для переменной "Расход 1" и "Расход 2". После выполнения всех действий структура словаря должна выглядеть следующим образом:

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

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

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

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


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

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

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

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

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

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

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

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

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