пятница, 11 июля 2014 г.

Использование подотчетов в отчете.


Отчетные формы, используемые в ЛЭРС УЧЕТ, состоят из одной или нескольких полос (Band).  На полосах располагаются элементы управления (Report Controls).  Элементы управления могут быть связаны с полями таблиц источника данных. Источником данных для отчетов является набор таблиц (System.Data.DataSet). Подробнее см. здесь.

Практически во всех отчетных формах есть полоса  Детализация (DetailBand),  в которой отображаются  все записи таблицы указанной в качестве основной.
Наименование этой таблицы задается в свойстве Элемент данных отчетной формы.
Иногда возникает необходимость отображать в отчете  все записи из двух и более таблиц имеющихся в источнике данных. Для этого используется механизм дополнительных отчетов. Каждый из дополнительных отчетов можно связать с отдельной таблицей.


Рассмотрим порядок действий для создания отчетной формы, в которой будут отображаться записи из двух таблиц. Отчетную форму будем создавать в редакторе отчетов на основе формы Ведомость параметров объекта учета (системная). В отчете будем отображать записи из таблиц: Потребление и Данные по помещениям.

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

Шаг 2.
На закладке Обозреватель отчета выбрать BaseReport  и в окне свойств очистить строку Источник данных. Это необходимо сделать, чтобы отсоединиться от основной таблицы в полосе Детализация.

Шаг 3.
Добавить первый вложенный отчет, который будет содержать записи из таблицы Потребление. Для этого, щелкнуть правой кнопкой мыши в любом месте над поверхностью отчета, а в всплывающем меню, выбрать команду Добавить вложенный отчет, и выбрать Без ограничений.

Шаг 4.
Перенести элемент  управления Таблица из полосы Detail в полосу Detail1, появившуюся после добавления первого вложенного отчета.

Шаг 5.
Добавить второй вложенный отчет. Для этого повторить Шаг 3. Второй отчет будет содержать записи из таблицы  Данные по помещениям.

Шаг 6.
Задать высоту полосы Detail равной 0 и сделать ее невидимой. Для этого щелкнуть левой кнопкой мыши на полосе Detail и на закладке Окно свойств задать свойства Высота = 0 и Видимость = Нет.

Шаг 7.
В первом вложенном отчете задать высоту полосы Detail1 равной высоте перенесенного в нее элемента управления.
В полосу Detail2 второго вложенного отчета добавить элемент управления Таблица и настроить высоту полосы.

Шаг 8.
Связать первый вложенный отчет с таблицей Потребление. Для этого щелкнуть левой кнопкой мыши на полосе DetailReport  и в окне свойств задать Источник данных = Данные
В окне свойств задать Элемент данных = Потребление и архивы интеграторов. Нужная таблица выбирается двойным щелчком мыши.

Шаг 9.
Связать второй вложенный отчет с таблицей Данные по помещениям
Для этого щелкнуть левой кнопкой мыши на полосе DetailReport1  и в окне свойств задать Источник данных = Данные
В окне свойств задать Элемент данных = Данные по помещениям. Нужная таблица выбирается двойным щелчком мыши.
Шаг 10.
Связать ячейки элемента управления Таблица, добавленного на Шаге 7, с требуемыми полями таблицы Данные по помещениям.

В данном примере это поля: номер лицевого счета, площадь помещения и расход воды.

Шаг 11.
При необходимости настроить взаимное расположение полос.
Например, для того чтобы таблица с параметрами помещения располагалась после строки Итого, надо в первый вложенный отчет добавить полосу Примечание группы и перенести в нее элемент управления с итоговыми значениями.
Для этого, щелкнуть правой кнопкой мыши на полосе DetailReport, в всплывающем меню выбрать команду Добавить полосу  и далее  выбрать Примечание группы.
В созданную полосу GroupFooter1 перенести элемент управления с итоговыми значениями.
Чтобы для данных помещения задать заголовки столбцов надо создать полосу Заголовок группы.  Для этого, щелкнуть правой кнопкой мыши на строке DetailReport1, в всплывающем меню, выбрать команду Добавить полосу, и выбрать Заголовок группы.
Затем в созданную полосу GroupHeader1 добавить  элемент управления Таблица, в ячейках которого задать наименования столбцов.

 Если заголовки колонок для данных первого вложенного отчета должны отображаться только один раз, то ихо можно перенести в полосу ReportHeader, а полосу PageHeader удалить.


 Аналогично можно перенести элемент управления с показаниями счетчиков из полосы ReportFooter в полосу GroupHeader1, расположив ее между строкой итого и заголовками столбцов с параметрами помещения.
 
Шаг 12.
Сохранить сделанные изменения. Назначить отчет для требуемого объекта учета.
Если теперь сформировать отчет, то он будет таким:


Комментариев нет:

Отправить комментарий