Agrupamientos, gráficos y subinformes
Agrupar por un campo con cabecera y pie propios, sumar con agregados, dibujar gráficos en el papel y embeber un informe dentro de otro.
Una banda de detalle sola solo sabe imprimir una fila por registro. Lo que transforma un listado en un documento son tres piezas: los agrupamientos, que parten la lista en bloques con título y total; los gráficos, que resumen lo que la lista dice; y los subinformes, que traen dentro del documento un conjunto de datos completamente distinto.
Seguimos en el informe Oportunidades por conta de la app Gestión de Clientes.
Agrupamientos
Un agrupamiento parte la lista cada vez que el valor de un campo cambia. Cada nivel trae dos bandas propias: una cabecera, que sale cuando el valor cambia, y un pie, que sale cuando el valor acaba.
Esto es lo que hace el documento «cada cuenta, con sus oportunidades debajo y el total al final».
Crear un agrupamiento
- En la columna izquierda, haz clic en el + de la sección Agrupamientos.
- Selecciona la banda Cabecera: … que apareció en la superficie de diseño.
- En el panel de la derecha, en la sección Agrupamiento, elige el Campo.

| Propiedad | Qué hace |
|---|---|
| Campo | «Campo del conjunto principal cuyo valor define el grupo. Las filas se ordenan por él.» Acepta rutas con punto para navegar relaciones: conta.nome. |
| Orden | Ascendente o Descendente. |
| Repetir cabecera | «Cuando el grupo pasa a la página siguiente, su cabecera sale otra vez arriba.» |
| Página nueva por grupo | «Cada grupo empieza en una página solo suya.» Es lo que se activa para imprimir una factura por hoja. |
Las bandas de grupo aparecen en la superficie de diseño encajadas alrededor del detalle, con una indentación que muestra a qué nivel pertenecen. Puedes tener cuantos niveles quieras — por año, después por cliente, después por factura.
Consejo
Un campo dentro de una cabecera de grupo lee la primera fila del grupo. Eso es lo que hace que el nombre de la cuenta aparezca encima de sus oportunidades. Fuera de las bandas de grupo (en la cabecera del informe, por ejemplo) no hay ninguna fila y el campo sale vacío.
Totales con el Agregado
El elemento Agregado es una cuenta hecha por el motor: Suma, Media, Recuento, Mínimo o Máximo sobre un campo de un conjunto.
Dónde lo pones decide qué cuenta:
| Dónde está | Qué suma |
|---|---|
| En el pie de un grupo | Solo las filas de ese grupo — el total de esa cuenta. |
| En el pie del informe | Todas las filas — el total general. |
| En la banda de detalle, sobre un conjunto vinculado | Solo las filas de esa fila — el total de esa factura. |
En el Recuento, el campo puede quedar vacío: cuenta filas, no valores.
Gráficos
Un gráfico en el papel usa el mismo motor y las mismas opciones del widget de gráfico de las pantallas. En el PDF se dibuja en el servidor y entra en vector, no como imagen — un gráfico rasterizado quedaría borroso al imprimir o al ampliar.

Arrastra Gráfico de la paleta a una banda y configúralo:
| Propiedad | Notas |
|---|---|
| Tipo de gráfico | Barras, Línea, Área, Tarta / Donut, Dispersión, Radar, Embudo, Gauge (medidor) o Mapa de calor. |
| Conjunto de datos | De dónde vienen las filas. Vacío usa el conjunto principal. |
| Campo de categoría (eje X / porciones) | «Campo que define el eje horizontal (o las porciones).» |
| Campos de valor | «Campos numéricos a dibujar. Sin campo de serie, cada uno es una serie.» Se añaden en Añadir valor. |
| Campo de serie (agrupamiento) | «Campo que separa las series. Con él, se pivota por el primer campo de valor.» |
| Leyenda y Posición de la leyenda | Arriba, Abajo, Izquierda o Derecha. |
| Valores en los puntos | Escribe el número encima de cada barra o punto. |
Según el tipo, aparecen además Apilado, Líneas suaves, Horizontal y Radio interior del donut (%).
En el ejemplo, el gráfico del Pie del informe tiene categoría fase y
valor valor: una barra por fase del pipeline, con la suma de los negocios
de cada una.
Nota
Un gráfico en una banda de grupo dibuja los datos de ese grupo — un gráfico por cuenta. En una banda de detalle dibujaría un gráfico por fila impresa, lo que casi nunca es lo que se quiere.
Subinformes
Un subinforme es otro informe diseñado dentro de este. Sirve para lo que el agrupamiento no hace: el agrupamiento parte un conjunto; el subinforme trae otro entero.
El caso clásico: en una cuenta corriente, las facturas abiertas y los pagos — dos listas de tablas distintas en la misma hoja. En nuestro ejemplo, la cabecera de cada cuenta trae la lista de sus contactos, antes de las oportunidades.

Diseñar el hijo
El informe embebido es un informe normal, con vida propia — se abre, se diseña y se previsualiza como cualquier otro. La diferencia es que declara parámetros para recibir el contexto de quien lo embebe.

En el ejemplo, Contactos da conta tiene un parámetro conta (Número,
obligatorio) y su conjunto de datos filtra conta_id por ese parámetro.
Las bandas que no interesan en un documento embebido — cabecera de página,
pies — quedan desactivadas.
Embeber
- Arrastra Subinforme de la paleta a una cabecera, un pie o una banda de grupo.
- En Elige el informe, elige el hijo.
- Para cada parámetro suyo, di de dónde viene: Campo de la fila (lee el campo de la fila donde está el subinforme) o Valor fijo.
Atención
Un subinforme no puede estar en la banda de detalle, y eso se impide, no se avisa: «haría una consulta por cada fila impresa» — mil facturas, mil idas a la base. Ponlo en una cabecera, un pie o una banda de grupo, donde las ocurrencias son pocas.
Las repeticiones con los mismos parámetros comparten la lectura, por eso un subinforme en la cabecera de grupo cuesta una consulta por grupo, no por fila.
Códigos de barras e imágenes
Dos elementos que completan un documento de negocio:
Código de barras — el valor puede venir de un campo (lo normal en una factura) o ser fijo:
| Campo | Notas |
|---|---|
| Tipo | Code 128 acepta texto y números. EAN-13 son 12 o 13 dígitos y verifica el dígito de control. QR acepta cualquier texto — es el de las facturas. |
| Campo | «Campo con el valor a codificar. Vacío usa el valor fijo de abajo.» |
| Valor fijo | Usado solo cuando no hay campo elegido. |
| Mostrar el valor | Imprime el valor bajo las barras (no se aplica al QR). |
Imagen — el Origen elige de dónde viene:
| Origen | Qué se rellena |
|---|---|
| Archivo de la app | Un archivo subido a la app (por ejemplo icons/logo.svg). |
| Dirección | Una URL. |
| Campo de los datos | «Campo con la imagen: URL, ruta en assets, o el binario en base64.» |
El Ajuste decide qué pasa cuando la imagen no tiene la forma de la caja: Caber, Rellenar o Estirar.
Una imagen por Dirección, o por una URL que viene en un Campo de los datos, solo se busca en direcciones públicas de internet, nunca en la red interna del servidor, con hasta 10 segundos y 10 MB. Una imagen que no se puede obtener queda fuera, y el informe sale sin ella.
Preguntas frecuentes
El grupo no agrupa nada — sale todo seguido. El campo del agrupamiento tiene que ser del conjunto principal, y las filas se ordenan por él. Si el campo está vacío en muchas filas, caen todas en el mismo grupo.
El total del grupo está sumando todo. El agregado está fuera de la banda del grupo. Ponlo en el pie de ese grupo — la posición es la que define el ámbito de la cuenta.
El gráfico sale en blanco en el PDF pero se ve en el diseño. En la superficie de diseño, un gráfico sin datos muestra una muestra de ejemplo. En el PDF solo hay lo que los datos den: confirma el Conjunto de datos, el Campo de categoría y que hay al menos un Campo de valor elegido.
¿Puedo poner un subinforme dentro de otro subinforme? Sí, con la misma regla: nunca en la banda de detalle. Pero piénsalo dos veces — dos niveles de embebido hacen el documento difícil de prever, y muchas veces lo que se quería era un nivel más de agrupamiento.
