necesito una ayuda

necesito una ayuda

Postby mastintin » Tue Aug 26, 2014 8:16 am

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
mastintin
 
Posts: 1432
Joined: Thu May 27, 2010 2:06 pm

Re: necesito una ayuda

Postby Antonio Linares » Tue Aug 26, 2014 8:52 am

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-contributions/downloads/fivedbu_20140730.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 35140
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: necesito una ayuda

Postby mastintin » Tue Aug 26, 2014 9:02 am

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
mastintin
 
Posts: 1432
Joined: Thu May 27, 2010 2:06 pm

Re: necesito una ayuda

Postby lucasdebeltran » Tue Aug 26, 2014 12:00 pm

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  Expand view

// 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
lucasdebeltran
 
Posts: 1294
Joined: Tue Jul 21, 2009 8:12 am

Re: necesito una ayuda

Postby mastintin » Tue Aug 26, 2014 3:24 pm

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
mastintin
 
Posts: 1432
Joined: Thu May 27, 2010 2:06 pm

Re: necesito una ayuda

Postby cnavarro » Tue Aug 26, 2014 9:23 pm

Manuel, prueba lo siguiente
Una vez hayas creado el area y definido los campos, 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 cuyos campos tienes definidos en esa area
Et voilà
Imprime todos los registros
Muchas gracias. Many thanks.
Saludos,Regards

Cristobal Navarro - Harbour (r1601050904) - xHarbour (Build 20150603) - VS 2013/15/17 - FWH 17.11

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
User avatar
cnavarro
 
Posts: 3788
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: necesito una ayuda

Postby mastintin » Wed Aug 27, 2014 5:48 am

cnavarro wrote:Manuel, prueba lo siguiente
Una vez hayas creado el area y definido los campos, 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 cuyos campos 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 ....
User avatar
mastintin
 
Posts: 1432
Joined: Thu May 27, 2010 2:06 pm


Return to EasyReport, EasyDialog y EasyPreview

Who is online

Users browsing this forum: No registered users and 1 guest