Desactivar Collate Copies de Crystal desde VB6
Publicado por Jose Diaz (4 intervenciones) el 01/11/2010 20:48:04
Saludos
No se si este problema lo haya tenido alguien y tenga su solucion
Tengo un programa hecho en VB6 y CrystalReport8.5
El problema esta en que mando un reporte directo a impresora (No visualizar por pantalla). La impresion es una "Guia", me explico mejor... la guia tiene un ancho de hoja carta vertical normal, pero un alto (donde 3 guias caben en una hoja tipo carta), para tenerse una idea. En una hoja tipo Carta caben 3 guias. (La Guia es un formato pequeno, como el ancho y alto de un Cheque).
El problema es que cuando mando a imprimir varias, lo que sucede es que se imprime la primera y me salta 2 guias e imprime la siguiente, me salta 2 guias e imprime la siguiente... y asi sucesivamente.
Como habia comentado que en una hoja Carta vertical (no horizontal) caben 3 guias, la impresora imprime 1 guia por hoja.
Esto llevaria a pensar, que la impresora esta configurada en hoja tipo carta, pero realmente por el Administrador de Impresiones de Windows XP, se ha creado un tipo de hoja con el Alto y Ancho de una Guia, pero la impresora sigue trabajando como si fuese tipo carta.
Este es el codigo desde VB6:
CrystalReport1.DataFiles(0) = App.Path & "\db\DGUIAS.mdb"
CrystalReport1.ReportFileName = App.Path & "\rpt\RepGuia.rpt"
CrystalReport1.RetrieveDataFiles
CrystalReport1.PrinterCollation = crptUncollated
CrystalReport1.Destination = crptToPrinter
CrystalReport1.PrintReportCrystalReport1.PrinterCollation = crptUncollated
Quiero comentar sobre esta linea: CrystalReport1.PrinterCollation = crptUncollated
Me fije que cuando carga la impresion en pantalla (ver el reporte desde el propio CrystalReport) al indicar Imprimir, veo que en la ventanita de Impresion de Crystal hay un Checkbox llamado "Collate copies" que siempre esta tildado. Si lo destildo y mando a imprimir, si me imprime una Guia seguida de otra en la misma Hoja.
Al ver esto, y ver que en las propiedades del objeto CrystalReport1 incrustado en mi ventana de VB6 se puede indicar un Uncollated, procedo a probar nuevamente imprimir, pero al parecer, esta propiedad solo sirve para mostrar destildada esa casilla por vista de reporte en pantalla. Porque por envio directo a impresora sin mostrar, como que no lo toma en cuenta. Y sigue saltandose 2 guias para imrpimirme siempre en la cabecera de cada hoja tipo Carta.
Se que el problema parece verse mucho apuntado a CrystalReport pero como yo dependo del codigo (que he expuesto) no se si exista alguna forma de tratar de forzar el destilde de este check desde el codigo de VB6 al momento de mandar directamente a imprimir el documento sin mostrar por pantalla.
Muchas gracias por cualquier informacion referente a este caso.
No se si este problema lo haya tenido alguien y tenga su solucion
Tengo un programa hecho en VB6 y CrystalReport8.5
El problema esta en que mando un reporte directo a impresora (No visualizar por pantalla). La impresion es una "Guia", me explico mejor... la guia tiene un ancho de hoja carta vertical normal, pero un alto (donde 3 guias caben en una hoja tipo carta), para tenerse una idea. En una hoja tipo Carta caben 3 guias. (La Guia es un formato pequeno, como el ancho y alto de un Cheque).
El problema es que cuando mando a imprimir varias, lo que sucede es que se imprime la primera y me salta 2 guias e imprime la siguiente, me salta 2 guias e imprime la siguiente... y asi sucesivamente.
Como habia comentado que en una hoja Carta vertical (no horizontal) caben 3 guias, la impresora imprime 1 guia por hoja.
Esto llevaria a pensar, que la impresora esta configurada en hoja tipo carta, pero realmente por el Administrador de Impresiones de Windows XP, se ha creado un tipo de hoja con el Alto y Ancho de una Guia, pero la impresora sigue trabajando como si fuese tipo carta.
Este es el codigo desde VB6:
CrystalReport1.DataFiles(0) = App.Path & "\db\DGUIAS.mdb"
CrystalReport1.ReportFileName = App.Path & "\rpt\RepGuia.rpt"
CrystalReport1.RetrieveDataFiles
CrystalReport1.PrinterCollation = crptUncollated
CrystalReport1.Destination = crptToPrinter
CrystalReport1.PrintReportCrystalReport1.PrinterCollation = crptUncollated
Quiero comentar sobre esta linea: CrystalReport1.PrinterCollation = crptUncollated
Me fije que cuando carga la impresion en pantalla (ver el reporte desde el propio CrystalReport) al indicar Imprimir, veo que en la ventanita de Impresion de Crystal hay un Checkbox llamado "Collate copies" que siempre esta tildado. Si lo destildo y mando a imprimir, si me imprime una Guia seguida de otra en la misma Hoja.
Al ver esto, y ver que en las propiedades del objeto CrystalReport1 incrustado en mi ventana de VB6 se puede indicar un Uncollated, procedo a probar nuevamente imprimir, pero al parecer, esta propiedad solo sirve para mostrar destildada esa casilla por vista de reporte en pantalla. Porque por envio directo a impresora sin mostrar, como que no lo toma en cuenta. Y sigue saltandose 2 guias para imrpimirme siempre en la cabecera de cada hoja tipo Carta.
Se que el problema parece verse mucho apuntado a CrystalReport pero como yo dependo del codigo (que he expuesto) no se si exista alguna forma de tratar de forzar el destilde de este check desde el codigo de VB6 al momento de mandar directamente a imprimir el documento sin mostrar por pantalla.
Muchas gracias por cualquier informacion referente a este caso.
Valora esta pregunta


0