BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 05 май 2024, 14:03

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Отчет с подотчетом
СообщениеДобавлено: 10 июн 2013, 10:46 
Не в сети
Клиент

Зарегистрирован: 29 мар 2013, 11:54
Сообщения: 262
Откуда: Краснодар
Карма: 5
Добрый день!
Помогите с отчетом примитивным. Делаю отчет для понимания принципов.
Сделал основной отчет c простым запросом sql select id from contract limit 10, gперенес его в отчеты биллинга, работает.
Добавляю в основной отчет подотчет (subreports) также с примитивный запросом SELECT title from contract limit 2, в jasper он работает, при переносе в биллинг вылетает ошибка
Код:
WARN [phone_my1_subreport2 subreport filler] JRJdbcQueryExecuter - The supplied java.sql.Connection object is null.

а так понял неправильное подключение к базе, в таком случае, как подключаться подотчету к базе, чтобы выполнить запрос?
Клиент: вер. 5.2 сборка 1159 от 08.04.2013 18:07:14
Сервер: вер. 5.2 сборка 1477 от 08.04.2013 19:33:37
os: Linux; java: OpenJDK Client VM, v.1.6.0_27
reports вер. 5.2 сборка 193 от 28.02.2013 10:57:03
Jasper 5.1.0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 10 июн 2013, 12:03 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Весь код покажите.
Наводящий вопрос: что передаёте в качестве входных параметров методу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 10 июн 2013, 12:54 
Не в сети
Клиент

Зарегистрирован: 29 мар 2013, 11:54
Сообщения: 262
Откуда: Краснодар
Карма: 5
в подотчете указал
Код:
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>

ошибка изчезла, осталась ошибка
Код:
06-10/14:44:35  WARN [bitel.billing.server.reports.action.ActionReport] JRTextElementFactory - The 'lineSpacing' attribute is deprecated. Use the <paragraph> tag instead.
06-10/14:44:35  WARN [bitel.billing.server.reports.action.ActionReport] JRTextElementFactory - The 'lineSpacing' attribute is deprecated. Use the <paragraph> tag instead.
06-10/14:44:35  WARN [bitel.billing.server.reports.action.ActionReport] JRTextElementFactory - The 'lineSpacing' attribute is deprecated. Use the <paragraph> tag instead.
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] JRFillSubreport - Fill 20331600: exception
java.lang.NullPointerException
        at net.sf.jasperreports.engine.fill.JRFillTextField.setTemplatePattern(JRFillTextField.java:324)
        at net.sf.jasperreports.engine.fill.JRFillTextField.createElementTemplate(JRFillTextField.java:312)
        at net.sf.jasperreports.engine.fill.JRFillElement.getElementTemplate(JRFillElement.java:777)
        at net.sf.jasperreports.engine.fill.JRFillTextField.getJRTemplateText(JRFillTextField.java:300)
        at net.sf.jasperreports.engine.fill.JRFillTextField.fill(JRFillTextField.java:638)
        at net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:571)
        at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:432)
        at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2038)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
        at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:613)
        at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
        at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
        at java.lang.Thread.run(Thread.java:679)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream - java.lang.NullPointerException
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillTextField.setTemplatePattern(JRFillTextField.java:324)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillTextField.createElementTemplate(JRFillTextField.java:312)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillElement.getElementTemplate(JRFillElement.java:777)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillTextField.getJRTemplateText(JRFillTextField.java:300)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillTextField.fill(JRFillTextField.java:638)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:571)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:432)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2038)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:613)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
06-10/14:44:35 ERROR [bitel.billing.server.reports.action.ActionReport] LoggingPrintStream -    at java.lang.Thread.run(Thread.java:679)


в фильтре никаких параметров не передаю.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<report title="Phone_my1">
</report>

код основного отчета
Код:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=$
        <property name="ireport.zoom" value="1.1000000000000003"/>
        <property name="ireport.x" value="0"/>
        <property name="ireport.y" value="0"/>
        <import value="net.sf.jasperreports.engine.*"/>
        <import value="java.util.*"/>
        <import value="net.sf.jasperreports.engine.data.*"/>
        <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
                <defaultValueExpression><![CDATA["/usr/local/BGBillingServer/reports/"]]></defaultValueExpression>
        </parameter>
        <queryString>
                <![CDATA[select id from contract limit 10]]>
        </queryString>
        <field name="id" class="java.lang.String">
                <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <variable name="variable1" class="java.lang.Integer">
                <variableExpression><![CDATA[+4]]></variableExpression>
                <initialValueExpression><![CDATA[]]></initialValueExpression>
        </variable>
        <title>
                <band height="20" splitType="Stretch">
                        <staticText>
                                <reportElement x="0" y="0" width="555" height="20"/>
                                <textElement lineSpacing="Single"/>
                                <text><![CDATA[phone_my1]]></text>
                        </staticText>
                </band>
        </title>
        <columnHeader>
                <band height="20" splitType="Stretch"/>
        </columnHeader>
        <detail>
                <band height="40" splitType="Stretch">
                        <textField>
                                <reportElement x="0" y="0" width="100" height="20"/>
                                <textElement lineSpacing="Single"/>
                                <textFieldExpression class="java.lang.String"><![CDATA[$F{id}]]></textFieldExpression>
                        </textField>
                        <subreport>
                                <reportElement x="100" y="0" width="193" height="40"/>
                                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
                                <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "phone_my1_subreport2.jasper"]]></subre$
                        </subreport>
                </band>
        </detail>
        <columnFooter>
                <band height="20">
                        <textField>
                                <reportElement x="0" y="0" width="100" height="20"/>
                                <textElement lineSpacing="Single"/>
                                <textFieldExpression class="java.lang.String"><![CDATA[$V{variable1}.toString()]]></textFieldExpression>
                        </textField>
                </band>
        </columnFooter>
</jasperReport>

код подотчета
Код:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="phone_my1_subreport2" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
   <property name="ireport.zoom" value="1.0"/>
   <property name="ireport.x" value="0"/>
   <property name="ireport.y" value="0"/>
   <import value="bitel.billing.server.util.*"/>
   <import value="net.sf.jasperreports.engine.*"/>
   <import value="java.util.*"/>
   <import value="java.sql.*"/>
   <import value="bitel.billing.server.contract.bean.*"/>
   <import value="net.sf.jasperreports.engine.data.*"/>
   <import value="bitel.billing.common.*"/>
   <queryString>
      <![CDATA[SELECT title from contract limit 2]]>
   </queryString>
   <field name="title" class="java.lang.String">
      <fieldDescription><![CDATA[]]></fieldDescription>
   </field>
   <detail>
      <band height="20">
         <staticText>
            <reportElement x="176" y="0" width="100" height="20"/>
            <textElement lineSpacing="Single"/>
            <text><![CDATA[Static text]]></text>
         </staticText>
         <textField>
            <reportElement x="0" y="0" width="100" height="20"/>
            <textElement lineSpacing="Single"/>
            <textFieldExpression class="java.lang.String"><![CDATA[$F{title}.getClass()]]></textFieldExpression>
         </textField>
      </band>
   </detail>
</jasperReport>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 10 июн 2013, 13:52 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
у вас нету коннекта с базой биллинга
смотрите здесь как настроить для jasper биллинговый datasource
http://bgbilling.ru/v5.1/doc_op/billing.html#d0e22469


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 10 июн 2013, 14:02 
Не в сети
Клиент

Зарегистрирован: 29 мар 2013, 11:54
Сообщения: 262
Откуда: Краснодар
Карма: 5
спасибо. проверю еще раз.
Подскажите, если нет коннекта с базой, почему тогда основной отчет (без подотчета) выполняется в биллинге?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 10 июн 2013, 15:27 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Потому что вы передаёте в подотчёт [CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]
пустой датасурс, из которого подотчёт пытается потом сделать наполнение текстовых полей.
Видимо когда он эти поля не находит ему плохо и становится.
Почему основной отчёт работает без проблем не могу пока сказать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 13 июн 2013, 20:56 
Не в сети
Клиент

Зарегистрирован: 29 мар 2013, 11:54
Сообщения: 262
Откуда: Краснодар
Карма: 5
может разработчики подскажут, как передать в подотчет параметры подключения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчет с подотчетом
СообщениеДобавлено: 14 июн 2013, 13:10 
Не в сети
Клиент

Зарегистрирован: 29 мар 2013, 11:54
Сообщения: 262
Откуда: Краснодар
Карма: 5
попробовал сделать так.
создал основной отчет, в нем подотчет. в параметрах подотчета указал параметр java.sql.DriverManager.getConnection(адрес ... логин ... пароль...).далее возвращаю нужные данные в главный отчет(без вывода данных в подотчете) и в главном отчете рисую то что необходимо. Так все работает нормально, в jasper все компилируется, в биллинге отчет рисуется.
Но не думаю что это корректно...

Вобщем проблема возникает как только я в подотчете начинаю выводить данные на лист.

ERROR [bitel.billing.server.reports.action.ActionReport] JRFillSubreport - Fill 14076162: exception
java.lang.NullPointerException
at java.lang.Class.isAssignableFrom(Native Method)

Может кто знает решение?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.064s | 34 Queries | GZIP : On ]