martes, 3 de diciembre de 2013

Clase Reportes con JasperReports

public void verFacturaContado(int id) throws JRException
    {
        //this.id_contact="";
        //this.id_contact = id;
       
       try
        {      
            Class.forName(DRIVER); //se carga el driver
            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
         
            URL master = null;
            master = getClass().getResource("/Reportes/FacCon.jasper");
           
            //System.out.println("master" + master);
           
            if (master == null)
            {              
                System.out.println("No encuentro el archivo del reporte maestro.");
                JOptionPane.showMessageDialog(null, "No encuentro el archivo del reporte maestro.", "Error", JOptionPane.ERROR_MESSAGE);
                //System.exit(2);
            }
            //JasperDesign jDesign = JRXmlLoader.load(master2);
           
            //JasperReport jReport = JasperCompileManager.compileReport(master);
           
             try
            {
           
                JasperReport masterReport = (JasperReport) JRLoader.loadObject(master);
             
           
            //este es el parámetro, se pueden agregar más parámetros
            //basta con poner mas parametro.put
            Map parametro = new HashMap();
            parametro.put("idFact", id);
           
            //Reporte diseñado y compilado con iReport
            JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

            //Se lanza el Viewer de Jasper, no termina aplicación al salir
            JasperViewer jviewer = new JasperViewer(jasperPrint,false);
            jviewer.setTitle("Factura de Venta");
            //jviewer.setVisible(true);
            jviewer.show();
           
           
            }
            catch (JRException e)
            {
                System.out.println("Error cargando el reporte maestro: " + e.getMessage());
                JOptionPane.showMessageDialog(null, "Error en Impresion." +
                "\n\nError recibido: "+e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
                //System.exit(3);
            }  
        }

        catch (ClassNotFoundException | SQLException j)
        {
            System.out.println("Mensaje de Error:"+j.getMessage());
            JOptionPane.showMessageDialog(null, "Mensaje de Error:"+j.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }

    }

No hay comentarios:

Publicar un comentario