Многообразие электронной документации порой кажется безгранично. Однако, на деле обычно используется не так много типов документов.
В электронной отчетности самым распространенным типом документа является простой список. Затем, идут сложные списки. Вариаций сложных списков может быть много, но основной – это отчет типа «Главный»-«подчиненный». Суть этого типа в наличии зависимости между сущностями данных по схеме один-ко-многим. То есть одной записи в главной таблице может соответствовать несколько записей в подчиненной. На практике это выглядит так:
Записи из главной таблицы содержат название категорий, их краткое описание и картинку. Каждая категория содержит определенные продукты. Этот пример показывает только одну зависимость «Главный»-«подчиненный». Но подчиненная таблица тоже может иметь свою подчиненную, и тогда она уже будет выступать в роли главной для второй связи. Таких иерархических зависимостей может быть сколь угодно много. А теперь на практике рассмотрим, как создать такой отчет.
Прежде всего нам необходим источник данных, в котором будет две логически связанных таблицы, как в показанном выше примере.
Добавляем источник данных в отчет. В нашем случае будет две связанные таблицы:
customer и orders.
В окне «Data» это выглядит так:
Теперь нам нужно связать эти таблицы. Для этого, нажимаем кнопку Действия (Actions) в окне данных. Откроется выпадающий список:
Нужно выбрать пункт «Новая Связь» (New Relation). В форме редактирования связи нам необходимо определить главную и подчиненную таблицу, а также поле, по которому они должны быть связаны:
Главная таблица customer, ее первичный ключ CustNo. Подчиненная таблица orders1, ее внешний ключ CustNo. После успешного создания связи, мы увидим ее в окне данных:
Как видите, в таблице orders1 появилась ссылка на customer. Если раскрыть ее, то мы увидим все те же поля, что есть в таблице customer.
Мы подготовили данные, теперь нужно создать шаблон отчета.
По умолчанию в пустом отчете нам доступен один бэнд Данные. Давайте добавим на него некоторые поля из таблицы customer: customer.Company, customer.Addr1, customer.Phone, customer.Contact. Разместим эти поля так, чтобы получилась некая карточка фирмы:
Сделайте правый клик по заголовку бэнда Данные:
И выберите пункт «Добавить детальный бэнд Данные». Нажмите на ссылку Configure bands…:
И добавьте заголовочный бэнд для бэнда Data2. Для этого выберите мышью бэнд Data2 и нажмите кнопку Add. В выпадающем списке выберите Header.
После этого можно добавить поля из таблицы orders1 на детальный бэнд «Данные»: orders1.OrderNo, orders1.SaleDate, orders1.AmountPaid. При этом заголовки колонок добавятся автоматически. Отформатируем заголовки, и наш шаблон почти готов:
Сделайте двойной клик по заголовку бэнда «Данные»:
Выбираем таблицу customer в качестве источника данных. Теперь проделаем тоже самое для детального бэнда «Данные»:
Теперь наш отчет готов к запуску. Посмотрим, что получилось: