Глава 1. Устройство системы компоновки данных
страницаВ данной главе описывается общее устройство системы компоновки данных, рассматривается последовательность и назначение каждого этапа компоновки. Подробно описываются все составляющие схемы компоновки данных, структура отчета и его настроек.
Система компоновки данных – мощный и гибкий инструмент для создания отчетов на основе их декларативного описания. Использование декларативного описания отчетов позволяет реализовать следующие возможности:
- создание отчета без программирования,
- возможность создания различных вариантов отчета,
- возможность задания различных вариантов пользовательских настроек,
- использование автоматически генерируемых форм просмотра и настройки отчета,
- разбиение исполнения отчета на этапы,
- исполнение отдельных этапов построения отчета на различных компьютерах,
- независимое использование отдельных частей системы компоновки данных,
- программное влияние на процесс выполнения отчета,
- настройки структуры отчета,
- совмещение в отчете нескольких таблиц,
- создание вложенных отчетов и др.
Система компоновки данных состоит из набора элементов, каждый из которых имеет свое декларативное описание, возможность программного доступа и сериализации, то есть сохранения в XML или загрузки из XML. Это позволяет гибко управлять всеми этапами выполнения отчета.
Формирование отчета с использованием системы компоновки данных разбивается на несколько этапов. При этом разбиение на этапы – не логическое, а физическое. То есть в каждый из этих этапов разработчик может вмешаться, программно или визуально, выполнить различные этапы компоновки данных в различных модулях и даже на различных компьютерах (рис. 1.1).

Рис. 1.1. Схема взаимодействия объектов системы компоновки данных
На схеме представлены следующие этапы формирования отчета:
- Разработчик создает схему компоновки данных и стандартные настройки компоновки, которые содержат полную информацию о компоновке.
- На основе схемы компоновки данных и настроек компоновки компоновщик макета создает макет компоновки данных, который является уже готовым заданием для процессора компоновки.
- Процессор компоновки данных в соответствии с макетом компоновки извлекает данные из информационной базы, агрегирует, оформляет эти данные и формирует результат компоновки. Результат компоновки состоит из массива элементов, которые можно получать последовательно, но в большинстве случаев результат компоновки получается целиком.
- Процессор вывода обрабатывает результат компоновки и выводит его в различные форматы:
- табличный документ,
- HTML-документ,
- таблица значений,
- дерево значений.
Процесс разработки отчета с помощью системы компоновки данных и его дальнейшего использования на практике реализуется следующим образом.
Исходя из прикладной задачи, для которой разрабатывается отчет, разработчик создает схему компоновки данных, в которой описывает наборы данных, связи между ними, определяет поля отчета, параметры получения данных и т. п., а также задает стандартные настройки компоновки данных – структуру отчета, порядок, отбор и другие.
У каждого отчета разработчик может предусмотреть несколько вариантов настроек, представляющих данные в виде диаграммы, таблицы или группировок, имеющих различный состав полей, итогов и т. п. Разработчик может описать, какие настройки отчета будут доступны пользователю (пользовательские настройки) и какие из этих настроек будут присутствовать прямо в форме отчета (быстрые пользовательские настройки). С их помощью пользователь может настроить вариант отчета под себя и сохранить его для дальнейшего использования.
Пользователь запускает отчет. При его формировании выполняется программная компоновка данных и вывод результатов компоновки пользователю. Данные в отчете выводятся в соответствии со стандартными настройками для основного варианта отчета.
Пользователь может выбрать вариант отчета, являющийся с его точки зрения наиболее информативным, а может, при желании и соответствующей квалификации, задать собственные настройки и получить другой отчет, основанный на той же схеме компоновки данных. При этом данные будут представлены в соответствии с пользовательскими настройками.
Таким образом, на основе одной схемы компоновки данных может быть получено множество различных отчетов. Применение настроек компоновки данных, созданных разработчиком или измененных пользователем, к схеме компоновки данных и определяет конечный результат. Этот процесс может быть представлен с помощью следующей схемы (рис. 1.2).

Рис. 1.2. Схема разработки и использования отчета с помощью системы компоновки данных