Bom dia a todos!
estou tentando criar um relatório no ireport e preciso fazer um if :
(($F{VLR1}>0 && $F{VLR2}>0)?$F{VLR1}+" - "+$F{VLR2}+" - - - - - - ":$F{VLR1}+" - - - - - - -")
Porem ele sempre fica só na primeira condição, mesmo quando trocando a ordem.
Se alguém puder ajudar ficarei muito grata! 
Qual a versão do ireport?
Então a condição sempre está dando o valor true, não importa se trocar a ordem. Tente mudar a expressão.
Esse é o problema, já tentei de várias formas, porem ele sempre cai na primeira condição, pois eu sempre vou ter o “VLR1”, mas haverá casos em que eu terei dois valores, ai que pega!
Vou simular isso aqui aí te falo
1 curtida
Fiz o teste e deu certo, utilizei variáveis inteiros e não coloquei as aspas nas condições.
2 curtidas
Acredite se quiser, não da certo! fiz da mesma forma que você, mas ele sempre trava na primeira condição.
Qual os valores das variáveis?
São valores do tipo double.
Tente assim…
($F{VLR1}.doubleValue() > 0 && $F{VLR2}.doubleValue() > 0)...
descreva os valores 1 e 2
Que tá no momento é 53.596,67 e 53.596,67
nesse caso é para ter o resultado 0.0
vou te enviar meu relatório de teste para você ver estudo.jrxml (1,7 KB)
1 curtida
Não consigo abrir ele aqui!