[Resolvido] Dúvida no iReport

16 respostas
catia.alessandra

Boa tarde pessoal.
Estou com um probleminha.
Tenho um relatório no iReport, que é semelhante a uma NFe.
A organização, é a da imagem adicionada.
e a SQL é a seguinte:

SELECT
UPPER(nf.lbr_OrgName) AS OrgName,
nf.DocumentNo AS NumNf,
nf.LBR_NotaFiscal_ID AS NfeID,
dt.lbr_nfserie AS serieNfe,
UPPER(sh.name) AS Transport,
ord.DocumentNo AS Pedido,
ROUND(nf.NoPackages,0) AS Volumes,
NOW() AS DtImpressao,
nfl.ProductValue AS ProdId,
nfl.ProductName AS Produto,
nfl.lbr_uomname AS UDM,
nfl.Qty AS Qtde
FROM LBR_NotaFiscal nf
INNER JOIN C_DOCTYPE dt ON(nf.c_doctypetarget_id = dt.c_doctype_id)
INNER JOIN C_ORDER ord ON(nf.c_order_id = ord.c_order_id)
LEFT JOIN M_SHIPPER sh ON(nf.m_shipper_id = sh.m_shipper_id)
INNER JOIN LBR_NOTAFISCALLINE nfl ON(nf.lbr_notafiscal_id = nfl.lbr_notafiscal_id)
WHERE nf.LBR_NotaFiscal_ID IN ($P!{NfeId})
GROUP BY NumNf, OrgName, serieNfe, Transport, Pedido, Volumes, NfeID, DtImpressao, ProdId, Produto,
UDM, Qtde

A maioria dos dados esta na banda Detail, porque nela continuará sendo adicionado enquanto tiver dados.
A listagem de produtos, já é diferente. Eu teria que percorrer todos os registros que serão impressos e se tiver algum produto igual em duas NFs diferentes, que o produto apareça somente uma vez e que some suas quantidades. E essa parte, não posso colocar na detail, pois aparece só no final de todos os registros.
Alguém tem alguma dica?
Terei que fazer um método java para isso?

Desde já agradeço quem puder me ajudar (se entenderam o q eu preciso).


16 Respostas

TheKill

Simples, vc precisa de um Group :wink:

Atendendo a condição que vc desejar…
Com isso suas mercadorias só vao aparecer
quando a determinada condição for atendida. Uma unica vez

luxu

aproveitando o tópico sobre iReport preciso de dicas de como gerar relatório para minha aplicação usando o Eclipse…existe plugins?

TheKill

jaspersoft, mas não aconselho usar ele.

preferencialmente utilize o iReport mesmo

luxu

me dê dicas TheKill de como usá-lo, pois certa vez aprendi na faculdade mas nem lembro mais…

TheKill

ih fera, ai complica…

pesquise no forum vai encontrar tutoriais…
assim se pintar dúvidas a galera vai te ajudar

catia.alessandra

TheKill:
Simples, vc precisa de um Group :wink:

Atendendo a condição que vc desejar…
Com isso suas mercadorias só vao aparecer
quando a determinada condição for atendida. Uma unica vez


Eu ja tenho um group by…
mas faço isso no iReport mesmo ou em um método no java?

agradecida

TheKill

catia.alessandra:
TheKill:
Simples, vc precisa de um Group :wink:

Atendendo a condição que vc desejar…
Com isso suas mercadorias só vao aparecer
quando a determinada condição for atendida. Uma unica vez


Eu ja tenho um group by…
mas faço isso no iReport mesmo ou em um método no java?

agradecida

Acho que expliquei errado :wink:

Group no Relatorio…
not is sql :smiley: hehe
sorry

catia.alessandra

TheKill:

Acho que expliquei errado :wink:

Group no Relatorio…
not is sql :smiley: hehe
sorry

Mas não consigo entender como fazer um group no relatório, nunca fiz antes :?

TheKill

ueh é facil, cria o grupo e usa apenas o footer…
entao no group expression vc coloca o campo cujo qual vc quer q ele use de referencia para os produtos aparecerem…

é facil, nao tem mistério

catia.alessandra

Muito confuso isso pra mim oO
eu só fiz relatórios simples no jasper até agora… você não teria um exemplo?
grata :slight_smile:

TheKill

Ih, e agora…

Vejamos, vc conseguiu criar o group?
se Sim, ql a duvida que ficou?

Colocou o group expression?
se sim qual? :wink:

catia.alessandra

Consegui criar o group \o/
Na expression, tenho que fazer algo como, se tiver mais de um produto igual, nas varias notas, somar as quantidades e exibir só uma vez.
Só descobrir como fazer XD

thanks

TheKill

Então a questão é a seguinte, os produtos nao podem repetir correto?

Então no group expression vc coloca exemplo $F{codProduto} entende?

e por parametro vc calcula a quantidade e envia para o relatorio

rafaelviny

voce está usando um subrelatorio?

fica mais facil de manipular informações One to many se vc usar um subrelatorio

catia.alessandra

Fiz um subrelatório, deu certo.
Meu colega aqui me ajudou.
Muito Obrigada a todos :smiley:

rafaelviny

sub relatorio é o que há!!!

facilita muito a vida dos desenvolvedores

Criado 28 de março de 2011
Ultima resposta 28 de mar. de 2011
Respostas 16
Participantes 4