Бизнес-объекты - это тип данных, который является набором объектов связанных между собой, с помощью которых можно представлять данные в различных структурах: таблицы, списки, массивы и т.д. Эти данные могут быть переданы в генератор отчетов и на основе их можно построить отчет. Бизнес-объекты создаются, регистрируются и передаются в генератор отчетов из кода.
Заполнение бизнес-объектов вручную в Net
Рассмотрим пример создания отчета с Бизнес-объектом. Для начала необходимо создать структуру бизнес-объекта. Ниже представлен пример кода создания класса бизнес-объекта:
Теперь, следует заполнить данными бизнес-объект. Ниже представлен пример кода, с помощью которого бизнес-объект заполняется данными:
|
Использование бизнес-объектов в отчете
После этого бизнес-объект создан, заполнен данными, зарегистрирован и передан в генератор отчетов. Для того, чтобы построить отчет в дизайнере с использованием бизнес-объектов необходимо создать описание данных в словаре отчета. Для этого, следует в словаре отчета выделить созданный бизнес-объект MyObject, и выбрать пункт Новый бизнес-объект... (New Business Object...) в контекстном меню или меню Новый элемент (New Item). После выбора данной команды, будет открыто окно Новый бизнес-объект (New Business Object), в котором следует указать пункт Подчиненный бизнес-объект (Child Business Object) и выбрать списки данных. На рисунке снизу представлено окно Новый бизнес-объект (New Business Object):
После нажатия кнопки Ок, пользователю будет отображено 2-ая диалоговая форма окна Новый бизнес объект (New Business Object), в котором можно изменить параметры подчиненного бизнес объекта. На рисунке снизу представлена 2-ая диалоговая форма окна Новый бизнес объект (New Business Object):
В поле Категория (Category) отображается имя категории. При создании бизнес объектов данное поле не доступно для редактирования и носит сугубо информативный характер. Также оно может быть пустым, как в данном случае. Поле Наименование (Name) предназначено для указания имени бизнес-объекта. Это поле доступно для редактирования всегда и, в данном случае, используется имя List. В поле Псевдоним (Alias) указывается псевдоним бизнес-объекта. Это поле доступно для редактирования всегда и, в данном случае, используется имя List. Кнопка Новая колонка (New Column). При нажатии на которую в бизнес объекте будет создана новая колонка данных. Следует отметить, что созданная таким образом колонка данных, является виртуальной колонкой данных и реальных данных, она не содержит. При нажатии кнопки Новая рассчитываемая колонка (New Calculated Column) в бизнес-объект будет вставлена новая рассчитываемая колонка. При нажатии на кнопку Удалить (Delete) будет удалена выделенная колонка данных. Если выделена закладка Колонки (Columns), то будут удалены все колонки, которые располагаются в данной вкладке. Кнопка просмотра запроса. C помощью кнопки Получить колонки (Retrieve Columns) можно получить колонки данных из бизнес объекта. При нажатии кнопки Взять колонки из сборки (Get Columns from Assembly) будет открыто окно Открыть сборку (Open Assembly), в котором следует выбрать файл сборки. После выбора файла сборки следует нажать кнопку Открыть (Open) и из этого файла будут извлечены колонки данных, если они там присутствуют. Панель Колонки (Columns) представлена тремя полями. В этих полях отображается список колонок, их свойства и описание этих свойств.
После того как поля заполнены и параметры указаны следует нажать кнопку ОК. После этого, в словаре данных отчета будет создано описание нового бизнес объекта, который можно использовать для построения отчетов. На рисунке снизу представлен отчет построенный с помощью бизнес-объекта:
|
Получение данных для бизнес-объектов из источника данных в Net
Созданные бизнес-объекты, которые зарегистрированы и переданы в генератор отчетов, но не содержащие реальные данные называются описанием бизнес-объектов. С помощью описания бизнес-объектов можно создать шаблон отчета (обозначить структуру и оформление отчета), а затем перед построением подключить источник с реальными данными и построить отчет. Это удобно, если необходимо создавать отчеты с одинаковой структурой и оформлением, но с различными данными. Для начала создадим структурное описание бизнес-объекта. Ниже представлен пример кода создания класса бизнес-объекта:
Затем необходимо создать новый объект класса бизнес-объект, зарегистрировать и передать его в генератор отчетов. Ниже представлен пример кода создания и регистрации нового бизнес-объекта:
Теперь при помощи созданного описания бизнес-объекта, создадим шаблон отчета в дизайнере. На рисунке снизу представлен созданный шаблон отчета с описанием бизнес-объекта:
После того, как шаблон отчета создан, следует сохранить его, к примеру, по следующему пути D:\\Report.mrt. Поскольку, описание бизнес-объекта не содержит реальных данных, то для того, чтобы построить отчет, необходимо будет получить реальные данные для бизнес-объектов. В этом примере, данные будут получены из базы данных Northwind. Для начала, необходимо в Visual Studio создать соединение к этой базе данных. После этого, следует указать код получения данных для бизнес-объекта. Получение реальных данных для бизнес-объекта происходит непосредственно перед построением отчета. Ниже представлен код получения данных для бизнес-объекта:
После этого, генератор отчетов получит данные для бизнес-объекта из указанного источника, в данном случае из базы данных Northwind. Далее, отчет будет построен по созданному шаблону. На рисунке снизу представлен построенный отчет:
|
Бизнес-объекты в Web
Создание, заполнение, регистрация и передача бизнес-объектов в Web осуществляется практически также как и в Net. Для начала создадим класс бизнес-объекта, идентичный как в Net. Далее, следует создать объект класса бизнес-объекта, зарегистрировать его, заполнить вручную данными и передать их. Здесь отличия будут в том, что вместо метода mainreport.Design() следует использовать метод StiWebDesigner1.Design(mainreport). А также обязательно произвести синхронизацию с помощью метода mainreport.Dictionary.SynchronizeBusinessObjects(), потому как в дизайнере Web отсутствует возможность создавать описание бизнес-объектов из словаря данных (описание может создаваться только из кода). Ниже представлен пример кода создания, заполнения, регистрации и передачи бизнес-объекта:
Также как и в NET, в Web можно сначала создать описание бизнес-объектов, затем шаблон отчета, а потом перед построением подключить источник с реальными данными и построить отчет. Для начала, создадим описание бизнес-объекта. Предварительно создав класс бизнес-объекта, идентичный классу бизнес-объекта в NET. Ниже представлен пример создания описания бизнес-объекта:
Теперь при помощи созданного описания, создадим шаблон отчета, идентичный шаблону в NET. После того, как шаблон отчета создан, следует сохранить его, к примеру, по следующему пути D:\\Report.mrt. Поскольку, описание бизнес-объекта не содержит реальных данных, то для того, чтобы построить отчет, необходимо будет получить реальные данные для бизнес-объектов. В этом примере, данные будут получены из базы данных Northwind. Для начала, необходимо в Visual Studio создать соединение к этой базе данных. После этого, следует указать код получения данных для бизнес-объекта. Получение реальных данных для бизнес-объекта происходит непосредственно перед построением отчета. Ниже представлен код получения данных для бизнес-объекта:
|