Pregunta para Bingen sobre FastReport y los Group...
Publicado: Vie Abr 16, 2010 6:15 pm
Si me permitís Bingen te hago una pregunta sobre FastReport con Xailer,
el tema es cuando hay grupos, para listados sencillos salen perfectamente.
Basicamente para largar un listado de las tarjetas de credito y sus planes
hicimos lo siguiente
local planesDS := TOdbcDataSet()
planesDS:Close()
/* Este método QU() es nuestro ya que hemos agregado una capa mas para el
manejo particular del query()que nos brinda xailer, internamente QU() atrapa
los errores, no hace muchas cosas mas.*/
planesDS := AppData:oSql:QU("SELECT t.idtarjeta as id, t.descripcion as
tarjeta,"+;
"t.codigo as cod_tarjeta,et.descripcion as
estado_tarjeta, "+;
"p.descripcion as plan, p.cantidadcuotas as
cuotas, "+;
"ep.descripcion as estado_plan "+;
"from tarjetas t "+;
"LEFT JOIN tarjetasplanes p ON p.idtarjeta =
t.idtarjeta "+;
"LEFT JOIN estadotarjetas et ON
t.idestadotarjeta = et.idestadotarjeta "+;
"LEFT JOIN estadotarjetas ep ON
p.idestadotarjeta = ep.idestadotarjeta "+;
"ORDER BY id")
planesDS:Open()
SetXailerDataSet( AppData:oFrPrn, "tarjetasplanes" , planesDS )
AppData:oFrPrn:SetWorkArea("tarjetasplanes",1, .t.)
AppData:oFrPrn:LoadFromFile("Reportesreporte_tarjetas.fr3")
IF lDisenar
AppData:oFrPrn:DesignReport()
ELSE
AppData:oFrPrn:ShowReport()
ENDIF
creamos un objeto todbcdataset para recuperar ciertos registros de la base
de datos, y luego se lo pasamos al fastreport y lanzamos el reporte y
resulta que los grupos se arman mal es como que no se da cuenta de que debe
cortar por cada cambio de ID y corta por cualquier cosa.
Pregunta, será que no les gustan los odbcdataset (aunque son casi dbf) o
será que hay que tener algo en cuenta al armar los grupos y los master data
dentro de fastreport que no sale o no vimos en la ayuda.
No usamos ADO, usamos Postgres con ODBC.
Muchas gracias.
el tema es cuando hay grupos, para listados sencillos salen perfectamente.
Basicamente para largar un listado de las tarjetas de credito y sus planes
hicimos lo siguiente
local planesDS := TOdbcDataSet()
planesDS:Close()
/* Este método QU() es nuestro ya que hemos agregado una capa mas para el
manejo particular del query()que nos brinda xailer, internamente QU() atrapa
los errores, no hace muchas cosas mas.*/
planesDS := AppData:oSql:QU("SELECT t.idtarjeta as id, t.descripcion as
tarjeta,"+;
"t.codigo as cod_tarjeta,et.descripcion as
estado_tarjeta, "+;
"p.descripcion as plan, p.cantidadcuotas as
cuotas, "+;
"ep.descripcion as estado_plan "+;
"from tarjetas t "+;
"LEFT JOIN tarjetasplanes p ON p.idtarjeta =
t.idtarjeta "+;
"LEFT JOIN estadotarjetas et ON
t.idestadotarjeta = et.idestadotarjeta "+;
"LEFT JOIN estadotarjetas ep ON
p.idestadotarjeta = ep.idestadotarjeta "+;
"ORDER BY id")
planesDS:Open()
SetXailerDataSet( AppData:oFrPrn, "tarjetasplanes" , planesDS )
AppData:oFrPrn:SetWorkArea("tarjetasplanes",1, .t.)
AppData:oFrPrn:LoadFromFile("Reportesreporte_tarjetas.fr3")
IF lDisenar
AppData:oFrPrn:DesignReport()
ELSE
AppData:oFrPrn:ShowReport()
ENDIF
creamos un objeto todbcdataset para recuperar ciertos registros de la base
de datos, y luego se lo pasamos al fastreport y lanzamos el reporte y
resulta que los grupos se arman mal es como que no se da cuenta de que debe
cortar por cada cambio de ID y corta por cualquier cosa.
Pregunta, será que no les gustan los odbcdataset (aunque son casi dbf) o
será que hay que tener algo en cuenta al armar los grupos y los master data
dentro de fastreport que no sale o no vimos en la ayuda.
No usamos ADO, usamos Postgres con ODBC.
Muchas gracias.