segunda-feira, 21 de novembro de 2011

Re: [java-br] Re: Erro Expressão iReport

·

Pessoval valew pela ajuda, eu estava usando codigo errado, estava usando
devide e na verdade é divide agora deu certo, so tenho mais uma duvida, no
meu relatorio eu tenho um total geral que deve ser mostrado no final do
relatorio mas ele esta sendo mostrado pagina por pagina, ele esta na sessão
columm footer , como eu faço pra configurar ele pra sair so na ultima
pagina do relatorio.

Obrigado.

Eduardo

Em 21 de novembro de 2011 15:58, Bruno Oliveira <
bruno_oliveira61@yahoo.com.br> escreveu:

> **
>
>
> Tente dar um new BigDecimal com o resultado da subtract dentro dai dele
> você dá o "ponto" divide:
>
> new BigDecimal((new BigDecimal(
> $V{SomaValorTotal}.doubleValue()).subtract(new
> BigDecimal( $V{TotalCusto}.doubleValue())))).divide(new
> BigDecimal($V{SomaValorTotal}.doubleValue()))
>
> ________________________________
> De: Bruno Oliveira <bruno_oliveira61@yahoo.com.br>
> Para: "java-br@yahoogrupos.com.br" <java-br@yahoogrupos.com.br>
> Enviadas: Segunda-feira, 21 de Novembro de 2011 14:51
>
> Assunto: Re: [java-br] Re: Erro Expressão iReport
>
>
>
> O valor de retorno da parte do código " $V{SomaValorTotal}.doubleValue() "
> deve estar retornando "Double" e o divide recebe BigDecimal, creio que
> seja esse o erro!
>
> ________________________________
> De: José Eduardo Tomaz <jetomaz@gmail.com>
> Para: java-br@yahoogrupos.com.br
> Enviadas: Segunda-feira, 21 de Novembro de 2011 14:28
> Assunto: Re: [java-br] Re: Erro Expressão iReport
>
> Obrigado Bruno, realmente o campo estava como string agora to com outro
> problema na seguinte expressao.
>
> *(new BigDecimal( $V{SomaValorTotal}.doubleValue()).subtract(new
> BigDecimal( $V{TotalCusto}.doubleValue())))*
> *.devide(new BigDecimal($V{SomaValorTotal}.doubleValue()))*
>
> a parte de subtrct da certo mais o devide nao vai por nada , da erro, se eu
> deixar soo subtract funciona quando eu acrescento ".devide(new
> BigDecimal($V{SomaValorTotal}.doubleValue()))" ele da o seguinte erro:
>
> Compiling to file...
> C:\Java\Desenvolvimento\CercaVivaJSP\relatorio\pedidosnoperiodo.jasper
> *Compilation
> running time: 672!*
> ------------------------------
> Filling report... Locale: *português (Brasil)* Time zone: *Default*
> Error filling print... Error evaluating expression :
> Source text : (new BigDecimal(
> $V{SomaValorTotal}.doubleValue()).subtract(new BigDecimal(
> $V{TotalCusto}.doubleValue())))
> .devide(new BigDecimal($V{SomaValorTotal}.doubleValue()))
>
> net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error
> evaluating expression :
> Source text : (new BigDecimal(
> $V{SomaValorTotal}.doubleValue()).subtract(new BigDecimal(
> $V{TotalCusto}.doubleValue())))
> .devide(new BigDecimal($V{SomaValorTotal}.doubleValue()))
>
> at
> net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:195)
> at
> net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:589)
> at
> net.sf.jasperreports.engine.fill.JRCalculator.calculateVariables(JRCalculator.java:141)
> at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:747)
> 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:845)
> at
> net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
> at
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
> at
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
> at
> com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:878)
> at
> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
> at
> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
> Caused by: groovy.lang.MissingMethodException: No signature of method:
> java.math.BigDecimal.devide() is applicable for argument types:
> (java.math.BigDecimal) values:
> [684.6399999999999863575794734060764312744140625]
> Possible solutions: divide(java.math.BigDecimal),
> divide(java.math.BigDecimal, int), divide(java.math.BigDecimal,
> java.math.MathContext), divide(java.math.BigDecimal,
> java.math.RoundingMode), divide(java.math.BigDecimal, int, int),
> divide(java.math.BigDecimal, int, java.math.RoundingMode)
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at
> pedidosnoperiodo_1321896449868_663291.evaluate(calculator_pedidosnoperiodo_1321896449868_663291:248)
> at
> net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:182)
> ... 13 more
> Print not filled. Try to use an EmptyDataSource...
>
> *a multiplicação funciona, so to com problema na divisão.*
>
> Em 21 de novembro de 2011 14:28, Bruno Oliveira <
> bruno_oliveira61@yahoo.com.br> escreveu:
>
> > **
> >
> >
> > Você reparou se o campo que está recebendo esse valor não está como tipo
> > String?
> > Nas propriedades você pode alterar que tipo o campo vai receber, se
> > estiver mandando BigDecimal para um campo String acredito eu(estou sem o
> > iReport), que cause um erro!
> >
> > ________________________________
> > De: José Eduardo Tomaz <jetomaz@gmail.com>
> > Para: java-br@yahoogrupos.com.br
> > Enviadas: Segunda-feira, 21 de Novembro de 2011 13:09
> > Assunto: [java-br] Re: Erro Expressão iReport
> >
> >
> >
> >
> > Alguem alguem ? alguem sabe me dizer o que pode ser o erro ?
> >
> > Grato.
> >
> > Eduardo
> >
> > Em 18 de novembro de 2011 15:30, José Eduardo Tomaz <jetomaz@gmail.com
> > >escreveu:
> >
> > > Boa tarde!
> > >
> > > Pessoal estou precisando fazer um calculo no ireport mas esta dando um
> > > erro.
> > >
> > > preciso fazer isso : pegar o valor total subtrair do custo o resultado
> > > preciso dividr pelo valor total e multiplicar por 100
> > >
> > > seria assim matematicamente
> > >
> > > *(((ValorTotal - Custo) / ValorTotal) * 100)*
> >
> > >
> > > Estou fazendo assim no groovy
> > >
> > > *((new BigDecimal( $V{SomaValorTotal}.doubleValue() ).subtract(new
> >
> > > BigDecimal(
> > >
> $V{TotalCusto}.doubleValue()))).divide($V{SomaValorTotal})).multiply(new
> > > java.math.BigDecimal(100))*
> >
> > >
> > > Mas ele da o seguinte erro na hora de rodar dentro do ireport.
> > >
> > > Compiling to file...
> > > C:\Java\Desenvolvimento\CercaVivaJSP\relatorio\pedidosnoperiodo.jasper
> > *Compilation
> > > running time: 1.015!*
> > > ------------------------------
> > > Filling report... Locale: *português (Brasil)* Time zone: *Default*
> >
> > > Error filling print... Error evaluating expression :
> > >
> > > Source text : ((new BigDecimal( $V{SomaValorTotal}.doubleValue()
> > ).subtract(new BigDecimal(
> > $V{TotalCusto}.doubleValue()))).divide($V{SomaValorTotal})).multiply(new
> > java.math.BigDecimal(100))
> > >
> > > net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error
> > evaluating expression :
> > >
> > > Source text : ((new BigDecimal( $V{SomaValorTotal}.doubleValue()
> > ).subtract(new BigDecimal(
> > $V{TotalCusto}.doubleValue()))).divide($V{SomaValorTotal})).multiply(new
> > java.math.BigDecimal(100))
> > >
> > > at
> >
> net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:195)
> > >
> > > at
> >
> net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:589)
> > >
> > > at
> >
> net.sf.jasperreports.engine.fill.JRCalculator.calculateVariables(JRCalculator.java:141)
> > >
> > > at
> >
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:747)
> > >
> > > 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:845)
> > >
> > > at
> net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
> > >
> > > at
> >
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
> > >
> > > at
> >
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
> > >
> > > at
> >
> com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:878)
> > >
> > > at
> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
> > >
> > > at
> >
> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
> > >
> > > Caused by: java.lang.ArithmeticException: Non-terminating decimal
> > expansion; no exact representable decimal result.
> > > at java.math.BigDecimal.divide(BigDecimal.java:1603)
> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >
> > > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > >
> > > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > > at java.lang.reflect.Method.invoke(Method.java:597)
> > >
> > > at
> >
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrap.invoke(PojoMetaMethodSite.java:209)
> > >
> > > at
> >
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
> > >
> > > at
> >
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> > >
> > > at
> >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> > >
> > > at
> >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> > >
> > > at
> >
> pedidosnoperiodo_1321637355481_333740.evaluate(calculator_pedidosnoperiodo_1321637355481_333740:247)
> > >
> > > at
> >
> net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:182)
> > > ... 13 more
> > > Print not filled. Try to use an EmptyDataSource...
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
> Para upload/download de arquivos:
> http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>


[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/

<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog