Hola tengo un cliente que esta empe帽ado en que el footer del reporte ponga "Pagina 1 de X", yo actualmente tengo puesto : FOOTER OemtoAnsi("Pagina: ")+str(oReport:nPage,3) CENTERED
Alguien podria indicarme como ponerlo.
Gracias.
Hola tengo un cliente que esta empe帽ado en que el footer del reporte ponga "Pagina 1 de X", yo actualmente tengo puesto : FOOTER OemtoAnsi("Pagina: ")+str(oReport:nPage,3) CENTERED
Alguien podria indicarme como ponerlo.
Gracias.
Garbi,
prueba asi:
msginfo(LEN(oReport:oDevice:aMeta))
saludos
paco
Hola,
el Report nunca sabe cuantas p谩ginas generar谩 hasta que las genere, puede que calcules antes en funci贸n de la informaci贸n, pero a煤n as铆 en funci贸n de la resoluci贸n de la impresora no sabr谩s cuantas p谩ginas tendr谩s al final.
La soluci贸n es que abras una a una las p谩ginas generadas ( EMF ) y all铆 pongas (..say ) la informaci贸n que necesitas, ya que al final sabes cuantas p谩ginas se generaron
saludos
Marcelo
Tras las pruebas hechas,
Con : LEN(oReport:oDevice:aMeta) , no se si la pongo donde toca pero me sale pagina 1 de 1, pagina 2 de 2 as铆 hasta el final, pero no pagina 1 de 12
La pongo en : FOOTER OemtoAnsi("Pagina: ")+str(oReport:nPage,3)+" de "+ STR(LEN(oReport:oDevice:aMeta),3) CENTERED
Y la otra opci贸n no tengo ni idea de como implementarla. Alg煤n ejemplo.
Este tema a sido el coco para muchos de nosotros
aMeta, conforme va generando la pagina va incrementando el valor del array, asi que no vale si no hasta el final que termina de generar.
solucion no muy ortodoxa es contar cuantos registros caben en una pagina y hacer un recCount(), lastRec() y dividirlo entre la cantidad e irlas escribiendo en cada pagina
RecCount() / nRegistrosPorPagina
Saludos,
Mauricio
Saludos amigos del foro:
Alguien pudo resolver o hacer algo en este tema??
De antemano, gracias por la ayuda.
Atentamente,
Rolando
Cochabamba, Bolivia
Hay unas clases desarrolladas por thefull que tienen esa opci贸n.
Saludos
NumeraPag(::oDevice,1,1)Static Function NumeraPag(oPrn,nRowStep,nColStep)
Local x
Local nPaginas := Len( oPrn:aMeta )
Local aFicheros := oPrn:aMeta
Local nCol := 70*nColStep //colocalo donde prefieras
Local nLin := 64*nRowStep // ""
if nPaginas <= 1 // Solamente una pagina
Return Nil
endif
oPrn:aMeta := {}
FOR x := 1 TO nPaginas
//PAGE
oPrn:startpage()
oPrn:ImportWMF( aFicheros[ x ], .F. )
oPrn:Say( nLin,nCol, +Alltrim( Str( x ) ) +"/" + Alltrim( Str( nPaginas ) ) ,,,,,1 )
oPrn:endPage()
//ENDPAGE
NEXT
Return NIlMarcelo:
Gracias por responder
Yo tb habia pensado en algo asi, gracias por la solucion
Atentamente,
Rolando
if lPageCount .AND. ::oPrn:lMeta // Quiero poner contador de paginas y los tengo creados
::PageCount()
endifRolando,
entonces no quedar'ia mas opci'on que realizar doble pasada cuando la impresi'on es directa.
Sabes esto lo hice en 2009 junto con el preview en miniaturas, y ahora ya no utilizo tReport, quien sabe debemos poner trabajo en Ease Report
Saludos
Marcelo V'ia