Работа с отчетами ZuckerReports. Часть 1

Итак, вы  решили, что отчеты ZuckerReports в SugarCRM должны уметь больше, чем выдавать html-файл с почти беспорядочно расположенными данными или отвечать на более сложный запрос, чем  «SELECT * FROM opportunities WHERE amount_usdollar > 1000», а также уметь подать результат в виде чарта или графика. И вроде бы есть такие замечательные примеры, как Activity.jrxml, MeetingPrintout_Users.jrxml и т.д., но они не полностью удовлетворяют ваши потребности :smile: . Тогда смиритесь: графики, чарты, логотипы, разнообразие шрифтов и буйство красок графического конструктора IReport – вся эта прелесть скоро станет для вас любимым и родным. Познакомившись с ним ближе, вы поймете, что IReport не только вкусен, но и полезен.

Начнем с азов.

В конструкторе строится дизайн будущего отчета, где именно будет выводиться результат запроса, в каком виде и под какой шапкой. Он описан на языке XML, именно в таком виде его можно посмотреть и при надобности подправить, если перейти Edit -> XML Source. В некоторых случаях так даже проще и занимает меньше времени (зависит от задачи). Например, стандартная шапка отчета:


<?xml version="1.0" encoding="UTF-8"  ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
		 name="Untitled_report_1"
		 columnCount="1"
		 printOrder="Vertical"
		 orientation="Portrait"
		 pageWidth="595"
		 pageHeight="842"
		 columnWidth="535"
		 columnSpacing="0"
		 whenNoDataType="NoPages"
		 isTitleNewPage="false"
		 isSummaryNewPage="false">
	<property name="ireport.scriptlethandling" value="2" />
	<property name="ireport.encoding" value="UTF-8" />
	<import value="java.util.*" />
	<import value="net.sf.jasperreports.engine.*" />
	<import value="net.sf.jasperreports.engine.data.*" />
</jasperReport>

После успешной компиляции создается бинарный шаблон с расширением .jasper, в который подставляются данные (информация из базы данных посредством SQL-запроса, XML-файла, CSV-файла, из JavaBean Data Source и многих других источников, названия которых нам ни о чем сейчас не говорят).

Заполненный необходимыми данными jasper-файл и есть готовый отчет, файл jrprint, который можно импортировать во множество форматов: Excel, XML, HTML, OpenOffice и др.

Мне, к примеру, нужен был PDF, потому что еще не знаю, под какой осью этими отчетами будут пользоваться, и где они будут создаваться. Но вернемся к jasper файлу. Создав отчет и добавив его в SugarCRM через  «Шаблоны отчетов и запросов» -> «Новый Jasper-отчет», скорее всего, понадобится что-то в нем незначительно изменить. Нет необходимости исправлять jrxml-файл с измененным ФИО главного бухгалтера «другим шрифтом, покрасивее» и заново его добавлять, достаточно внести изменения в  IReport, скомпилировать jasper- файл и заменить им старый.

Внешний вид моей версии (напомню, что я использую 3.0.0):

ZuckerReports

Работа с отчетами ZuckerReports.Часть 2.

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

Написать комментарий

Вы должны войти чтобы комментировать.