Alguem pode me dizer o que há de errado nesse metodo que chama o relatorio que eu tenho?
pois quando a linha:
JasperReport jr = (JasperReport) JRLoader.loadObject(localRelatorio);
é executada, para por ai, nao dá erro, nao dá nada…simplesmente nao funciona.
public void rel() throws JRException, MalformedURLException, Exception {
//URL localRelatorio = new URL("D:/Leite_Novo/Leite/web/RelAdiantamento.jasper");
String localRelatorio = "D:/Leite_Novo/Leite/web/RelAdiantamento.jasper";
HashMap parameters = new HashMap();
try {
// O objeto JasperReport representa o objeto JasperDesign (arquivo .jrxml) compilado.
// Ou seja, o arquivo .jasper
JasperReport jr = (JasperReport) JRLoader.loadObject(localRelatorio);
// JasperPrint representa o relatório gerado.
// É criado um JasperPrint a partir de um JasperReport, contendo o relatório preenchido.
this.jasperPrint_ = JasperFillManager.fillReport(jr, parameters, Conexao.Conecta());
} catch (JRException e) {
FacesMessage msgd = new FacesMessage(
"Erro relatório. " + e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, msgd);
}
}
“cannot assign instance of net.sf.jasperreports.engine.base.JRBaseLine to field net.sf.jasperreports.engine.base.JRBasePen.penContainer of type net.sf.jasperreports.engine.JRPenContainer in instance of net.sf.jasperreports.engine.base.JRBasePen”
Sabe me dizer o que pode ser??
Preciso entregar o sistema e so me falta a visualizaçao esses relatorios, o resto já está ok, estou aqui parado sem soluçao…
Entao, quero exportar para PDF mesmo
O exemplo que me passou é mto proximo aos que eu já vi, e acaba acontecendo o mesmo erro de cima:
“cannot assign instance of net.sf.jasperreports.engine.base.JRBaseLine to field net.sf.jasperreports.engine.base.JRBasePen.penContainer of type net.sf.jasperreports.engine.JRPenContainer in instance of net.sf.jasperreports.engine.base.JRBasePen”
Literalmente nao sei qual é a “cagada” que estou fazendo, mas já viu algo desse tipo, o que pode ser?
E quanto a ultima pergunta, eu to fazendo o meu primeiro relatorio, ou seja, ate agora nada funcionou, e nao tem nenhum misterio ate entao que eu tenha visto pra fazer, roda tanto no Ireport normal quanto no plugin do netbeans.
Só de olhar já deu para ver que está faltando algumas bibliotecas, por exemplo o jFreeChart, se tiver algum grafico, o relatório não vai funcionar, pois não tem este jar.
De uma olhada neste tutorial de um colega do Forum.
Neste tutorial do David Buzatto, ele explica desde a instalação do iReport no NetBeans e a configuração(incluindo os jar’s) até a criação de relatórios, vale a pena dar uma olhada.
No tutorial fala sobre o Servlet, manda criar e tudo mais de forma alguma é usado essa classe? sabe como é usado essa classe?
pq mesmo adicionando todas as libs que é pedido, nao deu certo ainda, nao sei o que faço mais…todos os exemplos nao dao certo. Se tiver alguma luz.
Obrigado!
Tente adicionar TODAS as libs do iReport(Isto tem que ser realmente medida extrema, pois vai “sujar” totalmente suas lib’s com jar’s que você muito provavelmente não vai utilizar).
Vale a pena tentar fazer isso apenas para ver se isso vai funcionar.
Essas lib’s você encontra na pasta do iReport quando você faz o download e instala na sua maquina, eu fiz o download aqui e fiz uma lista dos .jar que estão na pasta(“Jaspersoft\iReport-4.0.1\ireport\modules\ext”).
Eu adicionei todas essas libs, fiz como estava no exemplo que vc me passou, porem nao tem forma alguma de rodar, já nao sei mais o que fazer, estou empacado nisso desde semana passada e sem sucesso em nada das tentativas que fiz.
Eu fiz conforme o exemplo que me passou, e criei aquele Servlet, porem nunca use, no exemplo pede para que eu chame ele, execute no caso, msa nao sei como faço para executar, chamar no meu browser
hoje chamo as minhas telas dessa forma no menu, por exemplo:
Eu estou em um ambiente que não está configurado para desenvolvimento JAVA, por isso não vou ter como te ajudar testando.
Esse seu relatório está com muitos campos? tem alguma coisa diferente nele? Já tentou fazer um relatório novo, sem SQL sem nada, só com um Label dentro com alguma coisa escrita e tentou chamar ele para ver se da o mesmo erro?
As vezes pode ser algum campo que tem alguma coisa que está dando problema.
Muito estranho, mas consegui inexplicavelmente fazer funcionar.
Porém o que acontece, quando eu executo as vezes o relatorio, ele simplesmente aparece embranco, e oras aparece com dados, sabe me dizer o pq disso??
Metodo que chama o criaçao do relatorio, invocado pela minha View!
public void relatorio() throws Exception {
ResultSet rs = Conexao.Consulta("select la.codigo, la.valor, to_char(la.data,'DD/MM/YYYY') as data, "
+ "f.nome as descfornecedor, f1.nome as descterceiro, ll.descricao as lote "
+ "from admleite.leite_adiantamentos la "
+ "left join admleite.leite_fornecedores lf on lf.codfornecedor = la.fornecedor "
+ "left join fornecedores f on f.codigo = lf.codfornecedor "
+ "left join fornecedores f1 on f1.codigo = la.for_terceiro "
+ "left join admleite.leite_lote ll on ll.codigo = la.lote");
Map parameters = new HashMap();
RelatorioPadrao.criaRel("RelAdiantamento.jasper", rs, parameters);
}