Etiqueta group

Esta etiqueta es la encargada de agrupar la definición de los datos y como se deben imprimir. Cada grupo tiene tres partes o bandas: cabecera, detalle y pie, que se corresponden con la cabecera de grupo o de página, el detalle que se imprime y el pie de grupo, de página, o final del informe.

Cada grupo debe tener obligatoriamente un identificador (atributo name) que debe ser único dentro del informe, y se pueden tener varios grupos que se imprimirán de manera secuencial (siempre es obligatorio al menos un primer grupo).

<group name="main">
    [ ... ]
</group>

<group name="resume">
  [ ... ]
</group>

Bandas de los grupos

Debemos tener en cuenta algunas consideraciones:

  • Cada una de las bandas (header, detail y footer) son de tipo bloque o ancho completo. Esto indica que siempre ocuparan todo el ancho de la página en la orientación que se ha indicado. Debido a esto no es posible definir el ancho de la misma.

  • Cada una de las bandas puede tener un alto distinto, que se debe definir mediante el atributo height con un valor numérico.

  • Las bandas header y footer (cabecera y pie) dependen de la banda detail (detalle). La banda detalle puede tener asociado un campo o dato que establece una ruptura dentro de los datos del informe que forzarán a imprimir las bandas del pie del dato anterior y la cabecera del nuevo dato. Esto es conocido como informes con ruptura de secuencia o informes con datos agrupados.

header o cabecera

Indica los datos que se imprimirán en la cabecera de grupo. Esto puede suceder por dos motivos: por inicio de un grupo o por inicio de una página. Se debe establecer el height (alto) que se reserva para esta banda, y dentro de este espacio podemos definir los datos a imprimir mediante etiquetas column y su correspondiente widget.

Esta banda tiene un atributo booleano (true/false) opcional newpage, que nos permite forzar un salto de página antes de imprimir la nueva cabecera. Por defecto su valor es false.

<header height="150">
        <!-- Datos Empresa -->
        <column posx="20" posy="25" width="540">
                <widget type="default" fieldname="company.nombre"
                                size="12" align="left" bgcolor="4169E1" color="white" />
        </column>

        <!-- Datos Fecha y Página -->
        <column posx="450" posy="25" width="60">
                <widget type="default" fieldname="date" size="12" color="white" />
        </column>

        <column posx="510" posy="25" width="60">
                <widget type="default" fieldname="time" size="12" color="white" />
        </column>

        [ ... ]
</header>   

<header height="150" newpage="true">
        [ ... ]
</header>   

detail o detalle

Indica los datos que se imprimirán por cada registro de datos. Se debe establecer el height (alto) que se reserva para esta banda, y dentro de este espacio podemos definir los datos a imprimir mediante etiquetas column y su correspondiente widget.

Podemos definir de manera opcional el nombre de campo o dato dentro del registro de datos por el cual los datos están agrupados u ordenados y que deseamos totalizar. Para indicar esto debemos añadir el atributo fieldname.

<detail height="20">
        <column posx="20" width="50">
                <widget type="label" fieldname="code" italic="true" />
        </column>
        <column posx="80" width="170">
                <widget type="label" fieldname="name" italic="true" />
        </column>
        [ ... ]
</detail>

<detail height="20" fieldname="customer">
        [ ... ]
</detail>

footer o pie

Indica los datos que se imprimirán en el pie de grupo. Esto puede suceder por dos motivos: por el fin de un grupo de datos o por el fin de una página. Se debe establecer el height (alto) que se reserva para esta banda, y dentro de este espacio podemos definir los datos a imprimir mediante etiquetas column y su correspondiente widget.

Esta banda tiene un atributo booleano (true/false) opcional newpage, que nos permite forzar un salto de página después de imprimir el pie. Por defecto su valor es false.

<footer height="65">
        <column posx="10" posy="1" width="550" height="1">
                <widget type="line" />
        </column>

        <column posx="180" posy="30" width="60">
                <widget type="label" value="totales-ellipsis" align="right" translate="true" bold="true" size="13" />
        </column>

        <column posx="270" posy="30" width="65">
                <widget type="calculated" operator="sum" fieldname="previous_value[0]" decimal="2" bold="true" size="11" />
        </column>
        [ ... ]
</footer>
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.14706s

Soporte