Sub-relatório Ireport Urgente  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
acbucard
Debugger
[Avatar]

Membro desde: 07/05/2009 19:30:28
Mensagens: 55
Offline

Gente, estou a quase uma semana tentando resolver isso e não estou conseguindo.

Tenho um relatório de Clientes e como sub-relatório os serviços feitos por ele.
Quando eu rodo pelo ireport, funciona perfeitamente, mas quando rodo pelo programa que criei os sub-relatórios não aparecem.

Meu código pra preencher o relatório é:


Já revisei o código várias vezes mas não faço idéia de onde está meu erro.

Grata desde já!

Ana Buçard
"Quando o ser humano aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguem precisará ensiná-lo a amar o seu semelhante". Albert Schwitzer
[Email] [MSN]
agostinhooliv
HelloWorld

Membro desde: 11/12/2008 09:07:43
Mensagens: 13
Offline

Olá acbucard,

Já tive alguns problemas com sub-relatórios.

Verifica essas duas propriedades:

Subreport Expression: $P{SUBREPORT_DIR} + "ResumoCooperado_Pendencias.jasper"

Connection Type: Ai vai depender se você irá usar a mesma conexão do relatório PAI ou não.

Qualquer coisa tu cria um relatório simples com apenas texto e adiciona o sub-relatório também com somente texto.

Att. Agostinho Neto
[MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

Estou com o mesmo problema.

agostinhooliv,

O meu relatório pai está passando a conexão para os filhos, com o REPORT_CONNECTION, conexão JDBC.
E minha expressão de SUBREPORT_DIR é:



Pode nos ajudar?


Obg! ^^

Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
acbucard
Debugger
[Avatar]

Membro desde: 07/05/2009 19:30:28
Mensagens: 55
Offline

franzzita, estou no mesmo ponto que você.

Já pesquisei em vários lugares e não encontro a solução!

Ana Buçard
"Quando o ser humano aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguem precisará ensiná-lo a amar o seu semelhante". Albert Schwitzer
[Email] [MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

Já tento isso?

http://davidbuzatto.com.br/2010/10/10/jasperreports-trabalhando-com-relatorios-em-java-parte-2-primeiros-relatorios/

To acompanhando aqui... mas ta disparando Exception, dizendo que não acha o relatório.

¬¬

Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
acbucard
Debugger
[Avatar]

Membro desde: 07/05/2009 19:30:28
Mensagens: 55
Offline

Tentei sim franzzita, na verdade eu criei meu relatório e sub-relatório me baseando nesse site, nas partes 2 e 3 de relatórios.
O meu nem rola exception, mas também não aparece nada do sub, só o principal mesmo.

Ana Buçard
"Quando o ser humano aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguem precisará ensiná-lo a amar o seu semelhante". Albert Schwitzer
[Email] [MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

acbucard wrote:Tentei sim franzzita, na verdade eu criei meu relatório e sub-relatório me baseando nesse site, nas partes 2 e 3 de relatórios.
O meu nem rola exception, mas também não aparece nada do sub, só o principal mesmo.


Agora o meu ta igual o seu. Só o principal... minha classe não retorna nem a Band No Data com a mensagem de erro.

Ta fodá.

Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
agostinhooliv
HelloWorld

Membro desde: 11/12/2008 09:07:43
Mensagens: 13
Offline

No ireport o sub-relatório aparece? Se sim pode ser algum pro no teu código java, posta ai teu relatório e teu código java.

Vocês tentaram fazer um relatório com um sub-relatório sem acesso ao banco(somente com um label)?

Vou fazer um como exemplo e posto amanhã pra vocês.

Att. Agostinho Neto
[MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

agostinhooliv wrote:No ireport o sub-relatório aparece? Se sim pode ser algum pro no teu código java, posta ai teu relatório e teu código java.

Vocês tentaram fazer um relatório com um sub-relatório sem acesso ao banco(somente com um label)?

Vou fazer um como exemplo e posto amanhã pra vocês.

Att. Agostinho Neto



Muito obrigado pela disposição Agostinho...

O que rola comigo eu acho que é erro de código.
Fiz o que você falou, no iReports aparece, e quando minha classe chamou o relatório não retornou nenhum textfield do subrelatório, somente o relatório mestre com seus dados.

Seguinte, eu to usando query, não sei se as sub-querys estão realmente sendo alimentadas pela minha conexão, creio eu que era para serem pois escolhi na montagem do subrelatório a opção de usar a mesma conexão.

Minha classe Java é essa:




Obrigada.
Fico aguardando...
^^

This message was edited 1 time. Last update was at 08/02/2012 06:36:58


Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
agostinhooliv
HelloWorld

Membro desde: 11/12/2008 09:07:43
Mensagens: 13
Offline

Olá franzzita,

Segue em anexo um projeto(NetBeans) com um relatório com sub-relatório.

Vi que você usa sua consulta no seu código java, eu utilizo as consultas no próprio relatório, só passo os parâmetros para o relatório.

Modifica para tua realidade a classe Conexao e a classe que contém o caminho para o arquivo .jasper.

Vê se você consegue rodar esse projeto.

Qualquer coisa...

Att. Agostinho Neto
 Nome do arquivo Ireport.zip [Disk] Download
 Descrição
 Tamanho 368 Kbytes
 Baixado:  4 vez(es)

[MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

Agostinho!

Muito obrigada pelo exemplo, adaptei ele as minhas necessidades, porém ainda está aparecendo uma exception....

Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.isAssignableFrom(Native Method)
at net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:439)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:403)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)
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 RelatorioExemplo2.Ireport.main(Ireport.java:37)
Java Result: 1


=/
Sabe o que pode ser??

This message was edited 1 time. Last update was at 09/02/2012 14:02:05


Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
agostinhooliv
HelloWorld

Membro desde: 11/12/2008 09:07:43
Mensagens: 13
Offline

Acredito que pode ser falta das bibliotecas ou então bibliotecas com versões diferentes das que eu compilei aqui na minha máquina.

- Verifica se os todas bibliotecas abaixo estão no classpath.
* commons-beanutils-1.8.2.jar
* commons-collections-3.2.1.jar
* commons-digester-1.8.jar
* commons-javaflow-20060411.jar
* commons-lang-2.4.jar
* commons-logging-1.1.1.jar
* iText-2.1.7.jar
* jasperreports-3.7.5.jar
* poi-3.6-20091214.jar
* jtds-1.2.5.jar

No meu caso estou acessando o banco de dados de exemplo do SQL Server (Northwind).

Acho que você já sabe, mas você poderia testar primeiro a classe Conexao para ver se ela está ok.

Tu usa qual IDE? Se for netbeans me manda esse projeto que você adptou a sua realidade que eu vejo o que pode estar errado.

Qualquer coisa...

Att. Agostinho Neto


[MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

URULLL depois de 4 dias consegui!! \o/

Te agradeço muito, modifiquei algumas coisas na classe que você me passou e funcionou redondo...

Meu relatório mestre chamando 2 sub-relatórios, perfeito!

Muitoooooooooo obrigado mesmo!

Depois me passa seu E-mail ou Skype pra contato!!


Agora só to com um probleminha, preciso pegar os totais que esses dois sub-relatórios retornam e fazer uma subtração para exibir no relatório mestre.
Mas os campos me retornam NULL.

Sabe porque isso acontece?

To fazendo assim a conta: new Double($V{TotalSub1}.subtract($V{TotalSub2}))

TotalSub1 e TotalSub2 são do tipo Double.

Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
agostinhooliv
HelloWorld

Membro desde: 11/12/2008 09:07:43
Mensagens: 13
Offline

Tu ta rodando direto no ireport?

Já tentou colocar essas variáveis separadas para ver se os valores não estão nulos?

Quando tu roda o sub-relatório separado ele traz esse total?

Segue em anexo uma imagem que mostra como configurar uma variável, vê se você está fazendo parecido, mas no seu caso acho seria sum na propriedade Calculation.
Qualquer coisa..

Att. Agostinho Neto
[Thumb - Contador.JPG]
 Nome do arquivo Contador.JPG [Disk] Download
 Descrição
 Tamanho 129 Kbytes
 Baixado:  8 vez(es)

[MSN]
franzzita
JavaBaby
[Avatar]

Membro desde: 05/07/2011 10:40:22
Mensagens: 95
Offline

Bom dia Agostinho,

Então, dentro dos subrelatórios as contas estão acontecendo perfeitamente e os valores retornam para o relatório mestre perfeitamente também!
Mas eu não consigo fazer a conta com os totais, em uma terceira variavel, quando eles retornam, o valor é é null para o resultado da conta final.

Estou usando Double para todas as variáveis, pois os valores normalmente são grandes, será que é o tipo que está errado?

Abaixo o print das minhas variaveis, acompanhe a sequência de configuração.

Regards;
[Thumb - 1 - Configuração. Retorno de Valor Total do Faturamento.png]
 Nome do arquivo 1 - Configuração. Retorno de Valor Total do Faturamento.png [Disk] Download
 Descrição 1 - Configuração. Retorno de Valor Total do Faturamento
 Tamanho 59 Kbytes
 Baixado:  2 vez(es)

[Thumb - 2 - Variavel. Recebe_Retorno Faturamento do Sub-Relatório.png]
 Nome do arquivo 2 - Variavel. Recebe_Retorno Faturamento do Sub-Relatório.png [Disk] Download
 Descrição 2 - Variavel. Recebe_Retorno Faturamento do Sub-Relatório
 Tamanho 11 Kbytes
 Baixado:  3 vez(es)

[Thumb - 3 - Variavel. Faturamento menos Custo para  obter Lucro Final.png]
 Nome do arquivo 3 - Variavel. Faturamento menos Custo para obter Lucro Final.png [Disk] Download
 Descrição 3 - Variavel. Faturamento menos Custo para obter Lucro Final
 Tamanho 14 Kbytes
 Baixado:  3 vez(es)

This message was edited 5 times. Last update was at 10/02/2012 07:25:36


Franciélly Ferreira e Silva
Graduando em Ciência da Computação
PUC Minas Campus Poços de Caldas

"Melhor ser pirata, do que marinheiro..."

Love is our resistance - Muse
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team