Здравствуйте, дорогие почитатели SugarCRM и ZuckerReports как модуля отчетов для нее!
Сегодня наступил тот момент, когда я решил продолжить серию статей, посвященную графическому редактору IReport. В прошлых статьях мы как нельзя более подробно рассмотрели создание простых отчетов, поэтому для наглядного пособия по графикам и чартам, которые я обещал рассмотреть в прошлой статье, мы возьмем готовый отчет Opportunities.jrxml, входящий в стандартный (и свободно распространяемый) DemoPack2. В качестве данных для отчета послужит стандартный набор DemoData, который в ходе установки SugarCRM предлагается для наполнения базы данных.
Итак, что мы видим:
Суховато, не правда ли? Попробуем добавить красок в серую статистику.
Для этого расширим зоны отчета AssignedUserGroupFooter для графика, отражающего связь между суммой сделки и процентом прибыли, и summary, для чарта, показывающего наглядно, кто на сколько сделок совершил. Помещаем в AssignedUserGroupFooter элемент XY Line:
А в summary не Pie, но Pie 3D (раз уж меня сегодня творческое настроение ):
Далее на XY Line правой кнопкой Chart Properties->Chart Data->Details добавляем и выбираем поля (можно в качестве полей использовать параметры и выражения) для: X value Expression – значение по оси X, Y value Expression – значение по оси Y и Label Expression – в нашем случае фамилия менеджера. В Chart Data-> Dataset Reset Type установим Group, чтобы график показывал данные только по одному менеджеру.
Почти то же самое для Pie3D. Key Expression – чья часть пирога, Value Expression – чему соответствует размер (у нас сумме сделок) и Label Expression – как называется кусок.
Запускаем:
И в завершение расскажу, как просто сделать гиперссылку, к примеру, на детальную информацию по менеджеру (в SugarCRM) прямо в отчете.
Создадим параметр URL типа String и Default Value Expression http://MySwettyCRM, например, в кавычках. Добавляем в запрос к базе данных поле id. Открываем в CRM первую попавшуюся сделку и копируем из строки браузера все от домашнего URL до id сделки.
Открываем свойства поля сделки, переходим на вкладку Hyperlink, где Hyperlink Target устанавливаем Blank (чтобы открывалась в новом окне) и Hyperlink Type – Reference. В Hyperlink Reference Expression выбираем первым наш параметр URL, конкатенируем через «+» то, что скопировали в строке браузера в кавычках и через опять же «+» поле id. Для наглядности окрасьте поле в синий цвет.
В следующей статье разберем кросстаблицы и как вывести пятна от помады на белом воротничке рубашки. До встречи
Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.
Ребята вопросик — сделал отчет в iReport. Добавил параметры в шаблон. В Ireport спрашивает что нужно — и соответственно реагирует. Поместил шаблон в SugarCRM. Добавил параметры в ZuckerReports. Выдает пустой pdf документ и все. Ни на что не ругается.
Пока не было параметров — генерил нормальный документ.
Заранее спасибо за помощь.
Перепроверьте типы данных принимаемых параметров.
Лучше всего поставить тип принимаемых параметров в IReport string и уже в запросе приводить к нужному.
Например, мне необходимо передать дату: я тип параметра $P{DateBefore} в настройках устанавливаю строковый, а в запросе примаю его таким образом — STR_TO_DATE ($P{DateBefore}, '%Y-%m-%d')
Отлично, все получилось