necesito una ayuda

Post Reply
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

necesito una ayuda

Post by mastintin »

he realizado un reporte simple para ir cazando bugs ... una dbf con clientes , 2 areas , una de ellas titulo , otra que se repite para cada nombre de cliente.
¿ como se hace para que el reporte cree mas de una hoja ? , esiste algo que tengo que cliquear o es un bug ?
Saludos a todos.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: necesito una ayuda

Post by Antonio Linares »

Manuel,

Si se trata de un reporte estandard de FWH, lo más sencillo es que construyas samples\FiveDBU.prg y que abras una DBF y la imprimas.

Aqui tienes el FiveDBU ya construido:
https://bitbucket.org/fivetech/fivewin- ... 140730.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: necesito una ayuda

Post by mastintin »

Me explicado mal , yo creo el informe con easyreport y le doy a imprimir , y me sale solo una hoja ... ¿ que tengo que hacer ahora ? , se que me tienen que salir un monton de hojas ( por lo menos 5 ) , pero solo imprime una con 5 clientes ( la dbf tiene por lo menos 200 )

-------------- editado ------------------------
Me respondo en parte ... colocando en el codigo LAutobreak := .t. ya me salen multiples paginas . Ahora , ¿ donde podemos asignar si el reporte es autobreak ?
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: necesito una ayuda

Post by lucasdebeltran »

Manuel,

Cuando en el código se van asignando los ITEMIDS e ITEMVALUES, el flujo se controla así:

//Nueva Página
IF oVRD:nNextRow > oVRD:nPageBreak

PAGEBREAK oVRD

PRINTAREA 1 OF oVRD ;
ITEMIDS { 500,501 ,;....

ENDIF


Y un simple report:

Code: Select all

// EasyReport: Simple report

FUNCTION PrintReport( lPreview )

   LOCAL oVRD, oItem, nOldCol

   DEFAULT lPreview := .T.


   //Open report
   oVRD := VRD():New( ".\examples\EasyReportExample3.vrd", lPreview,, oWnd, ;
                      ,,,,, IIF( lPreview, .F., .T. ) )

   IF oVRD:lDialogCancel = .T.
      RETURN( .F. )
   ENDIF

   USE .\EXAMPLES\EXAMPLE3

   oVRD:AreaStart( 1 )
   oVRD:PrintArea( 1 )

   DO WHILE .NOT. EOF()

      //Change item color
      oItem := VRDItem():New( NIL, oVRD, 2, 110 )
      nOldCol        := oItem:nColFill
      oItem:nColFill := 1
      oItem:Set()

      oVRD:AreaStart( 2 )
      oVRD:PrintArea( 2 )

      //Set old item color
      oItem:nColFill := nOldCol
      oItem:Set()

      EXAMPLE3->(DBSKIP())

      //New Page
      IF oVRD:nNextRow > oVRD:nPageBreak

         oVRD:PageBreak()

         //Print header
         oVRD:AreaStart( 1 )
         oVRD:PrintArea( 1 )

      ENDIF

   ENDDO

   //Print footer
   oVRD:AreaStart( 3 )
   oVRD:PrintArea( 3 )

   EXAMPLE3->(DBCLOSEAREA())

   //End the printout
   oVRD:End()

RETURN (.T.)
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: necesito una ayuda

Post by mastintin »

Lucas , entiendo entonces que desde el diseñador no podremos previsualizar un reporte completamente terminado según está pues le faltan opciones de configuración que tendremos que colocar en nuestro programa "a mano " .
Gracias por la ayuda.
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: necesito una ayuda

Post by cnavarro »

Manuel, prueba lo siguiente
Una vez hayas creado el area y definido _, sitúa el mouse sobre la cabecera del área y pulsa boton derecho
Selecciona: Area properties ( o en lugar de estos dos pasos pulsa Ctrl+A)
En el diálogo de propiedades del area, en la opcion: Print area for each record of:
Selecciona la base de datos a la que pertenece el registro _ tienes definidos en esa area
Et voilà
Imprime todos los registros
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: necesito una ayuda

Post by mastintin »

cnavarro wrote:Manuel, prueba lo siguiente
Una vez hayas creado el area y definido _, sitúa el mouse sobre la cabecera del área y pulsa boton derecho
Selecciona: Area properties ( o en lugar de estos dos pasos pulsa Ctrl+A)
En el diálogo de propiedades del area, en la opcion: Print area for each record of:
Selecciona la base de datos a la que pertenece el registro _ tienes definidos en esa area
Et voilà
Imprime todos los registros
Efectivamante así lo estaba haciendo pero previo he tenido que poner el lautobreak a .T. .
Otra... el area de titulo quiero que aparezca en cada una de las hojas , puedo escoger entre que aparezca después del break y entonces aparece en todas menos en la primera pagina o que aparezca en la primera pagina y entonces no aparece en las demás ....
Post Reply