Numero total paginas en report.

Numero total paginas en report.

Postby Garbi » Mon Nov 07, 2011 5:46 pm

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.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: Numero total paginas en report.

Postby Francisco Horta » Mon Nov 07, 2011 11:48 pm

Garbi,
prueba asi:
msginfo(LEN(oReport:oDevice:aMeta))
saludos
paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Numero total paginas en report.

Postby Marcelo Via Giglio » Tue Nov 08, 2011 1:11 am

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
Marcelo Via Giglio
 
Posts: 1071
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: Numero total paginas en report.

Postby Garbi » Tue Nov 08, 2011 6:31 pm

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.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: Numero total paginas en report.

Postby Mauricio » Tue Nov 08, 2011 7:01 pm

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
User avatar
Mauricio
 
Posts: 199
Joined: Thu Oct 06, 2005 9:07 pm
Location: San Diego, CA

Re: Numero total paginas en report.

Postby RSalazarU » Sat Jan 09, 2016 12:45 am

Saludos amigos del foro:

Alguien pudo resolver o hacer algo en este tema??

De antemano, gracias por la ayuda.


Atentamente,

Rolando
Cochabamba, Bolivia
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia

Re: Numero total paginas en report.

Postby horacio » Sat Jan 09, 2016 1:27 am

Hay unas clases desarrolladas por thefull que tienen esa opción.

Saludos
horacio
 
Posts: 1363
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Numero total paginas en report.

Postby Marcelo Via Giglio » Sat Jan 09, 2016 2:13 am

Holas,

una prueba que funciona es: en el m'etodo end() de la clase report, a~nadir la l'inea

Code: Select all  Expand view  RUN

   NumeraPag(::oDevice,1,1)
 


al final del m'etodo, y la funcion NumeraPag

Code: Select all  Expand view  RUN

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 NIl


Claro no es una soluci'on elegante, pero se puede hacer muchas cosa distintas para implementar la soluci'on

Saludos

Marcelo V'ia
Marcelo Via Giglio
 
Posts: 1071
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: Numero total paginas en report.

Postby RSalazarU » Sat Jan 09, 2016 12:23 pm

Marcelo:

Gracias por responder

Yo tb habia pensado en algo asi, gracias por la solucion


Atentamente,

Rolando
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia

Re: Numero total paginas en report.

Postby RSalazarU » Sun Jan 10, 2016 12:51 am

Marcelo:

la solucion sirve SOLO si haces PREVIEW.

Si mandas directo a la impresora no se crea oPrn:aMeta

Estuve revisando la clase TImprime.prg de TheFull y tiene el siguiente codigo:
Code: Select all  Expand view  RUN

       if lPageCount .AND. ::oPrn:lMeta    // Quiero poner contador de paginas y los tengo creados
          ::PageCount()
       endif
 


donde se puede ver que el numerador esta condicionado a ::oPrn:lMeta (Preview)


Saludos
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia

Re: Numero total paginas en report.

Postby Marcelo Via Giglio » Sun Jan 10, 2016 10:20 pm

Rolando,

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
Marcelo Via Giglio
 
Posts: 1071
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 112 guests