IReport Erro Documento não contem paginas - IReport versão 4.5

Pessoal


Por favor, preciso que me ajudem a resolver esse problema com IReport e como estou fazendo o meu primeiro relatório pelo IReport com parametros, estou cheio de duvidas e espero que vcs do GUJ possam me ajudar. O meu problema é que estou tentando imprimir um relatório parecido com uma Nota Fiscal que tem dois parametros inteiros e não consigo sair da mensagem que ele da quando estou emitindo. Mensagem=“O documento não contem paginas”, e vou mostrar a sequencia do meu programa para ver se alguem me ajuda. Dentro do IReport sai tudo direitinho com os parametros solicitados que são Numero da OS e Numero da Nota e sai legal. Mas quando chamo pela aplicação só sai a mensagem Informativa, inclusive procurei no xml e não encontrei.
Muito obrigado.

1. O Botão de chamada do relatório: quando chamo sempre dá a mensagem que o Documento não contem paginas, é como se ele não fosse no design do IReport para pegar o Select.

    private void jBImprimirNFActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        if (txtId.getText().equals("")|| (txtId.getText().equals("0"))){
            msg = " Codigo de Contas a Receber é Obrigotório para Relatório!";
            mensagemErro(msg);
            txtId.requestFocus();
            check_OK=false;
            return;
        }
       CtaReceberDao dao= null;
        try {
            dao = new CtaReceberDao();
        } catch (SQLException e) {
            Logger.getLogger(jFOs.class.getName()).log(Level.SEVERE, null, e);
        }
        try {
            listaAreceber = (ArrayList<ContasReceber>) (dao.findbyfiltrochaves(Integer.parseInt(txtIdOs.getText()), Integer.parseInt(txtId.getText()), identificador));
   
            java.sql.Connection con = jdbc.ConnectionFactory.getConnection(
                    "jdbc:postgresql://localhost:5432/Labo",
                    "postgres",
                    "admin9090");
            
                HashMap parametros = new HashMap();
                parametros.put("Os",Integer.parseInt(txtIdOs.getText()));
                parametros.put(" Nota",Integer.parseInt(txtId.getText()));
                
            System.out.println(" parametros="+parametros);
// Esse print de parametros está mostrando os dois parametros separados por virgula.
// Essas parte com barras são as tentativas que fiz atraves de estudo da internet.
//            JasperDesign design;   
            try {
                //            design = JasperManager.loadXmlDesign("src/fontes/Relatorios/" + "rptNf.jrxml");
//            JasperReport jr = JasperCompileManager.compileReport("src/fontes/Relatorios/rptNf.jrxml");
//            JasperPrint jp;
//                jp = JasperFillManager.fillReport(jr, parametros, con);
             JasperPrint jp = JasperFillManager.fillReport("src/fontes/Relatorios/rptNf.jasper", parametros, con);
               JasperExportManager.exportReportToPdfFile(jp, "Notafiscal.pdf");
              JasperViewer jrv = new JasperViewer(jp, false);
              jrv.setVisible(true);
            } catch (JRException ex) {
                Logger.getLogger(jIFContasReceber.class.getName()).log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null," Erro em Printer!");
            }
      } catch (SQLException ex) {
            Logger.getLogger(jFOs.class.getName()).log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null," Erro em Geração do Relatório - CtaReceber!");
        }
        try {
            dao.closeConnection();
          System.out.println(" passou fechamento do relatorio");
        } catch (SQLException e) {
            Logger.getLogger(jFOs.class.getName()).log(Level.SEVERE, null, e);
        }

    }                                            

[b]2. O meu Select do design do Ireport. Quando retiro os parametros e o Where ele imprime todos os registros sem problema.[/b]
SELECT
     dentista."id" AS iddentista,
     dentista."nome" AS nomedentista,
     dentista."cnpjcpf" AS cnpjcpf,
     dentista."endereco" AS enderecodentista,
     dentista."bairro" AS bairro,
     dentista."cidade" AS cidade,
     dentista."uf" AS dentista_uf,
     dentista."cep" AS dentista_cep,
     dentista."numero" AS dentista_numero,
     paciente."id" AS idpaciente,
     paciente."nome" AS nomepaciente,
     protese."id" AS idprotese,
     protese."nome" AS protese_nome,
     os."iddentista" AS os_iddentista,
     os."idpaciente" AS os_idpaciente,
     os."id" AS os_id,
     fichas."idos" AS fichas_idos,
     fichas."id" AS fichas_id,
     fichas."idprotese" AS fichas_idprotese,
     fichas."preco" AS fichas_preco,
     fichas."quantidade" AS qtde,
     fichas."valor" AS fichas_valor,
     ctareceber."idos" AS idosctareceber,
     ctareceber."id" AS ctareceber_id,
     ctareceber."valorprevisto" AS valorprevisto,
     ctareceber."ano" AS ano,
     ctareceber."mes" AS mes,
     ctareceber."valorcredito" AS valorcredito,
     ctareceber."valordebito" AS valordebito,
     dentista."fone" AS fone,
     fichas."situacao" AS fichas_situacao
FROM
     "public"."dentista" dentista INNER JOIN "public"."os" os ON dentista."id" = os."iddentista"
     INNER JOIN "public"."paciente" paciente ON os."idpaciente" = paciente."id"
     INNER JOIN "public"."fichas" fichas ON os."id" = fichas."idos"
     INNER JOIN "public"."ctareceber" ctareceber ON os."id" = ctareceber."idos"
     INNER JOIN "public"."protese" protese ON fichas."idprotese" = protese."id"
WHERE
     (ctareceber."idos" = $P{numOs})
     and (ctareceber."id" = $P{numNota})
     and (fichas."situacao" = 'CONCLUIDA')

Amigo, tem uma opção no Ireport, nas propriedades do relatorio. Vc coloca la, q quando “no pages” ainda assim imprima, tem uma opção la, so n sei qual é exatamente, mas tem um combobox la, com uma que vc obriga o relatorio a ser exibido mesmo sem ter dados para exibir.

Uma dica, o legal seria imprimir uma mensagem na tela mostrando que não há nenhum dado a ser mostrado, do que fazer toda a compilação do relatorio e ele vir vazio.

Abração !