<< Click to Display Table of Contents >> Navigation: Проект > Документы объектов > Генератор отчетов > Примеры построения отчетов > Различные способы обработки данных > Пример второй. Обработка дискретных параметров > Обработка дискретных параметров |
В MasterReport также существуют специальные способы обработки для дискретных параметров: счетчик наработки – длительность времени, когда переменная была в состоянии Истина, и количество включений – количество переходов переменной из состояния Ложь в состояние Истина. Обе эти обработки присутствуют в списке только при способе обработки Периодический. Рассмотрим пример использования данных обработок.
Дискретная переменная отображает состояние работы насоса – включен или выключен. Требуется сформировать отчет, содержащий строки, выведенные с определенным интервалом. В каждую строку необходимо вывести наработку и количество включений за данный интервал времени. В конце отчета нужно вывести итог – суммарную наработку и суммарное количество включений.
В объект добавлено событие "Дискретный сигнал" - состояние насоса, и две команды "Начало" и "Конец", определяющие диапазон выборки значений из архива. У события при помощи имитации архив был наполнен данными, а у команд "Начало" и "Конец" установлены значения до опроса.
Создадим новый отчет. Добавим в словарь источник данных, в него дважды перетащим событие "Дискретный сигнал" (для вычисления количества включений и наработки), свяжем команды "Начало" и "Конец" с одноименными параметрами. Переименуем колонки, зададим им имена – "Количество_включений" и "Наработка".
В свойствах источника установим способ формирования – Периодический.
Зададим у колонок "Количество_включений" и "Наработка" способы нужные обработки – Количество включений и Счетчик пробега. Обратите внимание, что в поле Тип изменился тип переменной.
Обработка Счетчик пробега возвращает наработку в секундах. Если необходимо выводить наработку в минутах или часах, то можно воспользоваться полем Параметр обработки - это поле аналогично полю обработки Интеграл у числовых переменных. Если значение в данном поле не равно нулю, то результат наработки делится на это значение. Таким образом, если ввести в поле 3600, то колонка будет возвращать наработку в моточасах. В нашем примере, мы будем выводить наработку в секундах, поэтому оставим в этом поле ноль.
В свойствах параметра Интервал установим значение 60 – мы будем выводить строки с интервалом в одну минуту (60 секунд).
Вытащим на страницу источник данных "Данные", отметим все поля, а также включим вывод Заголовка данных и Итога данных.
Настроим отображение бэндов – включим отображение границы, сделаем выравнивание текста по центру.
Запустим построение отчета.
Отчет построен, теперь на каждый интервал времени рассчитано количество включений и наработка насоса.
У столбца наработки насоса, отключим вывод дробной части.
Также настроим подсчет итога – суммарную наработку и суммарное количество включений.
Запустим построение отчета
Отчет необходимой формы построен. При необходимости его можно доработать – добавить заголовок и итог отчета, вывести наработку в других единицах измерения и т.д.
Примечание. Готовый отчет можно посмотреть в проекте "Обработка в отчетах" в объекте "Обработка дискретных сигналов" .