BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 24 апр 2024, 10:17

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Отчёт MPS
СообщениеДобавлено: 28 июл 2011, 09:58 
Не в сети
Клиент

Зарегистрирован: 25 авг 2008, 11:25
Сообщения: 233
Откуда: Братск
Карма: 12
Добрый день

Помогите, пожалуйста, с проблемой. Пытаюсь сделать отчёт для модуля MPS. Отчёт в принципе работает, но захотелось красивостей, а именно
вместо числового идентификатора платежа, хочу сделать буквенный. Сделал условие (вот строка из отчёта)
Код:
<textFieldExpression   class="java.lang.String"><![CDATA[( $F{type}.intValue()==1 ? "Wellnet" : ( $F{type}.intValue()==1 ? "Телефония" : 0 ) )]]></textFieldExpression>

Но не работает так
выдаёт ошибку
Код:
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream - net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
        Source text : ( $F{type}.intValue()==1 ? "Wellnet" : ( $F{type}.intValue()==1 ? "Телефония" : 0 ) )
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:197)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:368)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:353)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:692)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:889)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:811)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.JasperFillManager.fillReportToStream(JasperFillManager.java:559)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:309)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:379)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.reports.Report_Default.fillReportToStream(Report_Default.java:30)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.reports.action.ActionReport.doAction(ActionReport.java:47)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.Executer.doModule(Unknown Source)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.Executer.doPost(Unknown Source)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at java.lang.Thread.run(Thread.java:662)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream - Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at kernel_contract_tariff_account_1311821932076_77942.evaluate(kernel_contract_tariff_account_1311821932076_77942:220)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)
07-28/11:58:52 ERROR [http-18443-1] LoggingPrintStream -        ... 40 more


Пытался переделать так
Код:
<textFieldExpression   class="java.lang.Integer"><![CDATA[( $F{type}.intValue()==1 ? "Wellnet" : ( $F{type}.intValue()==1 ? "Телефония" : 0 ) )]]></textFieldExpression>

Не помогло

Подскажите, в чём может быть дело? Я понимаю, что какие-то типы не привёл. Но что к чему должен привести - не пойму

PS
Если сделать просто вывод $F{type} с типом int и задать класс java.lang.Integer, то всё работает

_________________
Век живи - век учись!
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчёт MPS
СообщениеДобавлено: 28 июл 2011, 12:01 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В первом варианте у вас в конце все равно возращается Integer - ": 0"
Тогда нужно
$F{type}.intValue()==1 ? "Wellnet" : ( $F{type}.intValue()==1 ? "Телефония" : "0" )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отчёт MPS
СообщениеДобавлено: 28 июл 2011, 14:03 
Не в сети
Клиент

Зарегистрирован: 25 авг 2008, 11:25
Сообщения: 233
Откуда: Братск
Карма: 12
Amir писал(а):
В первом варианте у вас в конце все равно возращается Integer - ": 0"
Тогда нужно
$F{type}.intValue()==1 ? "Wellnet" : ( $F{type}.intValue()==1 ? "Телефония" : "0" )

Понял!

Спасибо. Что-то я этот момент упустил...

Проверил... Заработало!

_________________
Век живи - век учись!
Изображение


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

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


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

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


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

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