PDA

Ver la Versión Completa : Escribir 3 copias de una factura poniendo texto distinto en cada copia


pacope
22-01-2004, 22:01:45
Necesito imprimir con quickreport una factura, este report, lo configuro para que imprima un numero de copias determinado con el control informe.PrinterSettings.Copies = Numerocopias, pero quiero que en la 1ª copia ponga COPIA PARA CLIENTE, en la segunda COPIA PARA ALMACEN y en la tercera COPIA PARA CONTABILIDAD.
Como puedo hacer esto?

marcoszorrilla
22-01-2004, 23:06:32
Yo utilizaría una variable de tipo público por ejemplo una de tipo entero:
1.- Copia para el Cliente
2.- Copia para el almacén
3.- Copia para la contabilidad.

luego llamaría 3 veces a QuicReport, de esto el usuario ni se entera,pasándole dicha variable con los número 1,2,3

Pones una etiqueta "QrLabel", en donde quieras que aparezca el mensaje y en el evento BeforePrint, colocas una estructura Case

Case MiVar of
1:QrLabel1.Caption:='Para el almacén',
......bla,bla
end


Un saludo.

__cadetill
22-01-2004, 23:35:11
Lo que no he probado nunca (no se si tú, Marcos, lo has hecho) es decirle al report que haga 3 copias (no enviandolo 3 veces a imprimir, sino mediante la propiedad Copies del PrinterSettigs) y controlar el evento BeforePrint haciendo lo que propones.

Tendría que funcionar, no?

marcoszorrilla
22-01-2004, 23:37:29
Habrá que hacer la prueba, aunque lógicamente 3 copias me da al impresión , valga la redundancia, que serán iguales.

Ya veremos.

marcoszorrilla
22-01-2004, 23:49:49
Yo utilizo a veces la opcion:

Quickrep1.PrinterSettings.Copies:=2;
quickrep1.Preview;


Pero Copies es una variable de tipo entero, que contiene el número de copias que se van a realizar, como sabemos si está haciendo la primera copia o la segunda?

Son las 23h54 y como dicen en Francia "la langue au chat"

Un Saludo.

SnaKe
26-01-2004, 08:42:47
Bueno, pues me da que eso va a ser un pelin complicado por no decir imposible... no se, igual tirando de api... pero aún así me da la impresión de que es imposible, lo digo porque cuando se le da desde el cuadro de dialogo de impresión a imprimir 2 o x copias (que es lo mismo que poner QuickRep1.PrinterSettings.Copies := x; y luego llamar a Print) perdemos el control ya que el documento se mete en la cola de impresión como un único documento, se debe indicar a la impresora de que son dos copias y es la propia impresora la que lo hace... no tengo muy claro eso pero me da la impresión de que si no se le da dos veces a imprimir (tras dos previsualizaciones o dos QuickRep1.Print) con las opciones de copias en el cuadro de dialogo de impresión no se puede conseguir.

Un saludo.