PDA

Ver la Versión Completa : Mandar a imprimir despues q se muestre el qreport


ingabraham
29-11-2007, 21:01:18
Discupen la preguntadera, es q no manejo mucho los qreport

Como mando a imprimir despues q se muestre el qreport , el print

donde lo coloco. en q evento, despues q me muestre el reporte, mandarlo a imprimir

espero q me entiendan

enecumene
29-11-2007, 21:07:52
Hola, se refieres en el momento de previsualizar el reporte o al salir del reporte?, bueno si es en el momento de la previsualizacion lo puedes poner en el evento OnPreview del reporte.

Saludos.

ingabraham
29-11-2007, 21:11:20
Hola, se refieres en el momento de previsualizar el reporte o al salir del reporte?, bueno si es en el momento de la previsualizacion lo puedes poner en el evento OnPreview del reporte.

Saludos.
y al salir del reporte?

enecumene
29-11-2007, 21:14:54
Hola, en realidad no se que estas tratando de hacer, pero en los QuickReports al momento de previsualizar tienes su icono de impresora, entonces eso seria algo ilogico teniendo eso ahi, ahora como no has dado detalles me estoy imaginando que estas usanso el componente QrPreview, no? pues si es asi entonces en el evento ONClose del form donde esta el QrPreview pones el Print.

Saludos.

ingabraham
29-11-2007, 21:20:50
Hola, en realidad no se que estas tratando de hacer, pero en los QuickReports al momento de previsualizar tienes su icono de impresora, entonces eso seria algo ilogico teniendo eso ahi, ahora como no has dado detalles me estoy imaginando que estas usanso el componente QrPreview, no? pues si es asi entonces en el evento ONClose del form donde esta el QrPreview pones el Print.

Saludos.
Bueno compañero gracias a tu atencion.
utilizo un simple QuickRep1

Mira lo q pasa es q tengo un codigo en el qrgroup para mostrar los datos de 4 en 4.
entonces necesito que despues q se genere el preview me imprima,
ya q no me quiere imprimir lo que quiero q salga en el qreport,

por eso es q quiero q me muestre el qreport y luego lo imprima, para q se cumpla el codigo del qrgroup.

espero q me entiendas a un qsea un poco.

enecumene
29-11-2007, 21:25:50
Bueno entonces intentalo de dos formas:

1. En el Evento OnPreview como te habia mencionado anteriormente.
2. O en el Evento OnClose del form donde esta el QuickReport.

Saludos.

ingabraham
29-11-2007, 21:33:58
Bueno entonces intentalo de dos formas:

1. En el Evento OnPreview como te habia mencionado anteriormente.
2. O en el Evento OnClose del form donde esta el QuickReport.

Saludos.
bueno el onclose del form, lo coloq y no me manda a imprimir
y el onpreview como hago para q me muestre y a la vez me lo imprima

y disculpa la insistencia

enecumene
29-11-2007, 21:39:09
De la misma manera que en el OnClose del form:

With QuickRep1 do
Begin
Print;
End;

Saludos.

egostar
29-11-2007, 21:40:11
bueno el onclose del form, lo coloq y no me manda a imprimir
y el onpreview como hago para q me muestre y a la vez me lo imprima

y disculpa la insistencia

Asi a bote pronto, me parece que mas bien es un problema de concepto, QReport tiene propiedades una Print y otra Preview, tu piensas mostrar y luego imprimir, porque no al contrario.


Qreport.Print;
QReport.Preview;


Son tan rapidos los procesos que te manda la impresión y luego te lo muestra y ya no tienes que esperar a cerrar el preview para que se imprima.

Digo, asi lo he soñado. :D

Salud OS.

enecumene
29-11-2007, 21:43:21
Tambien Lo que comenta el Amigo Egostar es muy buena opcion intentalo luego nos comentas.

Saludos.

ingabraham
29-11-2007, 21:51:00
Compañeros mi programa es de Nomina

procedure TForm29.QRGroup1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin

if (NHOJAS mod 4=0 )Then
begin
Form29.QRGroup1.ForceNewColumn:=True; //NUEVA HOJA -SALTAR
Form29.QRGroup1.ForceNewpage := True;
end
else
begin
Form29.QRGroup1.ForceNewColumn:=false; //COLILLAS UNIDAS
Form29.QRGroup1.ForceNewpage:=false;
end;
NHOJAS:=NHOJAS+1;
End;


pero al momento de imprimir, no se me cumple esta condicion, se imprime otra cosa, por eso quiero q se genere el reporte y luego se imprima

Caral
29-11-2007, 22:01:56
Hola
Lo normal

try
QRepor:=TQRepor.Create(self);
QRepor.Preview;
finally
QRepor.Free;
end;
Saludos

ingabraham
29-11-2007, 22:16:23
bUENO
ASI- asi si me funciona

Form29.QuickRep1.Preview;
Form29.QuickRep1.print;
ME SIRVE,
PERO QUIERO Q ME MUESTRE Y ME IMPRIMA,

ESTO LO Q HACE ES MOSTRAR Y CUANDO SALE IMPRIME

Caral
29-11-2007, 22:29:14
Hola
No entiendo
Cuando se llama al preview, este permite entre otras cosas, buscar la impresora y por supuesto imprimir.
Si se llama directo a Print, pues se imprime.
No se como hacer que se presente y se imprima, tal vez lo que propuso Egostar seria la forma, no se.
Saludos

ingabraham
29-11-2007, 22:30:43
Hola
No entiendo
Cuando se llama al preview, este permite entre otras cosas, buscar la impresora y por supuesto imprimir.
Si se llama directo a Print, pues se imprime.
No se como hacer que se presente y se imprima, tal vez lo que propuso Egostar seria la forma, no se.
Saludos
Yo quiero q al momento q muestre se imprima

ContraVeneno
29-11-2007, 22:52:37
Mira lo q pasa es q tengo un codigo en el qrgroup para mostrar los datos de 4 en 4.
entonces necesito que despues q se genere el preview me imprima,
ya q no me quiere imprimir lo que quiero q salga en el qreport,

por eso es q quiero q me muestre el qreport y luego lo imprima, para q se cumpla el codigo del qrgroup.

Es mas bien hay un problema de concepto, como ya te dijeron.

Un QuickReport tiene la opción para imprimir o para visualizar, pero son cosas distintas. No tiene sentido hacer una y luego la otra. Si tu sistema requiere que algo se imprima, se utiliza el comando Print. Si la impresión es opcional al usuario, se utiliza el comando Preview. Ningún código o ninguna acción relacionada con el reporte, debería de ejectuarse al momento de utilizar print o preview, es decir, la instrucción Print o la instrucción Preview, debería ser la última acción.

Aquí el problema creo yo, es que en lugar de tener ese código en el evento BeforePrint de la banda TQRGroup, deberías tenerlo en el evento BeforePrint del Reporte mismo.

ingabraham
29-11-2007, 23:22:58
Es mas bien hay un problema de concepto, como ya te dijeron.

Un QuickReport tiene la opción para imprimir o para visualizar, pero son cosas distintas. No tiene sentido hacer una y luego la otra. Si tu sistema requiere que algo se imprima, se utiliza el comando Print. Si la impresión es opcional al usuario, se utiliza el comando Preview. Ningún código o ninguna acción relacionada con el reporte, debería de ejectuarse al momento de utilizar print o preview, es decir, la instrucción Print o la instrucción Preview, debería ser la última acción.

Aquí el problema creo yo, es que en lugar de tener ese código en el evento BeforePrint de la banda TQRGroup, deberías tenerlo en el evento BeforePrint del Reporte mismo.
Bueno, comprendo lo que dices
pero por q al momento de aplicar

Form29.QuickRep1.Preview;
Form29.QuickRep1.print;

o
Form29.QuickRep1.print;
Form29.QuickRep1.Preview;

me imprime de una manera diferente.

te recuerdo q tengo un codigo en el qrgroup para mostrar 4 registros por hoja y esto es lo q me causa esto
entonces
ami me sirve este:
Form29.QuickRep1.Preview;
Form29.QuickRep1.print;
para q ejecute lo q esta en el qrgroup y luego lo imrpima.
me hago entender, pero quiero q no tenga q cerrar el reporte para q empiece la impresion. q lo muestre y comience a imprimir

ContraVeneno
29-11-2007, 23:31:42
lo que necesitas es preparar el reporte... consulta sobre la función "Prepare" de quickreports