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.
necesito una ayuda
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: necesito una ayuda
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
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
Re: necesito una ayuda
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 ?
-------------- 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 ?
- lucasdebeltran
- Posts: 1303
- Joined: Tue Jul 21, 2009 8:12 am
- Contact:
Re: necesito una ayuda
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:
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.
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.
Re: necesito una ayuda
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.
Gracias por la ayuda.
Re: necesito una ayuda
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
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.
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.
Re: necesito una ayuda
Efectivamante así lo estaba haciendo pero previo he tenido que poner el lautobreak a .T. .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
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 ....