You are on page 1of 3

Ayuda reportes

Estas son mis dos consultas tal vez tengas razn y algo por aqu est mal, primero el Reporte maestro: SELECT empleados.`Nombre` AS empleados_Nombre, solicitud_viat.`Folio` AS solicitud_viat_Folio, solicitud_viat.`Origen` AS solicitud_viat_Origen, solicitud_viat.`Destino` AS solicitud_viat_Destino, solicitud_viat.`Dia_inicio` AS solicitud_viat_Dia_inicio, solicitud_viat.`Mes_inicio` AS solicitud_viat_Mes_inicio, solicitud_viat.`Anio_inicio` AS solicitud_viat_Anio_inicio, solicitud_viat.`Dia_fin` AS solicitud_viat_Dia_fin, solicitud_viat.`Mes_fin` AS solicitud_viat_Mes_fin, solicitud_viat.`Anio_fin` AS solicitud_viat_Anio_fin, solicitud_viat.`Dias_duracion` AS solicitud_viat_Dias_duracion, solicitud_viat.`Tipo_moneda` AS solicitud_viat_Tipo_moneda, solicitud_viat.`Autorizador` AS solicitud_viat_Autorizador, transferencias.`Dia_transfer` AS transferencias_Dia_transfer, transferencias.`Mes_transfer` AS transferencias_Mes_transfer, transferencias.`Anio_transfer` AS transferencias_Anio_transfer, transferencias.`Cantidad` AS transferencias_Cantidad FROM `solicitud_viat` solicitud_viat INNER JOIN `empleados` empleados ON solicitud_viat.`Id_empleado` = empleados.`Id_empleado` INNER JOIN `transferencias` transferencias ON solicitud_viat.`Folio` = transferencias.`Folio` WHERE solicitud_viat.`Folio` = $P{Folio} Y este es el subreporte: SELECT conceptos.`Id_concepto` AS conceptos_Id_concepto, conceptos.`Folio` AS conceptos_Folio, conceptos.`Concepto` AS conceptos_Concepto, conceptos.`Cantidad` AS conceptos_Cantidad, conceptos.`Porcentaje_iva` AS conceptos_Porcentaje_iva, conceptos.`Iva_cant` AS conceptos_Iva_cant, justif_gastos.`Folio` AS justif_gastos_Folio FROM `conceptos` conceptos INNER JOIN `justif_gastos` justif_gastos ON conceptos.`Folio` = justif_gastos.`Folio` where conceptos.`Folio`=$P{Folio} En el maestro tengo un parmetro porque estoy trabajando con una aplicacin web y esta pide un parmetro para sacar el reporte Gracias por tu ayuda 18 de mayo de 2009 10:50 [RESPONDER A ESTE COMENTARIO]

Programador Java dijo... Hola, me parece que el nombre del field que debes pasar a la propiedad "Parameters" de la seccin "Subreport Properties" es $F{solicitud_viat_Folio} y el nombre del mismo parmetro debe ser Folio para que puedas hacer esto "where conceptos.`Folio`=$P{Folio}" como indicas al final para que el subreporte se genere correctamente. Te recomiendo que cambies el nombre de ese parmetro para que no haya confusiones. Podras cambiarlo de $P{Folio} a $P{Folio_actual} o algo asi Saludos 18 de mayo de 2009 11:06 [RESPONDER A ESTE COMENTARIO] Annimo dijo... Excelente muchsimas gracias ya me sali, te agradezco muchsimo tu ayuda ahora no se si te podra pedir algo ms de ayuda abusando de tu paciencia y amabilidad ya que necesito pasar los parmetros de mi aplicacin web a un servlet pero me ha costado algo de trabajo adaptarlo al manual que pusiste en este post porque tengo que pedir los parmetros desde una JSP, ya mandarlos al servlet para que mande el reporte as que busqu de otra forma pero no me saca el reporte, te explico lo que tengo y tal vez me podras ayudar. Mi aplicacin Web la manejo con un paquete llamado beans donde estan los getters y setters de cada tabla, como te habrs dado cuenta mis reportes son de varias tablas as que no supe adaptarlo a como lo tienes en el tutorial de aplicaciones web, tambin tengo una JSP donde pido el parmetro y mando llamar al servlet: form action="RepFolioServlet" method="post" fieldset Folio: input type="text" name="Folio" size="15" input type="submit" value="ACEPTAR" input type="reset" value="CANCELAR" fieldset form En mi pgina lleva sus signos correspondientes pero no las puse aqu porque no me las aceptaba para poner el mensaje Luego est mi servlet lo cual adapt de otra forma tal vez podras ayudarme a decirme que est mal o como se podra adaptar a la forma como tu lo haces: package Servlet; import net.sf.jasperreports.engine.*; import java.util.*; import java.io.*; import ConexionBD.*; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { File reportFile = new File(getServletContext().getRealPath("repfolio6.jasper")); Map parameters = new HashMap(); parameters.put("Folio", request.getParameter("Folio")); try { Conexion conn=new Conexion(); byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, conn.getConexion()); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); } catch (Exception e) { e.printStackTrace(); } } Por ltimo esta es mi conexin la cual tambin est en otro paquete: package ConexionBD; import java.sql.*; public class Conexion { public Connection getConexion(){ Connection c=null; try{ Class.forName("com.mysql.jdbc.Driver"); c=DriverManager.getConnection("jdbc:mysql://localhost:3306/viaticosver2","root","u nitec"); } catch(Exception e){ e.printStackTrace(); } return c; } } Y esque lo quera hacer como tu porque quiero que tenga las opciones de guardar y abrir para que se pueda guardar y abrir en formato de excel Te agradezco mucho tu ayuda anterior y esta

You might also like