Установка необходимого ПО
Для создания отчетов используется Telerik Report Designer (ссылка на скачивание).
Для подключения Telerik Report Designer к базе данных PostgreSQL необходим драйвер Npgsql версии 3.2.7 (ссылка на скачивание).
Npgsql 3.2.7
- Запустить установку из скачанного MSI
- На этапе выбора компонентов изменить параметр Npgsql GAC Installation на Will be installed on local hard drive
- Завершить установку
Telerik Report Designer
- Распаковать содержимое архива в удобное месторасположение
- Для запуска выполнить Telerik.ReportDesigner.exe
Разработка шаблона отчета об аудите действий пользователя
| Info | ||
|---|---|---|
| ||
Отчет должен представлять собой таблицу со списком действий определенного пользователя над объектами системы. Укрупненный план действий при создании шаблона отчета:
Наименование отчета: Аудит действий пользователя |
- Запустить Telerik Report Designer и выбрать в боковом меню «New». В отобразившемся списке выбрать «Blank Report» и нажав «Browse» задать путь сохранения и имя файла отчета.
I. Настройка источников и наборов данных - В загрузившемся интерфейсе дизайнера перейти на вкладку «Data» в ленточном меню и выбрать в качестве добавляемого в отчет источника данных - «SQL Data Source»
- В окне мастера настройки источника данных выбрать вариант создания нового подключения к источнику - «Buiild new data connection», и установить в выпадающем списке в качестве желаемого провайдера данных «Npgsql Data Provider»
- В поле «Connection string» прописать строку соединения с базой данных в формате: Host=vitrodbhost;Database=vitrodb;Username=vitroadm;Password=vitroadm
Info title параметры строки соединения - Host – имя или IP адрес сервера БД
- Database – имя база данных
- Username – имя пользователя для подключения к БД
- Password – пароль пользователя для подключения к БД
- На следующем шаге выбрать что настройки соединения необходимо включить в файл отчета - «Embedded in the report definition»
- На шаге настройки команд источника данных можно вставить предварительно подготовленный SQL запрос в поле «Select statement» или воспользоваться построителем запросов (рассмотрим именно этот вариант)
- Для вызова построителя запросов нажмем кнопку «Query Builder». В открывшемся окне дизайнера запросов, в левой части, в дереве объектов БД выбираем интересующие нас таблицы (в нашем примере это "public"."audit" и "public"."audit_event_type"), развернув узлы таблиц отмечаем необходимые столбцы ( "public"."audit_event_type"."name", "public"."audit_event_type"."id", "public"."audit"."name", "public"."audit"."audit_source_item_link", "public"."audit"."ins_user_name", "public"."audit"."data", "public"."audit"."event_type_id", "public"."audit"."ins_date")
Выбранные столбцы отобразятся в соответствующей секции окна дизайнера ( «Selected fields» ) - В секции «Relationships» настраиваем соединение таблиц. В параметр «Left Table» подставляем таблицу "public"."audit" . В качестве типа соединения («Join Type») указываем Inner, а в качестве правой таблицы соединения - "public"."audit_event_type" . Связь таблиц будет осуществляться по сопаставлению значений в столбцах "public"."audit"."event_type_id" и "public"."audit_event_type"."id"
- В секции Filters добавляем условия отбора записей из связанных таблиц: ( "public"."audit"."event_type_id" IsNotNull , "public"."audit"."ins_user_name" equal @audit_ins_user_name , "public"."audit"."ins_date" GreaterThen @start_date , "public"."audit"."ins_date" LessThen @end_date).
- После завершения настройки нажимаем «OK»
После закрытия окна дизайнера запросов, поле «Select statement» будет заполнено кодом SQL запроса.Info title Код SQL запроса SELECT "public"."audit_event_type"."name",
"public"."audit_event_type"."id",
"public"."audit"."name" AS "auditname",
"public"."audit"."audit_source_item_link",
"public"."audit"."ins_user_name" AS "auditins_user_name",
"public"."audit"."data",
"public"."audit"."event_type_id",
"public"."audit"."ins_date"
FROM ("public"."audit"
INNER JOIN "public"."audit_event_type"
ON "public"."audit"."event_type_id" = "public"."audit_event_type"."id")
WHERE "public"."audit"."event_type_id" IS NOT NULL
AND "public"."audit"."ins_user_name" = @audit_ins_user_name
AND "public"."audit"."ins_date" > @start_date
AND "public"."audit"."ins_date" < @end_date
- Для сохранения результатов настройки источника данных нажимаем кнопку «Finish» в окне настройки команд источника.
- После возвращения в основной интерфейс документа в дизайнере отчетов выбираем вновь созданный источник «sqlDataSource1» и в секции «Properties» в правой части окна разворачиваем раздел «Parameters» настраиваем типы данных параметров запроса:
@audit_ins_user_name – String
@start_date - DateTime2
@end_date - DateTime2
II. Настройка входных параметров отчета
- Переходим к настройке входных параметров отчета. В секции Report Explore (вкладка Report Explore в правой верхней части окна) в дереве объектов отчета выбираем самый верхний уровень (сам отчет «SimpleAuditReport»), и в секции «Properties» , в разделе «Data» находим свойство «RepertParameters» нажимаем на «многоточие» с правой стороны соответствующей строки.
- В открывшемся модальном окне нажать «Добавить», изменить значение свойства «Name» (имя параметра) на user_name . В качестве значения свойства «Text» (отображаемое имя параметра) задать Пользователь. Значение для свойства «Visible» установить в True
- Добавить еще один параметр отчета. Изменить значение свойства «Name» на start_date . В качестве значения свойства «Text» задать Начала периода. Свойство «Type» (тип данных) установить в «DateTime». Значение для свойства «Visible» установить в True
- Добавить еще один параметр отчета. Изменить значение свойства «Name» на end_date . В качестве значения свойства «Text» задать окончание периода. Свойство «Type» установить в «DateTime». Значение для свойства «Visible» установить в True
- Закрыть окно настройки параметров отчета, нажав «ОК».
- Выбрать источник данных «sqlDataSource1» и в секции «Properties» в правой части окна разворачиваем раздел «Parameters» и настраиваем сопоставление значений параметров запроса в свойстве «Value» соответствущим входным параметрам отчета (как на следующем скриншоте)
III. Настройка визуальной формы отчета.
- В секции Report Explore (вкладка Report Explore в правой верхней части окна), в дереве объектов отчета выбираем раздел заголовка отчета В секции Report Explore (вкладка Report Explore в правой верхней части окна) в дереве объектов отчета выбираем. В ленточном меню дизайнера отчета вызываем вкладку «Insert» и выбираем элемент «Text Box». В верхнем колонтитуле отчета появится новое поле, которое заполним названием отчета
- В секции Report Explore (вкладка Report Explore в правой верхней части окна) в дереве объектов отчета выбираем «detailSection1» . В ленточном меню дизайнера отчета вызываем вкладку «Insert» и выбираем в выпадающем меню «Table» пункт «Table Wizard»
- В открывшемся окне мастера выбираем существующий источник данных «sqlDataSource1». Переходим к следующему шагу, нажав кнопку «Next»
- Выбираем необходимые для конечной таблицы отчета поля из набора источника.
- На следующем шаге можем выбрать тему оформления таблицы.
Сверив настройки, закрываем окно мастера нажатием «Finish»
- Форматируем добавленную таблицу, и редактируем названия колонок, в шапке.
- Для проверки работоспособности отчета до его публикации в системе можем воспользоваться функцией предпросмотра. В ленточном меню дизайнера отчета вызываем вкладку «Home» и вызываем «Preview». Заполняем входные параметры, и нажимаем кнопку «Preview». Если все было сделано правильно должен быть сгенерирован отчет и отображен в зоне документа.
Публикация отчета в системе
- Сохраненный файл шаблона отчета SimpleAuditReport.trdp следует разместить на портале системы в списке «Отчеты». Сгенерировать опубликованный отчет можно вызвав его из списка «Отчеты» двойным кликом по названию. В открывшемся окне Веб-вьюера отчетов, на правой панели параметров заполнить соответствующие значения и нажать «Просмотр»
...
































