Imprimir el numero de la copia de un informe

677 views
Skip to first unread message

Hernan

unread,
Sep 4, 2011, 10:10:24 PM9/4/11
to Comunidad de Visual Foxpro en Español
Hola a todos.

Tengo la siguiente situación:

en una aplicacion de vfp 6.0 de hace rato,
me han pedido que a la hora de imprimir un informe o factura (por lo
regular es una hoja) se hace click en el boton de imprimir y aparezca
las opciones de impresion: impresora, no de copias, etc., hasta aqui
todo bien, pero como haria para que en cada hoja aparezca el no de la
copia, es decir:

si mando a imprimir una factura y escojo no de copias= 3
la primera Hoja debera salir con una etiqueta que diga, 'Original', la
segunda 'Copia 1' y la tercera 'Copia 2'

Alguien sabe como hacer esto?, me imagino que debe ser algo sencillo
para ustedes.

de antemano agradezco su colaboracion.

Hernan Pad.

Walter R. Ojeda Valiente

unread,
Sep 4, 2011, 10:51:55 PM9/4/11
to publice...@googlegroups.com
Hola Hernán

Hay varias formas de conseguirlo, creo que la más sencilla es imprimir tres veces el mismo informe, algo como:

Private pcNombreInforme
Local lnI

For lnI = 1 to 3
  pcNombreInforme = icase(lnI = 1, "Original", lnI = 2, "Copia 1", "Copia 2")
  Report Form MiInforme
Next lnI

y por supuesto en MiInforme tienes un campo donde colocas el valor de la variable pcNombreInforme

Saludos.

Walter.

 

> Date: Sun, 4 Sep 2011 19:10:24 -0700
> Subject: [vfp] Imprimir el numero de la copia de un informe
> From: hern...@gmail.com
> To: publice...@googlegroups.com

HernanCano

unread,
Sep 5, 2011, 7:02:49 PM9/5/11
to Comunidad de Visual Foxpro en Español

Me adhiero a la propuesta de Walter.

On 4 sep, 21:51, "Walter R. Ojeda Valiente" <w...@hotmail.com> wrote:
> Hola Hernán
>
> Hay varias formas de conseguirlo, creo que la más sencilla es imprimir tres veces el mismo informe, algo como:
>
> Private pcNombreInforme
> Local lnI
>
> For lnI = 1 to 3
>   pcNombreInforme = icase(lnI = 1, "Original", lnI = 2, "Copia 1", "Copia 2")
>   Report Form MiInforme
> Next lnI
>
> y por supuesto en MiInforme tienes un campo donde colocas el valor de la variable pcNombreInforme
>
> Saludos.
>
> Walter.
>
>
>
>
>
>
>
> > Date: Sun, 4 Sep 2011 19:10:24 -0700
> > Subject: [vfp] Imprimir el numero de la copia de un informe
> > From: hernan...@gmail.com

extremo

unread,
Sep 6, 2011, 8:04:01 AM9/6/11
to Comunidad de Visual Foxpro en Español
la idea de Walter funciona pero que pasa si las copias son impresas
con la opcion Nº de copias del Prompt del comando Report?

Bendiciones
> > > Hernan Pad.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Cesar VfpImaging

unread,
Sep 6, 2011, 9:27:28 AM9/6/11
to publice...@googlegroups.com
Hola Extremo,
 
Aca te mando una idea:
 
Puedes crear una funccion, por ejemplo "nCopiasdelReporte" y la llamar el el "OnExit" del "Page footer", y cambiar el valor de tu variable.
 

 
2011/9/6 extremo <protech...@gmail.com>

Hernan Padilla

unread,
Sep 6, 2011, 10:16:14 AM9/6/11
to publice...@googlegroups.com
Gracias, a todos!
 
Probare sus ideas para ver cual me resulta mas favorable.

Hernan Pad.

extremo

unread,
Sep 6, 2011, 11:17:18 AM9/6/11
to Comunidad de Visual Foxpro en Español
Excelente Cesar

No lo he probado pero tiene sentido lo que dices, tiene casi un 100%
de posibilidad que funcione, es una muy buena idea y se ve muy solida.

Bendiciones

Walter R. Ojeda Valiente

unread,
Sep 6, 2011, 4:00:28 PM9/6/11
to publice...@googlegroups.com
Para ese caso hay otra solución:

- Tener una variable dentro del informe que haga lo mismo que mostré anteriormente con la función ICASE(), pero usando la variable del sistema _pcopies.

Saludos.

Walter.



> Date: Tue, 6 Sep 2011 05:04:01 -0700
> Subject: [vfp] Re: Imprimir el numero de la copia de un informe
> From: protech...@gmail.com
> To: publice...@googlegroups.com

Hernan Padilla

unread,
Sep 6, 2011, 5:08:49 PM9/6/11
to publice...@googlegroups.com
la variable _pcopies ya la utilice pero no me funciono.

en el pie de pagina tengo un campo que contiene lo siguiente:

iif(_pcopies=1,'Original',iif(_pcopies=2,'Copia 1','Copia2'))

y nada, siempre me sale original en todas.

extremo

unread,
Sep 6, 2011, 5:24:20 PM9/6/11
to Comunidad de Visual Foxpro en Español
Hernan

Probaste la soluciòn de Cesar Chalon?

Te la copio para que la leas:

Puedes crear una funccion, por ejemplo "nCopiasdelReporte" y llamarla
en
"OnExit" del "Page footer", e ir cambiando el valor de tu variable a
traves de tu funcion "nCopiasdelReporte".

Bendiciones

Hernan Padilla

unread,
Sep 6, 2011, 5:38:14 PM9/6/11
to publice...@googlegroups.com
bueno, si y no.

en el evento al salir agregue copias=copias+1
'copias' es la variable publica que maneja las copias (valga la redundancia) y nada.

y nada

Pregunta: la variable debe ser una variable publica o del reporte? 



Hernan Padilla

unread,
Sep 6, 2011, 5:40:51 PM9/6/11
to publice...@googlegroups.com
otra cosa, alguien conoce una impresora virtual que acepte mas de 1 copias, porque haciendo estas pruebas yo creo que me tire un arbol 

Armando Rodríguez

unread,
Sep 6, 2011, 5:42:12 PM9/6/11
to publice...@googlegroups.com

FOR a = 1 TO thisform.spinner1.value

      IF a = 1

            pcletrero = "Original"

            REPORT FORM formatoped TO PRINTER noconsole

      ELSE

            pcletrero = "Copia"

            REPORT FORM formatoped TO PRINTER noconsole

      ENDIF

ENDFOR

 

pcLectreo es una variable pública

 

Saludos

Armando


Se certificó que el correo no contiene virus.
Comprobada por AVG - www.avg.es
Versión: 10.0.1392 / Base de datos de virus: 1520/3880 - Fecha de la versión: 06/09/2011

Hernan Padilla

unread,
Sep 7, 2011, 10:10:29 AM9/7/11
to publice...@googlegroups.com
Gracias armando, pero esta es la forma que quería evitar.

va tocar.



Reply all
Reply to author
Forward
0 new messages