Informe Múltiple

Necesito de tu experiencia para resolver una duda. Ahí va eso:
Uilizo un informe de Crystal Reports 8 para mostrar los datos de un cliente como si fuese una factura y va muy bien, y si quiero sacar los datos de varios clientes saco hago un bucle desde Visual Basic y cambio la Sentencia SQL y me saca los informes que necesito por cada cliente. Hasta ahí todo Bien pero a la hora de imprimir hay que esperar a que se genere cada informe y se imprima, entonces...
¿Es posible crear un informe que recoja a su vez todos los informes de los clientes y se impriman todos a la vez de un plumazo manteniendo el formato(Tipo factura) que les he dado?
Esto me ahorraría bastante tiempo esperando delante de la impresora...
¿Cómo lo hago?

1 respuesta

Respuesta
1
Sí es posible y es una buena idea que sin duda mejorará el rendimiento de impresión de tu aplicación.
Lo que tienes que hacer es modificar el report y meterle un grupo por factura. Este grupo tiene que ser el más externo (Encabezado de grupo #1).
En el pie del grupo tienes que ponerle que salte después: "Nueva página después=True".
Si tenías totales en el pie de página/pie de informe, estos tendrán que pasar al pie del grupo #1, y si quieres que se impriman al final de la página puedes activar la opción "Imprimir al final de la página=True" del pie de grupo #1.
Para imprimir una factura concreta me imagino que le estás enviando una selection fórmula. Para imprimir varias mándale los números de todas las que quieres imprimir.
.SelectionFormula = "{facturas.nfactura}=1 OR {facturas.nfactura}=2 OR {facturas.nfactura}=5 OR{facturas.nfactura}=23 etc, etc, etc."
Si la selection fórmula va a ser muy grande puedes buscar alguna forma de realizar un filtro más inteligente aprovechando las características de la aplicación que yo desconozco, pero te doy algunos ejemplos:
1. Si la aplicación es monousuario y tienes un campo "impreso" puedes filtrar por este campo: "{facturas.impreso} = 1"
2. También puedes ir generando una tabla que contenga el puesto (nombre del pc) donde se genere la factura o el número de sesión (mis aplicaciones tienen un número que es único para cada sesión abierta), y los números de factura y después hacer un join con esta tabla y filtrar por el nombre del pc o la sesión. Si no tienes números de sesión los puedes generar creando algo así como lotes de impresión (cada vez que imprimas lo consideras un lote, lo vas a buscar a una tabla de contadores, y voila!).
Si no te quedó claro, dímelo y te explico mejor lo que haga falta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas