Работа с переменными в отчете. События отчета

<< Click to Display Table of Contents >>

Navigation:  Проект > Документы объектов > Генератор отчетов > Примеры построения отчетов > Общие принципы создания отчетов в MasterSCADA > Примеры создания отчетов > Отчет третий. Расход газа >

Работа с переменными в отчете. События отчета

Отчет о расходе газа построен. Можно его оформить (сделать границу, заголовок отчета) и завершить работу с ним. Однако мы также сделаем, чтобы в каждой строчке данных выводилось время начала и конца интервала расчета, и расход за этот промежуток. При этом мы познакомимся с очень важной функцией редактора отчетов – Событиями.

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

ReportManualPart1_img84

Добавим эту переменную на бэнд. Оформим бэнд – добавим в него подписи, и сделаем у бэнда границу.

ReportManualPart1_img85

Теперь сделаем, чтобы переменная "Предыдущее" получала значение времени предыдущего бэнда. Для этого воспользуемся событиями.

У каждого бэнда есть назначенные события – если этим событиям присвоить набор инструкций, то они будут выполнены в определенный момент. Это очень полезная функция поможет нам решить проблему.

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

ReportManualPart1_img86

Нажмем на нее. Откроется окно закладка событий

ReportManualPart1_img87

Наиболее важные действия:

1) Начало построения – событие, которое выполняется, когда еще ни одна строка данных не выведена на экран.

2) Конец построения – событие, которое выполняется, когда построение всех строк данных завершено.

3) Перед печатью. В данном случае печать это не вывод на принтер, а вывод на экран. То есть событие вызывается перед выводом строки данных.

4) После печати – событие вызывается после вывода строки данных.

Примечание. Возможность присвоения бэнду события – очень важная функция, которую можно использовать для самых разных задач. Например, с помощью событий можно работать с переменными, значениями колонок, производить обработку и вычисления. Код события пишется на языке C#.

В начале построения нам необходимо инициализировать переменную. Переменную нужно инициализировать значением времени начала, то есть присвоить ей значение переменной "Начало".

Для этого добавим код в действие Начало построения:

Предыдущее=Начало;

Данный код присвоит значение переменной "Начало" переменной "Предыдущее" перед тем, как начнется построение строк данных.

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

Предыдущее=Данные.Время;

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

ReportManualPart1_img88

Запустим построение отчета.

ReportManualPart1_img89