Expresão Incorreta [RESOLVIDO]

8 respostas
J

Pessoal tô usando o Ireports aqui .
tá dando erro nessa expresão :

new Double ((new Double(100)* $F{valor}.doubleValue())/$P{parameters}.get("sumDebitos").doubleValue())

Por que ??

8 Respostas

J

Tenta por um parentes na outra parte da expressao

ou um palpite, coloca $P!{parameters}

Mas melhor mesmo, qual problema ele te informa?

J

cada vez da um erro diferente .
Tô comento bola em algum lugar nessa sintaxe

1. Syntax error on token "!", invalid AssignmentOperator value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 2. Syntax error, insert ")" to complete Expression value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 3. Syntax error on token ")", delete this token value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 4. Syntax error on token "!", invalid AssignmentOperator value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getOldValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 5. Syntax error, insert ")" to complete Expression value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getOldValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 6. Syntax error on token ")", delete this token value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getOldValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 7. Syntax error on token "!", invalid AssignmentOperator value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 8. Syntax error, insert ")" to complete Expression value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 9. Syntax error on token ")", delete this token value = (java.lang.Double)(new Double ((new Double(100)* ((java.lang.Double)field_valor.getValue()).doubleValue())/($P!{parameters}.get("sumDebitos").doubleValue()))); //$JR_EXPR_ID=21$ ^ 9 errors',sticky:true,position:'bottom-right',theme:'red'}

Tem um outro cado no mesmo relatório:

new Double(new Double((Double)$P{parameters}.get("sumCreditos")).doubleValue() - new Double((Double)$P{parameters}.get("sumDebitos")).doubleValue())

Que também tá dando pau

{action:1,header:'Erro',message:'Errors were encountered when compiling report expressions class file: 1. Cannot cast from Double to String value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 2. The constructor Double(Double) is undefined value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <-------------------------------------------------------------------------------------> 3. The constructor Double(Double) is undefined value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <------------------------------------------------------------------------------------> 4. Cannot cast from Double to String value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 5. The constructor Double(Double) is undefined value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <-------------------------------------------------------------------------------------> 6. The constructor Double(Double) is undefined value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <------------------------------------------------------------------------------------> 7. Cannot cast from Double to String value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 8. The constructor Double(Double) is undefined value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <-------------------------------------------------------------------------------------> 9. The constructor Double(Double) is undefined value = (java.lang.String)(new Double(new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumCreditos")).doubleValue() - new Double((Double)((java.util.Map)parameter_parameters.getValue()).get("sumDebitos")).doubleValue())); //$JR_EXPR_ID=23$ <------------------------------------------------------------------------------------> 9 errors',sticky:true,position:'bottom-right',theme:'red'}
E

o campo da tua expressão é de que tipo?

J

Na sua segunda expressao, tenta tirar esse cast para um Double, como essas expressões sao em Groovy, se o seu parametro ja for do tipo especificado, no caso Double, ele já reconhece.

Voce está mexendo pelo iReports?

J

Sim … Direto no Ireports
E meus campos já são do tipo Double.

J

Se voce só der um

o que acontece?

J

Sei lá . Me bati um monte. :x :?
Mas era problema de casting mesmo.
Não consegui resolver em um text field; tive que criar variáveis auxiliadoras que faziam os calculos.
Ficou assim

// Variavel CEM_VALOR
new Double($F{valor}.doubleValue()*100)

// Variável SOMA
new Double(((Double)$P{parameters}.get("sumCreditosFixos")).doubleValue())

//Text Field
new Double($V{CEM_VALOR}.doubleValue()/$V{SOMA}.doubleValue())

Aí deu certo :lol:

Obrigado pela ajuda.
Feliz ano novo !

J

hahahaha, o importante é que funcionou

Feliz 2010, e joga um [RESOLVIDO] la depois!

Criado 28 de dezembro de 2009
Ultima resposta 29 de dez. de 2009
Respostas 8
Participantes 3