Pregunta

Tengo un informe en el que grupos de dos códigos, los llamaremos Parent y Child.

En la parte superior de cada página, en el encabezado de página, quiero imprimir el Nombre del Padre.

Hay una serie de columnas en el informe, y cuando se rompe el grupo, que quieren mostrar el nuevo nombre del niño, así como los títulos de las columnas de nuevo. El informe debe ser algo como esto:

Parent Name
    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6
    XXXX XXXX XXXX XXXX XXXX XXXX
    XXXX XXXX XXXX XXXX XXXX XXXX

    Child Total:             XXXX

    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6
    XXXX XXXX XXXX XXXX XXXX XXXX

Si un grupo secundario se envuelve alrededor de la nueva página, sin embargo, quiero volver a mostrar el nombre del niño y los títulos de las columnas antes de mostrar los datos de nuevo.

Para lograr esto, he creado un encabezado que contiene los siguientes objetos:

Parent Name
    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6

En la cabecera de página es un RowReset variable que contiene la siguiente fórmula:

WhilePrintingRecords;
Shared numberVar nRowCount := 0

Luego, en cada fila de detalle, así como el grupo de pie de página 1 y el Grupo de pie de página 2 secciones, tengo la siguiente fórmula RowIncrement:

WhilePrintingRecords;
Shared numberVar nRowCount := nRowCount + 1;

Finalmente, en cada 2 sección Encabezado de grupo, tengo la siguiente fórmula supresión condicional:

WhilePrintingRecords;
Shared numberVar nRowCount;
IF (PageNumber <> 1) AND (nRowCount = 0 OR nRowCount = 0.00) THEN
    True
ELSE
    False

Lo que este intento de hacer es suprimir el encabezado de grupo para niños si estamos en una nueva página de la marca, y no hay registros de detalles se han impreso sin embargo, para evitar que el siguiente ocurra:

Parent Name                          ---+
    Child Name                          +-- Page header
    Col1 Col2 Col3 Col4 Col5 Col6    ---+

    Child Name                       ---+-- Group header 2
    Col1 Col2 Col3 Col4 Col5 Col6    ---+

Por alguna razón no puedo averiguar, sobre 40 páginas en el informe, me sale exactamente eso sin embargo; un registro de encabezado de página, seguido de un registro de cabecera de grupo 2. Si creo una fórmula que contiene la fórmula de supresión condicionada, muestra TRUE, pero el encabezado de grupo aún no suprime.

Si romper el código para que se comprueba sólo una de las condicionales (ya sea PageNumber <> 1 o nRowCount = 0), entonces el Encabezado de grupo 2 suprime correctamente.

Yo incluso han intentado esto a romper las cosas:

WhilePrintingRecords;
Shared numberVar nRowCount;
booleanVar bSuppress:= False;

IF PageNumber <> 1 THEN bSuppress:= True;
IF (bSuppress) THEN (IF nRowCount = 0 THEN True ELSE False);

También muestra True cuando se visualizan en la pantalla, pero no logra suprimir el encabezado de grupo.

¿Qué diablos estoy haciendo mal aquí? ¿Hay un mejor enfoque que podría tomar?

¿Fue útil?

Solución

Sugiero poner el campo 'nombre del padre' en el encabezado de grupo de su propio grupo, en lugar de en el encabezado de la página. Entonces, tanto en el grupo de padres e hijos, seleccione la opción "Repetir encabezado de grupo en la casilla de verificación cada página' en el cuadro de las opciones del grupo de diálogo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top