Page 1 of 1

Pregunta sobre GROUP ON

Posted: Thu Aug 26, 2010 9:24 pm
by ruben Dario
Es posible colocar el nombre del rompimiento antes y no despues

Code: Select all

   oPrn:SetPortrait() 
   oPrn:SetPage(1) 


    REPORT oReport ;
          TITLE  "REGISTRO DE TIPOS DE CONTROL",;
                 OemtoAnsi("");
          FONT   oFon1,;
                 oFon2,;
                 oFon3 ;
          PEN    oPen1,;
                 oPen2 ;
          HEADER  " Fecha : "+dtoc(date()),;
                  "Hora  : "+time(),;
                  "Pagina: "+strzero(oReport:nPage,3),;
                  memvar->X_TPAQU;
                  RIGHT ;
          FOOTER OemtoAnsi(memvar->X_SIGLA );//  CENTERED;
          PREVIEW  //TO DEVICE oPrn PREVIEW     //      TO FILE "d:\test.txt" TO
         COLUMN TITLE "Codigo" DATA oDatos:Fields("catval"):Value;
                FONT 1   //SHADOW GRID 1 hace la raya vertical
         COLUMN TITLE "Descripcion" DATA oDatos:Fields("nomb_val"):Value ;
                FONT 1  SIZE 30  //SHADOW grid  //coloca sombreado
         GROUP ON oDatos:Fields("refcat"):Value  HEADER "Referencia "+oDatos:Fields("refcat"):Value  

    END REPORT

     ACTIVATE REPORT oReport ON STARTPAGE StartPage(1,oReport) ON STARTLINE versombra(oReport); 
              ON STARTGROUP oReport:NewLine()  WHILE nLinea <= nHasta
 

Re: Pregunta sobre GROUP ON

Posted: Sat Aug 28, 2010 11:42 pm
by Ramon Paredes
Ruben Dario,

Puedes hacerlo perfectamente de la siguiente forma :

GROUP ON oDatos:Fields("refcat"):Value /// suspender esto HEADER "Referencia "+oDatos:Fields("refcat"):Value

ACTIVATE REPORT oReport ON STARTPAGE StartPage(1,oReport) ON STARTLINE versombra(oReport);
ON STARTGROUP(oReport:NewLine() WHILE nLinea <= nHasta,;
oReport:EndLine(),;
oReport:Say(0,"Referencia " +oDatos:Fields("refcat"):Value,3,,oReport:nRow),;
oReport:NewLine(),;
oReport:EndLine() ) ;


Saludos desde Managua, Nicaragua

Ramon Paredes

Re: Pregunta sobre GROUP ON

Posted: Wed Feb 23, 2011 12:10 pm
by jfafive
Hola,

Estoy intentando hacer un report con grupo.
Pero cuando genero, me sale una ventanita que dice 'Building Page: 1'
con un boton abajo que pone 'Preview'

Y se queda colgado.
Esto solo me ocurre cuando añado la clausula:

Code: Select all

....
GROUP ON oRsRpt:Fields( "dias" ):Value
....
 
¿Alguien sabe que puede ser? :?

Re: Pregunta sobre GROUP ON

Posted: Fri Mar 04, 2011 2:45 am
by Ramon Paredes
jfive,

puedes poner un poco mas de codigo para orientarnos y poder ayudarte ? , la clausula la pones antes del activate report ?

Saludos desde Managua, Nicaragua

Ramon Paredes

Re: Pregunta sobre GROUP ON

Posted: Fri Mar 04, 2011 10:30 am
by jfafive
Gracias por responder, Ramón.

Lo cierto es que no recuerdo bien como era el codigo.
Con la urgencia, al final hice el listado con TPrint, a la antigua usanza, y borré el codigo antiguo.

Pero creo recordar que era un simple report, como los que vienen en los ejemplos, usando GROUP.
La diferencia es que yo no trabajo con DBF, sino con ADO Recordset.

Este es el codigo:

Code: Select all


...
oRs:Open()

nFin := oRs:RecordCount
oRs:MoveFirst()

REPORT oRpt PREVIEW
   COLUMN TITLE "Parcela" ;
               DATA oRs:Fields( "dias" ):Value
                GROUP ON oRsRpt:Fields( "dias" ):Value

   COLUMN TITLE "Fecha Alta"   DATA oRs:Fields( "falta" ):Value
   COLUMN TITLE "Nombre"       DATA oRs:Fields( "nombre" ):Value
   COLUMN TITLE "Apellidos"    DATA oRs:Fields( "apellidos" ):Value
   COLUMN TITLE "Nacionalidad" DATA oRs:Fields( "nacionalidad" ):Value
END REPORT

if oRpt:lCreated

   oRpt:bSkip := { || ( nDesde++, oRs:MoveNext() ) }

endif

ACTIVATE REPORT oRpt WHILE nDesde <= nHasta

 
... así era si mal no recuerdo...
Gracias. :wink:

Re: Pregunta sobre GROUP ON

Posted: Tue Mar 08, 2011 4:48 pm
by Ramon Paredes
jfafive,

oRs:Open()

nFin := oRs:RecordCount
oRs:MoveFirst()

REPORT oRpt PREVIEW
COLUMN TITLE "Parcela" ;
DATA oRs:Fields( "dias" ):Value
// GROUP ON oRsRpt:Fields( "dias" ):Value // esto no deberia ir ahi

COLUMN TITLE "Fecha Alta" DATA oRs:Fields( "falta" ):Value
COLUMN TITLE "Nombre" DATA oRs:Fields( "nombre" ):Value
COLUMN TITLE "Apellidos" DATA oRs:Fields( "apellidos" ):Value
COLUMN TITLE "Nacionalidad" DATA oRs:Fields( "nacionalidad" ):Value

// Deberia ir aqui : GROUP ON oRsRpt:Fields( "dias" ):Value

END REPORT

if oRpt:lCreated

oRpt:bSkip := { || ( nDesde++, oRs:MoveNext() ) }

endif

ACTIVATE REPORT oRpt WHILE nDesde <= nHasta

o bien puedes hacerlo desde el ACTIVATE REPORT como te indique en el post anterior,

Saludos,

Desde Managua, Nicaragua
Ramon Paredes

Re: Pregunta sobre GROUP ON

Posted: Tue Mar 08, 2011 7:52 pm
by jfafive
Gracias Ramón,

Me servirá de mucha ayuda cuando tenga que hacer un report.
Saludos,

Javier.