Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas con Sub-Report en iReport 1.1.0

Estas en el tema de Problemas con Sub-Report en iReport 1.1.0 en el foro de Java en Foros del Web. Estimado foro, Estoy con un problema con iReport Vs. 1.1.0 Tengo un report Maestro, que es la lista de las cabeceras de asiento contable, éste ...
  #1 (permalink)  
Antiguo 09/02/2006, 08:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 8
Antigüedad: 18 años, 2 meses
Puntos: 0
Problemas con Sub-Report en iReport 1.1.0

Estimado foro,

Estoy con un problema con iReport Vs. 1.1.0

Tengo un report Maestro, que es la lista de las cabeceras de asiento contable, éste a su vez tiene un sub-Report del detalle de los asientos.

La clave primaria de mi tabla de ASIENTOS es: AÑO, MES, NUMERO DE ASIENTO.
La clave primaria de mi tabla de DETALLE_ASIENTOS es:
AÑO, MES, NUMERO DE ASIENTO, LINEA DE DETALLE

Mi report maestro se llama CABECERA_ASIENTO
Mi sub-report se llama DETALLE_ASIENTO.
Ambos en forma solitaria funcionan correctamente.
Le coloqué en el select de DETALLE_ASIENTO los parámetros AÑO, MES, NUMERO DE ASIENTO.
Seteé las propiedades del report CABECERA_ASIENTO en la pestaña SUBREPORT (OTHER) lo siguiente:
Image Expression Class = java.lang.string
Subreport Expression = "c:/Desarrollo/Aplicaciones/Eclipse/Contabilidad/Reportes/rpt_subdetalleasiento.jasper"
Subreport parameters =
AÑO = $F{AÑO}
MES = $F{MES}
NUMERO_ASIENTO = $F{NUMERO}

Al ejecutar, me muestra los datos del reporte maestro, pero no los del sub-report. Probé por todos lados, pero sigue sin funcionar.
Ya me leí todos los tutoriales de Sub-Report (frances,hawainos,etc.etc.). seguí correctamente todo pero no encuentro la solución.
Por favor si alguien tiene alguna idea de que podría ser, si por favor puede compartirlo conmigo.
Muchas gracias.
  #2 (permalink)  
Antiguo 09/02/2006, 15:57
 
Fecha de Ingreso: febrero-2006
Mensajes: 7
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola,

pues a simple vista, lo unico que se ve raro es que estas usando $F para obtener un parametro desde el reporte principal y deberia ser $P, pues es un parametro y no una funcion.

El subreporte si esta ejecutandose? sale algun dato de la cabecera o de alguna otra parte (para saber que solo es el query el que esta fallando)?

Yaddif
  #3 (permalink)  
Antiguo 10/02/2006, 06:24
 
Fecha de Ingreso: febrero-2006
Mensajes: 8
Antigüedad: 18 años, 2 meses
Puntos: 0
De acuerdo A simple vista no hay error

A simple vista, no me arroja ningún tipo de error.
a) El reporte maestro en forma separada funciona bien.
b) El sub-reporte tambien en forma separada funciona bien.

Entiendo que es algo que tiene que ver con el parámetro que recibe el sub-reporte, lo que creo es que vá vacío.
A ver si puedo tratar de entender:
a) En el reporte maestro por cada cabecera se leen los siguientes campos $F{ANHO}, $F{MES}, $F{NUMERO}.
b) En la definicion del sub-reporte se definen los parametros ANHO, MES, NUMERO que son llenados con las expresiones. Ej.:
ANHO = $F{ANHO} **este es el campo que es leído por cada cabecera.
Así está la definición.
Ahora, cuando ya están conectados el reporte y el sub-reporte, solamente me imprime el reporte maestro. ¿como será que puedo desplegar el valor del parámetro que se está enviando para saber si del reporte maestro vá bien los valores?. Luego veré como hago con el sub-reporte.
Por lo pronto ya solucioné mi problema efectuando una consulta SQL con varios join, luego hice un "corte de control" por grupo de atributos claves.
Desde ya muchas gracias.
  #4 (permalink)  
Antiguo 27/02/2006, 08:13
 
Fecha de Ingreso: febrero-2006
Mensajes: 4
Antigüedad: 18 años, 2 meses
Puntos: 0
problema de conexion

Me parece que lo que estás teniendo es un problema de conexión.

La conexión o el datasource según sea, no se establece en el jrxml ni en el jasper, se establece a la hora de rellenar el reporte.

Con el ireport lo establecemos de manera facil y podemos cambiarlas mediantes "Fuentes de datos>Conexiones/Fuentes de datos"

Esta conexión se establece mediante un parametro REPORT_CONNECTION que tienen todos los reportes y que puede ser de tipo Connection o Datasource.

Cuando creamos un subreporte, lo más normal es pasarle la misma conexión que la empleada para rellenar el reporte maestro.

Esto es muy sencillo, solo hay que ir a las propiedades del subreporte y en la pestaña Subreport, le indicamos "Use connection expression" (por lo menos en mi caso que le paso la conexión).

De esta manera se rellenara como:
$P{REPORT_CONNECTION}

Es decir le pasará al subreporte el parametro REPORT_CONNECTION que recibe el parametro maestro.

Este REPORT_CONNECTION se rellenará mediante la conexión que tengamos seleccionada cuando pulsemos el boton de "Report using a connection" (el boton verde con base de datos).

A la hora de que funcione en la aplicacion deberemos pasarle la conexión de igual modo que la configuramos en el iReport, ya que no se guardan datos de la conexión en el jrxml, ni en el jasper. La conexión es un dato que se establece en el momento de rellenado del reporte nada más.


Espero te sirva de ayuda. ;) un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:05.