(RESOLVIDO) Netbeans + Ireport 3.7.4: uma dúvida!

1 resposta
A

Olá Pessoal...!

Sou novo com Java, mas to me virando até que bem hehe... e eu gostaria de uma informação: o meu código aqui, eu to tentando fazer ele exibir um relatório em PDF clicando em um botão, mas ele dá toda hora o erro: "net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0".

Eu andei lendo e ví que isso era por causa de versões e tals, porém eu ja coloquei na biblioteca a ultima versão e até agora nada.

Alguém que já tenha passado por tal situação tem como me ajudar? o código que ta impacando é:

try
    {
      sqlValetao.conecta();
      sqlValetao.executaSQL("select D.NrDocumento as NotaFiscal, D.DtEmissao, "+
"Prod.NmProduto, Prod.AlBonificacao as repasse, Prod.AlRepasse AS mais1, "+
"O.NmOperacao, DI.QtItem, DI.VlUnitario, DIR.VlBaseRepasse, P.NmPessoa, D.StDocumentoCancelado "+
"from Documento D inner join DocumentoItem DI on D.IdDocumento = DI.IdDocumento "+
"inner join DocumentoItemRepasse DIR on DIR.IdDocumentoItem = DI.IdDocumentoItem "+
"inner join Pessoa P on P.IdPessoa = DIR.IdPessoa "+
"inner join Produto Prod on Prod.IdProduto = DI.IdProduto "+
"inner join Operacao O on O.IdOperacao = D.IdOperacao "+
"where D.StDocumentoCancelado = 'N' "+
"and D.DtEmissao between '"+mesTecnicosjTextField.getText()+"/"+diaTecnicosjTextField.getText()+"/"+anoTecnicosjTextField.getText()+
 "' and '"+mesTecnicos1jTextField.getText()+"/"+diaTecnicos1jTextField.getText()+"/"+anoTecnicos1jTextField.getText()+"' "+
"and P.NmPessoa = '"+nomeTecnicosjComboBox.getSelectedItem()+"' "+
"and O.IdOperacao in ('00A0000001','00A0000025','00A0000026','00A000002N','00A000007K', "+
"'00A0000073','00A0000040','00A0000033','00A000005V','00A000005U','00A000003V','00A0000032', "+
"'00A000005Y','00A000005X','00A000003W','00A000003Z','00A000005F','00A0000073','00A0000087','00A0000085', "+
"'00A0000084','00A0000083','00A0000082','00A000007Z','00A000007Y') "+
"order by D.DtEmissao");

      JRResultSetDataSource jrRS = new JRResultSetDataSource(sqlValetao.resultset);
      JasperPrint jasperPrint = JasperFillManager.fillReport(
      "/Users/Akira/Documents/NetBeansProjects/CalculoComissao/relatorios/ComissaoTecnicosValetao.jasper",
              new HashMap(), jrRS);
      JasperViewer.viewReport(jasperPrint);
    } catch (Exception erro){
             JOptionPane.showMessageDialog(null,"deu erro ="+erro);
   }

o Select ficou meio monster, mas eh a vida... no meio do select ele tem uns "getText()" que é para pegar os valores que já vem de outros select´s.

Se alguém puder me ajudar, eu agradeço !!

1 Resposta

A

Galera depois de muito procurar funcionou aqui. O lance é o seguinte:

com o Map vc passa os parametros;
depois você apenas chama o PDF.

quem tiver dúvidas, eu terei prazer em ajudar, pois eu passei um bom tempo pesquisando e aprendi bastenta coisa.

abraços !!!

try {
            sqlValetao.conecta();
            sqlValetao.executaSQL("select D.NrDocumento as NotaFiscal, D.DtEmissao, "
            +"Prod.NmProduto, Prod.AlBonificacao as repasse, Prod.AlRepasse AS mais1, "
            +"O.NmOperacao, DI.QtItem, DI.VlUnitario, DIR.VlBaseRepasse, P.NmPessoa, D.StDocumentoCancelado "
            +"from Documento D inner join DocumentoItem DI on D.IdDocumento = DI.IdDocumento "
            +"inner join DocumentoItemRepasse DIR on DIR.IdDocumentoItem = DI.IdDocumentoItem "
            +"inner join Pessoa P on P.IdPessoa = DIR.IdPessoa "
            +"inner join Produto Prod on Prod.IdProduto = DI.IdProduto "
            +"inner join Operacao O on O.IdOperacao = D.IdOperacao "
            +"where D.StDocumentoCancelado = 'N' "
            +"and D.DtEmissao between '" + mesTecnicosjTextField.getText() + "/" + diaTecnicosjTextField.getText() + "/" + anoTecnicosjTextField.getText()
            +"' and '" + mesTecnicos1jTextField.getText() + "/" + diaTecnicos1jTextField.getText() + "/" + anoTecnicos1jTextField.getText() + "' "
            +"and P.NmPessoa = '" + nomeTecnicosjComboBox.getSelectedItem() + "' "
            +"and O.IdOperacao in ('00A0000001','00A0000025','00A0000026','00A000002N','00A000007K', "
            +"'00A0000073','00A0000040','00A0000033','00A000005V','00A000005U','00A000003V','00A0000032', "
            +"'00A000005Y','00A000005X','00A000003W','00A000003Z','00A000005F','00A0000073','00A0000087','00A0000085', "
            +"'00A0000084','00A0000083','00A0000082','00A000007Z','00A000007Y') "
            +"order by D.DtEmissao");

            Map parametros = new HashMap();
            parametros.put(nomeTecnicosjComboBox.getSelectedItem(), evt);

            parametros.put(mesTecnicosjTextField.getText(), evt);
            parametros.put(diaTecnicosjTextField.getText(), evt);
            parametros.put(anoTecnicosjTextField.getText(), evt);

            parametros.put(mesTecnicos1jTextField.getText(), evt);
            parametros.put(diaTecnicos1jTextField.getText(), evt);
            parametros.put(anoTecnicos1jTextField.getText(), evt);

            JRResultSetDataSource jrRS = new JRResultSetDataSource(sqlValetao.resultset);
            JasperPrint jasperPrint = JasperFillManager.fillReport(
            "/Users/Akira/Documents/NetBeansProjects/CalculoComissao/relatorios/ComissaoTecnicosValetao.jasper", parametros, jrRS);

            JasperViewer.viewReport(jasperPrint, false);
}
            catch (Exception erro) {
            JOptionPane.showMessageDialog(null, "deu erro =" + erro);
        }
Criado 6 de setembro de 2010
Ultima resposta 8 de set. de 2010
Respostas 1
Participantes 1