forum.bitel.ru http://forum.bitel.ru/ |
|
Не формируется отчет http://forum.bitel.ru/viewtopic.php?f=12&t=6641 |
Страница 1 из 1 |
Автор: | aiwbend [ 03 апр 2012, 11:43 ] |
Заголовок сообщения: | Не формируется отчет |
Есть отчет который не формируется и выдает в клиенте следующее Код: java.lang.Exception: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : Source text : $F{pay} at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:328) at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:412) at bitel.billing.server.reports.Report_Default.fillReportToStream(Report_Default.java:27) at bitel.billing.server.reports.action.ActionReport.doAction(ActionReport.java:56) at bitel.billing.server.Executer.doModule(Unknown Source) at bitel.billing.server.Executer$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at bitel.billing.server.Executer.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : Source text : $F{pay} at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:259) at net.sf.jasperreports.engine.fill.JRCalculator.evaluateEstimated(JRCalculator.java:580) at net.sf.jasperreports.engine.fill.JRCalculator.estimateVariables(JRCalculator.java:179) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:787) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1482) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:130) 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.JRFiller.fillReport(JRFiller.java:84) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624) at net.sf.jasperreports.engine.JasperFillManager.fillReportToStream(JasperFillManager.java:582) at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:324) ... 30 moreCaused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.math.BigDecimal at kernel_ost_change_1333430593960_151937.evaluateEstimated(kernel_ost_change_1333430593960_151937:506) at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:246) ... 41 more Решил на винде поднять тестовый стенд сервера чтобы удобнее править было, отчет на нем сформировался и вывел результат. Подумал, на тестовом стенде билд последний, обновить нужно боевой сервер, обновил и перезапустил, результат тоже. В чем мб причина, неужели в яве? С др. отчетами проблем нет, и клиент использовал один и тот же. Конфигурация на которой формируется отчет: Клиент: вер. 5.2 сборка 959 от 01.04.2012 00:13:41 os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.6.0_29 ВНИМАНИЕ: Необходимо обновить таймзоны Сервер: вер. 5.2 сборка 1142 от 03.04.2012 01:10:16 os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.6.0_29 ВНИМАНИЕ: Необходимо обновить таймзоны reports вер. 5.2 сборка 172 от 30.03.2012 12:51:20 Конфигурация на которой не формируется отчет: Клиент: вер. 5.2 сборка 959 от 01.04.2012 00:13:41 os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.6.0_29 ВНИМАНИЕ: Необходимо обновить таймзоны Сервер: вер. 5.2 сборка 1142 от 03.04.2012 01:10:16 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_31 reports вер. 5.2 сборка 172 от 30.03.2012 12:51:20 Сам отчет: Код: <?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="kernel_ost_change" columnCount="1" printOrder="Vertical" orientation="Portrait" pageWidth="595" pageHeight="842" columnWidth="535" columnSpacing="0" leftMargin="30" rightMargin="30" topMargin="20" bottomMargin="20" whenNoDataType="NoPages" isTitleNewPage="false" isSummaryNewPage="false"> <property name="ireport.scriptlethandling" value="0" /> <property name="ireport.encoding" value="UTF-8" /> <import value="java.util.*" /> <import value="net.sf.jasperreports.engine.*" /> <import value="net.sf.jasperreports.engine.data.*" /> <style name="Center" isDefault="false" hAlign="Center" padding="0" topPadding="1" leftPadding="2" bottomPadding="1" rightPadding="1" > <box leftPadding="2" rightPadding="1" topPadding="1" bottomPadding="1"></box> </style> <style name="border" isDefault="false" border="Thin" borderColor="#000000" > <box> <pen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <topPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <rightPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> </box> </style> <style name="Right" isDefault="false" hAlign="Right" topPadding="1" leftPadding="1" bottomPadding="1" rightPadding="1" > <box leftPadding="1" rightPadding="1" topPadding="1" bottomPadding="1"></box> </style> <parameter name="_filter" isForPrompting="false" class="bitel.billing.server.admin.reports.BGReportFilter"/> <parameter name="_months" isForPrompting="false" class="java.util.Map"/> <queryString language="bgbs"><![CDATA[import java.sql.*; import java.util.*; import java.util.regex.*; import bitel.billing.common.*; import bitel.billing.server.util.*; import bitel.billing.server.contract.bean.*; import ru.bitel.common.Utils; createTmpTable( con, tableName, month ) { con.createStatement().executeUpdate( "DROP TABLE IF EXISTS " + tableName ); query = "CREATE TEMPORARY TABLE " + tableName + " ( UNIQUE(cid) ) " + "SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS mm," + "FLOOR(MAX(yy*12+(mm-1)) / 12) AS yy " + "FROM contract_balance " + "WHERE (yy< ?) OR (yy=? AND mm<=?) " + "GROUP BY cid"; ps = con.prepareStatement( query ); ps.setInt( 1, month.get( Calendar.YEAR ) ); ps.setInt( 2, month.get( Calendar.YEAR ) ); ps.setInt( 3, month.get( Calendar.MONTH ) + 1 ); ps.executeUpdate(); } public void fillReport( con, filter, result ) { monthFrom = filter.getCalendarParam( "month_from" ); monthTo = TimeUtils.getEndMonth( filter.getCalendarParam( "month_to" ) ); status = filter.getIntParam( "status" ); limit = filter.getIntParam( "limit" ); gr = filter.getLongParam( "gr" ); tableFromName = "temp_balance_ost_rep_from"; tableToName = "temp_balance_ost_rep_to"; tableSumName = "temp_balance_ost_sums"; createTmpTable( con, tableFromName, monthFrom ); createTmpTable( con, tableToName, monthTo ); con.createStatement().executeUpdate( "DROP TABLE IF EXISTS " + tableSumName ); query = "CREATE TABLE " + tableSumName + " (UNIQUE(cid)) " + "SELECT cid, SUM(summa2) AS summa2, SUM(summa3) AS summa3, SUM(summa4) AS summa4 FROM contract_balance " + "INNER JOIN contract ON contract_balance.cid=contract.id "; if ( gr > 0 ) { query += " AND contract.gr&" + gr + ">0 "; } query += "WHERE (yy*12 + mm)>=? AND (yy*12 + mm)<=? " + "GROUP BY cid" ; ps = con.prepareStatement( query ); ps.setInt( 1, monthFrom.get( Calendar.YEAR) * 12 + monthFrom.get( Calendar.MONTH ) + 1 ); ps.setInt( 2, monthTo.get( Calendar.YEAR) * 12 + monthTo.get( Calendar.MONTH ) + 1 ); ps.executeUpdate(); query = "SELECT contract.title, IF(vhm.yy=? AND vhm.mm=?, vh.summa1, (vh.summa1 + vh.summa2 - vh.summa3 - vh.summa4)), sum.summa2, sum.summa3, sum.summa4, (ish.summa1 + ish.summa2 - ish.summa3 - ish.summa4) " + "FROM contract " + "LEFT JOIN " + tableFromName + " AS vhm ON contract.id=vhm.cid " + "LEFT JOIN contract_balance AS vh ON contract.id=vh.cid AND vhm.yy=vh.yy AND vhm.mm=vh.mm " + "LEFT JOIN " + tableToName + " AS ishm ON contract.id=ishm.cid " + "LEFT JOIN contract_balance AS ish ON contract.id=ish.cid AND ishm.yy=ish.yy AND ishm.mm=ish.mm " + "LEFT JOIN " + tableSumName + " AS sum ON contract.id=sum.cid " + "WHERE contract.scid=0 AND contract.date1<=? AND (contract.date2 IS NULL OR contract.date2>=?) AND (ish.summa1 + ish.summa2 - ish.summa3 - ish.summa4)>0 "; if( gr > 0 ) { query += " AND contract.gr&" + gr + ">0 "; } query += "ORDER BY contract.id"; res = new ArrayList( 1000 ); ps = con.prepareStatement( query ); ps.setInt( 1, monthFrom.get( Calendar.YEAR ) ); ps.setInt( 2, monthFrom.get( Calendar.MONTH ) + 1 ); ps.setDate( 3, TimeUtils.convertCalendarToSqlDate( monthTo ) ); ps.setDate( 4, TimeUtils.convertCalendarToSqlDate( monthFrom ) ); rs = ps.executeQuery(); while ( rs.next() ) { Map map = new HashMap( 6 ); map.put( "title", rs.getString( 1 ) ); map.put( "in_rest", Utils.maskNull( rs.getBigDecimal( 2 ) ) ); map.put( "pay", Utils.maskNull( rs.getBigDecimal( 3 ) ) ); map.put( "account", Utils.maskNull( rs.getBigDecimal( 4 ) ) ); map.put( "charge", Utils.maskNull( rs.getBigDecimal( 5 ) ) ); myyyy= Utils.maskNull(rs.getBigDecimal( 6 )); map.put( "out_rest", myyyy ); res.add( map ); } result.setDataSource( res ); result.setParams( new HashMap( 1 ) ); con.createStatement().executeUpdate( "DROP TABLE IF EXISTS " + tableFromName ); con.createStatement().executeUpdate( "DROP TABLE IF EXISTS " + tableToName ); con.createStatement().executeUpdate( "DROP TABLE IF EXISTS " + tableSumName ); }]]></queryString> <field name="title" class="java.lang.String"/> <field name="in_rest" class="java.math.BigDecimal"/> <field name="pay" class="java.math.BigDecimal"/> <field name="charge" class="java.math.BigDecimal"/> <field name="account" class="java.math.BigDecimal"/> <field name="out_rest" class="java.math.BigDecimal"/> <variable name="pay_sum" class="java.math.BigDecimal" resetType="Report" calculation="Sum"> <variableExpression><![CDATA[$F{pay}]]></variableExpression> </variable> <variable name="charge_sum" class="java.math.BigDecimal" resetType="Report" calculation="Sum"> <variableExpression><![CDATA[$F{charge}]]></variableExpression> </variable> <variable name="account_sum" class="java.math.BigDecimal" resetType="Report" calculation="Sum"> <variableExpression><![CDATA[$F{account}]]></variableExpression> </variable> <variable name="in_sum" class="java.math.BigDecimal" resetType="Report" calculation="Sum"> <variableExpression><![CDATA[$F{in_rest}]]></variableExpression> </variable> <variable name="out_sum" class="java.math.BigDecimal" resetType="Report" calculation="Sum"> <variableExpression><![CDATA[$F{out_rest}]]></variableExpression> </variable> <background> <band height="0" isSplitAllowed="true" > </band> </background> <title> <band height="70" isSplitAllowed="true" > <staticText> <reportElement mode="Opaque" x="0" y="0" width="535" height="20" forecolor="#000000" backcolor="#FFFFFF" key="element-1"/> <box> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Center" verticalAlignment="Bottom" rotation="None" lineSpacing="Single"> <font fontName="Arial" pdfFontName="conf/arial.ttf" size="12" isBold="true" isItalic="false" isUnderline="false" isPdfEmbedded ="true" pdfEncoding ="Cp1251" isStrikeThrough="false" /> </textElement> <text><![CDATA[Отчет по остаткам (положительные)]]></text> </staticText> <rectangle radius="0" > <reportElement mode="Opaque" x="0" y="29" width="535" height="40" forecolor="#000000" backcolor="#E1E1E1" key="element-3"/> <graphicElement stretchType="NoStretch" fill="Solid" > <pen lineWidth="0.25" lineStyle="Solid"/> </graphicElement> </rectangle> <staticText> <reportElement style="Center" x="41" y="29" width="109" height="40" key="staticText-15"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font fontName="SansSerif" pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[N договора]]></text> </staticText> <staticText> <reportElement style="Center" x="150" y="29" width="72" height="40" key="staticText-16"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[Вх. остаток]]></text> </staticText> <staticText> <reportElement style="Center" x="222" y="29" width="75" height="40" key="staticText-17"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[Приход]]></text> </staticText> <staticText> <reportElement style="Center" x="0" y="29" width="41" height="40" key="staticText-25"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font fontName="SansSerif" pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[N п/п]]></text> </staticText> <staticText> <reportElement style="Center" x="297" y="29" width="72" height="40" key="staticText-26"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[Расход]]></text> </staticText> <staticText> <reportElement style="Center" x="448" y="29" width="87" height="40" key="staticText-27"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[Исх. остаток]]></text> </staticText> <staticText> <reportElement style="Center" x="369" y="29" width="79" height="40" key="staticText-28"/> <box leftPadding="3" rightPadding="3" topPadding="2" bottomPadding="2"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <text><![CDATA[Наработка]]></text> </staticText> </band> </title> <pageHeader> <band height="0" isSplitAllowed="true" > <line direction="TopDown"> <reportElement x="0" y="-1" width="534" height="0" key="line-6"> <printWhenExpression><![CDATA[Boolean.valueOf( $V{PAGE_NUMBER}.intValue()!=1 )]]></printWhenExpression> </reportElement> <graphicElement stretchType="NoStretch"> <pen lineWidth="0.25" lineStyle="Solid"/> </graphicElement> </line> </band> </pageHeader> <columnHeader> <band height="0" isSplitAllowed="true" > </band> </columnHeader> <detail> <band height="15" isSplitAllowed="true" > <textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="150" y="0" width="72" height="14" key="textField-14" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{in_rest}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="222" y="0" width="75" height="14" key="textField-15" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{pay}]]></textFieldExpression> </textField> <line direction="TopDown"> <reportElement x="0" y="14" width="534" height="0" key="line-5" positionType="FixRelativeToBottom"/> <graphicElement stretchType="NoStretch"> <pen lineWidth="0.25" lineStyle="Solid"/> </graphicElement> </line> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="0" y="0" width="41" height="14" key="textField-20" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.lang.Integer"><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="297" y="0" width="72" height="14" key="textField-22" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{charge}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="448" y="0" width="87" height="14" key="textField-23" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{out_rest}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="369" y="0" width="79" height="14" key="textField-24" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{account}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="41" y="0" width="109" height="14" key="textField-25" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$F{title}]]></textFieldExpression> </textField> </band> </detail> <columnFooter> <band height="0" isSplitAllowed="true" > </band> </columnFooter> <pageFooter> <band height="0" isSplitAllowed="true" > </band> </pageFooter> <summary> <band height="14" isSplitAllowed="true" > <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="0" y="0" width="41" height="14" key="textField-26" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.lang.Integer"><![CDATA[]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="41" y="0" width="109" height="14" key="textField-27" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA["Итого"]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="150" y="0" width="72" height="14" key="textField-28" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{in_sum}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="222" y="0" width="75" height="14" key="textField-29" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{pay_sum}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="297" y="0" width="72" height="14" key="textField-30" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{charge_sum}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="369" y="0" width="79" height="14" key="textField-31" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{account_sum}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="448" y="0" width="87" height="14" key="textField-32" stretchType="RelativeToTallestObject"/> <box leftPadding="3" rightPadding="3" topPadding="1" bottomPadding="1"> <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.0" lineColor="#000000"/> <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> </box> <textElement textAlignment="Left"> <font pdfFontName="conf/arial.ttf" size="9" isPdfEmbedded ="true" pdfEncoding ="Cp1251"/> </textElement> <textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{out_sum}]]></textFieldExpression> </textField> </band> </summary> </jasperReport> |
Автор: | KostiK [ 03 апр 2012, 11:56 ] |
Заголовок сообщения: | Re: Не формируется отчет |
А что за отчет? Сами писали? |
Автор: | aiwbend [ 03 апр 2012, 12:04 ] |
Заголовок сообщения: | Re: Не формируется отчет |
KostiK писал(а): А что за отчет? Сами писали? Вроде брали с вики и правили под свои нужды. Отчет выводит положительные остатки абонентов. Когда перешли на 5.2 исправил в отчете maskZeroBigDecimal(java.math.BigDecimal value) на maskNull(java.math.BigDecimal value)(описание методов в API 5.1 и 5.2 одинаковое) и сделал import ru.bitel.common.Utils; Все заработало(проверял когда готовился к переходу на 5.2). Тут выяснилось что отчет не формируется на действующем биллинге. |
Автор: | aiwbend [ 03 апр 2012, 12:16 ] |
Заголовок сообщения: | Re: Не формируется отчет |
Попробовал запустить на такой конфигурации тоже не формирует Клиент: вер. 5.2 сборка 959 от 01.04.2012 00:13:41 os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.6.0_29 ВНИМАНИЕ: Необходимо обновить таймзоны Сервер: вер. 5.2 сборка 1126 от 27.03.2012 18:15:43 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_30 reports вер. 5.2 сборка 170 от 13.03.2012 14:04:13 а на винде формирует ( |
Автор: | Phricker [ 03 апр 2012, 12:59 ] |
Заголовок сообщения: | Re: Не формируется отчет |
Я говорил что винда рулит. И кнопка Пуск есть |
Автор: | KostiK [ 03 апр 2012, 16:09 ] |
Заголовок сообщения: | Re: Не формируется отчет |
Поправьте отчет так: Код: /* так было map.put( "in_rest", Utils.maskNull( rs.getBigDecimal( 2 ) ) ); map.put( "pay", Utils.maskNull( rs.getBigDecimal( 3 ) ) ); map.put( "account", Utils.maskNull( rs.getBigDecimal( 4 ) ) ); map.put( "charge", Utils.maskNull( rs.getBigDecimal( 5 ) ) ); myyyy= Utils.maskNull(rs.getBigDecimal( 6 )); */ //так надо map.put( "in_rest", rs.getBigDecimal( 2 )); map.put( "pay", rs.getBigDecimal( 3 )); map.put( "account", rs.getBigDecimal( 4 )); map.put( "charge", rs.getBigDecimal( 5 )); myyyy= rs.getBigDecimal( 6 ); map.put( "out_rest", myyyy ); Про Windows ничего сказать не могу, протестировать негде. |
Автор: | aiwbend [ 03 апр 2012, 16:11 ] |
Заголовок сообщения: | Re: Не формируется отчет |
Еще в стандартной поставке модуля отсутствует register_problem.jrxml в /reports/ для отчета по проблемам CRM. При обновлении тоже не выкачивается. Взял с 5.1, заработало... |
Автор: | aiwbend [ 03 апр 2012, 16:20 ] |
Заголовок сообщения: | Re: Не формируется отчет |
KostiK писал(а): Поправьте отчет так: Код: /* так было map.put( "in_rest", Utils.maskNull( rs.getBigDecimal( 2 ) ) ); map.put( "pay", Utils.maskNull( rs.getBigDecimal( 3 ) ) ); map.put( "account", Utils.maskNull( rs.getBigDecimal( 4 ) ) ); map.put( "charge", Utils.maskNull( rs.getBigDecimal( 5 ) ) ); myyyy= Utils.maskNull(rs.getBigDecimal( 6 )); */ //так надо map.put( "in_rest", rs.getBigDecimal( 2 )); map.put( "pay", rs.getBigDecimal( 3 )); map.put( "account", rs.getBigDecimal( 4 )); map.put( "charge", rs.getBigDecimal( 5 )); myyyy= rs.getBigDecimal( 6 ); map.put( "out_rest", myyyy ); Про Windows ничего сказать не могу, протестировать негде. хм заработало. а как BigDecimal.ZERO получить если null? наверное в методе чтото не так, хотя это не очень принципиально. Спасибо большое. и не понятно почему тут работало а там нет, из за 64bit явы мб? |
Автор: | KostiK [ 03 апр 2012, 16:45 ] |
Заголовок сообщения: | Re: Не формируется отчет |
aiwbend писал(а): Еще в стандартной поставке модуля отсутствует register_problem.jrxml в /reports/ для отчета по проблемам CRM. При обновлении тоже не выкачивается. Взял с 5.1, заработало... он называется вот так теперь ru.bitel.bgbilling.plugins.crm_register_problem.rep.xml фильтр ru.bitel.bgbilling.plugins.crm_register_problem.jrxml сам отчет |
Автор: | KostiK [ 03 апр 2012, 16:48 ] |
Заголовок сообщения: | Re: Не формируется отчет |
aiwbend писал(а): и не понятно почему тут работало а там нет, из за 64bit явы мб? Нет не в яве дело. У меня 32битная стоит, такая же ошибка была. Позже разберусь с чем связана ошибка и отпишусь. |
Автор: | aiwbend [ 03 апр 2012, 16:56 ] |
Заголовок сообщения: | Re: Не формируется отчет |
KostiK писал(а): aiwbend писал(а): Еще в стандартной поставке модуля отсутствует register_problem.jrxml в /reports/ для отчета по проблемам CRM. При обновлении тоже не выкачивается. Взял с 5.1, заработало... он называется вот так теперь ru.bitel.bgbilling.plugins.crm_register_problem.rep.xml фильтр ru.bitel.bgbilling.plugins.crm_register_problem.jrxml сам отчет при выполнении этого отчета без register_problem.jrxml в /reports/ отчет выдает следующую ошибку в логах сервера. Цитата: 04-03/17:53:48 ERROR ["http-bio-/0.0.0.0-8080"-exec-4] LoggingPrintStream - java.io.FileNotFoundException: C:\BGBillingServer\reports\register_problem.jrxml (Не удается найти указанный файл)
|
Автор: | KostiK [ 03 апр 2012, 17:59 ] |
Заголовок сообщения: | Re: Не формируется отчет |
По поводу отсутствия отчета в сборке. В классе,который генерировал отчет, вызывался старый шаблон, как в 5.1 который вы добавили, я исправил это в ближайшем обновлении будет. Но отчет register_task и crm_register_task немного отличаются внешне. |
Автор: | stark [ 05 апр 2012, 15:14 ] |
Заголовок сообщения: | Re: Не формируется отчет |
aiwbend писал(а): KostiK писал(а): Поправьте отчет так: Код: /* так было map.put( "in_rest", Utils.maskNull( rs.getBigDecimal( 2 ) ) ); map.put( "pay", Utils.maskNull( rs.getBigDecimal( 3 ) ) ); map.put( "account", Utils.maskNull( rs.getBigDecimal( 4 ) ) ); map.put( "charge", Utils.maskNull( rs.getBigDecimal( 5 ) ) ); myyyy= Utils.maskNull(rs.getBigDecimal( 6 )); */ //так надо map.put( "in_rest", rs.getBigDecimal( 2 )); map.put( "pay", rs.getBigDecimal( 3 )); map.put( "account", rs.getBigDecimal( 4 )); map.put( "charge", rs.getBigDecimal( 5 )); myyyy= rs.getBigDecimal( 6 ); map.put( "out_rest", myyyy ); Про Windows ничего сказать не могу, протестировать негде. хм заработало. а как BigDecimal.ZERO получить если null? наверное в методе чтото не так, хотя это не очень принципиально. Спасибо большое. и не понятно почему тут работало а там нет, из за 64bit явы мб? Похоже что beanshell вызывает другой метод вместо Код: BigDecimal maskNull( final BigDecimal value ) вызывается Код: String maskNull( final String value ) Попробуйте везде явно указать Код: map.put( "in_rest", Utils.maskNull( (BigDecima)rs.getBigDecimal( 2 ) ) );
|
Автор: | aiwbend [ 17 апр 2012, 13:45 ] |
Заголовок сообщения: | Re: Не формируется отчет |
stark писал(а): aiwbend писал(а): KostiK писал(а): Поправьте отчет так: Похоже что beanshell вызывает другой метод вместо Код: BigDecimal maskNull( final BigDecimal value ) вызывается Код: String maskNull( final String value ) Попробуйте везде явно указать Код: map.put( "in_rest", Utils.maskNull( (BigDecima)rs.getBigDecimal( 2 ) ) ); не помогло, та же ошибка... Код: map.put( "in_rest", Utils.maskNull((BigDecimal)rs.getBigDecimal( 2 )));
map.put( "pay", Utils.maskNull((BigDecimal)rs.getBigDecimal( 3 ))); map.put( "account", Utils.maskNull((BigDecimal)rs.getBigDecimal( 4 ))); map.put( "charge", Utils.maskNull((BigDecimal)rs.getBigDecimal( 5 ))); |
Автор: | KostiK [ 18 апр 2012, 14:55 ] |
Заголовок сообщения: | Re: Не формируется отчет |
Ну значит делайте пока как я сказал) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |