JasperReport Urgente!

10 respostas
Marlise

Oi!!!

pessoal tenho um problema com mudanças em um relatório,

preciso fazer alguns cáculos,

new Boolean(((Float)$V{vlr_sum_trans}).floatValue() >=400) então $F{mct_pos_tax} seria ele mesmo que está cadastrado

new Boolean((((Float)$V{vlr_sum_trans}).floatValue() == 0)) então tenho que atribuir um valor à $F{mct_pos_tax} que tem que ser iqual a 0,0

new Boolean((((Float)$V{vlr_sum_trans}).floatValue() <= 199) && (((Float)$V{vlr_sum_trans}).floatValue() >= 1)) então $F{mct_pos_tax}muda pra 15,00

new Boolean((((Float)$V{vlr_sum_trans}).floatValue() >= 200)&&(((Float)$V{vlr_sum_trans}).floatValue() <= 399)) então $F{mct_pos_tax} muda pra 25,00

$F{mct_pos_tax}está cadastrado no banco e só muda de valor quando ocorrerem estes casos.

eu preciso somente atribuir um valor para$F{mct_pos_tax}caso as condições forem verdadeiras,

pois preciso pegar o volor de $F{mct_pos_tax} e diminuir de $V{vlr_sum_liq},

alguém sabe como fazer isto?

10 Respostas

J

Oi Marlise, agora eu entendi seu problema. :smiley:

Veja se isso ajuda você:

((Float)$V{vlr_sum_trans}).floatValue() >= 400 ? $V{vlr_sum_liq} - $F{mct_pos_tax} :
((Float)$V{vlr_sum_trans}).floatValue() == 0) ? $V{vlr_sum_liq} - new Float(0).floatValue() :
((Float)$V{vlr_sum_trans}).floatValue() <= 199 && ((Float)$V{vlr_sum_trans}).floatValue() >= 1 ? $V{vlr_sum_liq} - 15.00 :
((Float)$V{vlr_sum_trans}).floatValue() >= 200 && ((Float)$V{vlr_sum_trans}).floatValue() <= 399 ? $V{vlr_sum_liq} - 25.00 : new Float(0)

Coloque isso no Textfield expression do campo que deverá receber o resultado das operações. Esse campo deverá estar na banda Detail.

Pra cada linha lida da consulta será feito esse IF gigante e o resultado será o cálculo feito com os valores definidos.

Qualquer coisa, dê um berro…

P.S.: Ops, esqueci de dizer que não é apenas copiar esse código mas sim, antes, transformar as variáveis V$ para Float com o ((Float)$V{vlr_sum_liq}).floatValue()

Marlise

ainda não deu,
mas o que quer dizer banda Detail.

por um acaso tem algo melhor pra gerar relatório do que JasperReport?

J

Mas, qual ferramenta você está utilizando pra gerar o JasperReport? iReport? Birt?

Marlise

estou usando iReport,

outra coisa, a de vez em quando de uma hora pra outa um desses relotório dá erro, aí eu compilo mas não mudo nada nele e ele volta a funcionar, isto é normal no Jasper?

J

Sim, o iReport tem dessas coisas…

Mas voltando ao assunto original da sua dúvida…

Se você notar, o iReport possui regiões denominadas Bands que indicam os grupos (cabeçalho e rodapé) .

Por default um novo relatório possui as seguintes bands:
background
title
pageHeader
columnHeader
detail
columnFooter
pageFooter
lastPageFooter
summary

Se você criar um grupo novo de nome CodigoProduto, serão criadas duas novas Bands de nomes CodigoProdutoHeader e CodigoProdutoFooter.

Então, eu só quis enfatizar o local do seu campo, que deverá (ou deveria) ser na band Detail que representa a linha de detalhes do relatório.

Mas isso não é regra, se no seu caso esse campo está am algum grupo então é nele que deverá ser feito as condições.

Bom, voltando ao exemplo que lhe passei eu gostaria de saber se está causando algum tipo de erro ou realmente não aparece nada no campo.

É muito complicado tentar entender sua necessidade principalmente quando você diz que não conhece muito bem o iReport. A comunicação fica prejudicada. Estou tentando ajudar ao máximo e, na medida do possível, ser claro o bastante nas explicações.

Você não tem algum colega aí pra lhe ajudar? Não seria mais produtivo e mais rápido?

Marlise

Oi!!!

consegui resolver o problema com o que vc me passou,

eu só estáva colocando no lugar errado,

aqui não tenho ningem pra me dar uma força, conto com a boa vontade de vcs,

deu tudo certo com aquilo que vc me passou,

depois que consegui fazer funcionar,

meu chefe decidiu não usar mais o relatório

mas aprendi como fazer

valeu mesmo!!

brlima

afff… isso que é chefe…rsss

Marlise

é normal dar problemas com relatórios,

pois eu testo os relatório no desenvolvimento onde tem o Banco igual,ao de produção
e funciona tudo legal
mas no de desenvovimentoos relatórios estão dando erro.

brlima

tem não só o problema de banco, mas com endereço de conexao e localização dos prorpios relatorios.
Nesse ponto o jasper é bem chato, mas é bem flexivel…

C

Queria saber de vcs quais forma todas as variaveis de ambiente que vcs configuraram para gerar os relatorios.

Criado 19 de abril de 2006
Ultima resposta 27 de abr. de 2006
Respostas 10
Participantes 4