Modelo de procesamiento de informes

Crystal Reports usa un método de tres pasadas para elaborar los informes. Una pasada es un proceso que usa Crystal Reports cada vez que se leen y se manipulan los datos. Dependiendo de la complejidad del informe, Crystal Reports puede hacer 1, 2 o 3 pasadas sobre los datos. Esta función permite complejas tareas de elaboración de informes y manipulación de fórmulas.

Pasada previa nº 1

Al observar una vista previa de un informe, los primeros elementos que se evalúan son las fórmulas "constantes". Las fórmulas constantes son aquellas que tienen un valor constante durante todo el informe. Es decir, no cambian de un registro a otro. Por ejemplo, 100* 30 sería una fórmula constante. Las fórmulas constantes se evalúan al comienzo del proceso de generación de impresión y no se vuelven a evaluar. Este proceso se conoce como "BeforeReadingRecords". Si ubicara un campo de fórmula constante (es decir, 100*30) en la sección Detalles, el resultado sería 3.000 para cada registro que se muestre.

Pasada nº 1

Después de que se haya producido el proceso "BeforeReadingRecords", Crystal Reports comienza a leer los registros de la base de datos. Durante el proceso de lectura de registros, ocurrirá lo siguiente:

  • Recuperación de registros. Donde la posible selección y ordenamiento de registros se transfieren a la base de datos en este paso.
  • Evaluación de fórmulas recurrentes. Estas fórmulas contienen campos de base de datos, pero no contienen referencias a subtotales o información de resumen. Este tiempo de evaluación se conoce como "WhileReadingRecords". Las fórmulas que contienen referencias a subtotales o información de resumen se procesan en la segunda pasada.
  • Aplicación local de la selección de registros. Si la selección de registros es demasiado compleja para transferirla a la base de datos, Crystal Reports se encarga de aplicarla en este paso.
  • Ordenamiento, agrupamiento y cálculo de totales. En este paso, Crystal Reports ordena los registros, los separa en grupos y luego calcula los subtotales y resúmenes necesarios para cada grupo.
  • Generación de tablas cruzadas.
  • Almacenamiento de datos guardados. Después de terminar el proceso de cálculo de totales, todos los registros y totales se almacenan en la memoria y en archivos temporales. Crystal Reports no lee la base de datos nuevamente, sino que utiliza los datos guardados durante todo el procesamiento posterior.

Pasada previa nº 2

Durante la Pasada previa nº 2, Crystal Reports ordena los grupos del informe para lograr un agrupamiento jerárquico o N superiores/inferiores. Los registros no se leen en este proceso, en cambio Crystal Reports sólo ve las instancias de grupo de la Pasada 1 y toma los N superiores como apropiados, o bien ordena los grupos según la configuración especificada de agrupamiento jerárquico.

Pasada nº 2

Crystal Reports realiza la segunda pasada por los datos para dar formato a las páginas. A las páginas se les da formato a la orden. Es decir, Crystal Reports no dará formato a una página hasta que el usuario lo solicite o hasta que sea necesario para el recuento total de páginas en la Pasada nº 3.

Durante el proceso de dar formato a las páginas, Crystal Reports realiza lo siguiente:

  • Fórmulas de selección de grupos

  • Totales acumulados

  • Cálculo de fórmulas marcadas como "WhilePrintingRecords".

    Estas fórmulas contienen referencias a los subtotales o a la información de resumen, también conocidas como fórmulas "PrintTime". Este tiempo de evaluación se conoce como "WhileReadingRecords".

  • Gráficos y mapas

  • Subinformes

  • Generar páginas a petición

    Nota   Puede que los subtotales, totales generales y resúmenes sean incorrectos si el informe tiene una fórmula de selección de grupos. Esto ocurre porque los totales generales y los resúmenes se calculan durante la Pasada nº 1, pero la fórmula de selección de grupos vuelve a filtrar los datos en la Pasada nº 2. Los campos de totales acumulados se pueden utilizar en lugar de los resúmenes para obtener el total de datos en informes que contengan una fórmula de selección de grupos.

Pasada nº 3

En la tercera y última pasada, se determina el recuento total de páginas. Esto se aplica a los informes que usan los campos de variables especiales del recuento total de páginas, o Página N de M.

Vea también

Diseñar nuevos informes | Realizar cálculos en el informe