Titulo del Report en cada grupo

Titulo del Report en cada grupo

Postby FranciscoA » Mon Mar 06, 2023 4:50 pm

Saludos.
Eso... ¿Cómo se hace para poner el Titulo del Reporte también como encabezado para cada grupo?
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Titulo del Report en cada grupo

Postby cmsoft » Tue Mar 07, 2023 2:11 pm

Francisco:
Si solo necesitas una linea de texto, puedes usar el HEADER del grupo
Si necesitas más datos, puedes hacerlo en forma manual, llamando a una funcion que lo haga en ON STARTGROUP
Ejemplo 1:
Code: Select all  Expand view  RUN

REPORT oRep TITLE "Articulos comprados por fecha del " + ;
                  DTOC(mdesde) + " al " + DTOC(mhasta) ;
       FONT  oFont1,oFont2,oFont3 HEADER oApp:nomb_emp , ;
       "Articulos comprados por fecha" CENTER ;
       FOOTER "Hoja:" + STR(oRep:npage,3) ,"Fecha:"+DTOC(DATE()) CENTER;
       PREVIEW CAPTION  "Articulos comprados por fecha"
GROUP oGru ON oQry:Rubro HEADER oQry:rubro FOOTER "Totales Rubro"  FONT 3      
   COLUMN TITLE "Nro.Fact." DATA oQry:numfac   SIZE 15 FONT 1
   COLUMN TITLE "Fecha"     DATA oQry:fecha    PICTURE "@D"   SIZE 10 FONT 1  
COLUMN TITLE "Cantidad"  DATA oQry:cantidad PICTURE "999999999" ;
                            SIZE 10 FONT 2 TOTAL
COLUMN TITLE "Importe"   DATA oQry:precio ;
                         PICTURE "9999999999.99" SIZE 12 FONT 2 TOTAL

oRep:oTitle:aFont[1] := {|| 3 }
oRep:bInit := {|| oQry:GoTop() }
oRep:bSkip := {|| oQry:Skip() }
END REPORT
// Activo el reporte
ACTIVATE REPORT oRep WHILE !oQry:EOF() ON INIT CursorArrow();
                ON STARTPAGE oRep:SayBitmap(.1,.1,"LOGO.JPG",.3,.3);
                ON POSTGROUP oRep:NewLine()
 


Ejemplo 2 (Hay que mejorarlo, pero para ejemplo sirve):
Code: Select all  Expand view  RUN

REPORT oRep TITLE "Articulos comprados por fecha del " + ;
                  DTOC(mdesde) + " al " + DTOC(mhasta) ;
       FONT  oFont1,oFont2,oFont3 HEADER oApp:nomb_emp , ;
       "Articulos comprados por fecha" CENTER ;
       FOOTER "Hoja:" + STR(oRep:npage,3) ,"Fecha:"+DTOC(DATE()) CENTER;
       PREVIEW CAPTION  "Articulos comprados por fecha"
GROUP oGru ON oQry:Rubro HEADER oQry:rubro FOOTER "Totales Rubro"  FONT 3      


COLUMN TITLE "Articulo" DATA oQry:detart   SIZE 30 FONT 1
COLUMN TITLE "Codigo"   DATA oQry:codart   SIZE 06 FONT 1
COLUMN TITLE "Cantidad"  DATA oQry:cantidad PICTURE "999999999" ;
                            SIZE 10 FONT 2 TOTAL
COLUMN TITLE "Importe"   DATA oQry:precio ;
                         PICTURE "9999999999.99" SIZE 12 FONT 2 TOTAL

oRep:oTitle:aFont[1] := {|| 3 }
oRep:bInit := {|| oQry:GoTop() }
oRep:bSkip := {|| oQry:Skip() }
END REPORT
// Activo el reporte
ACTIVATE REPORT oRep WHILE !oQry:EOF() ON INIT CursorArrow();
                ON STARTGROUP ReplicaTitulo(oRep,mdesde,mhasta) ON STARTPAGE oRep:SayBitmap(.1,.1,"LOGO.JPG",.3,.3);
                ON POSTGROUP oRep:NewLine()
oQry:End()
RETURN

STATIC FUNCTION ReplicaTitulo(oRep,mdesde,mhasta)
oRep:NewLine()
oRep:TotalLine( RPT_DOUBLELINE )
oRep:Say(1,"Articulos comprados por fecha del " + ;
                  DTOC(mdesde) + " al " + DTOC(mhasta) ,2)
oRep:NewLine()
RETURN nil
 
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Titulo del Report en cada grupo

Postby FranciscoA » Tue Mar 07, 2023 3:30 pm

Cesar, gracias por responder.
Voy a probar con la segunda opción que es la que necesito.

Con GROUP ON... EJECT se puede pero salta a siguiente hoja por cada grupo, y lo que se quiere es que quepan al menos dos grupos en cada hoja, cuyos HEADERs sean iguales al REPORT TITLE .

Con TPRINTER hice algo similar en muchas ocasiones hace tiempo, pero quiero hacerlo con TREPORT.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 99 guests