KEPLIN Docs

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

  1. En la columna izquierda, haz clic en el + de la sección Agrupamientos.
  2. Selecciona la banda Cabecera: … que apareció en la superficie de diseño.
  3. En el panel de la derecha, en la sección Agrupamiento, elige el Campo.

Las propiedades de un agrupamiento
Las propiedades de un agrupamiento

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.

El pie del informe con el gráfico y el total general
El pie del informe con el gráfico y el total general

Arrastra Gráfico de la paleta a una banda y configúralo:

Las propiedades de un gráfico
Las propiedades de un gráfico

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.

La cabecera del grupo con un subinforme dentro
La cabecera del grupo con un subinforme dentro

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.

El informe Contactos de la cuenta, el hijo de este ejemplo
El informe Contactos de la cuenta, el hijo de este ejemplo

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

  1. Arrastra Subinforme de la paleta a una cabecera, un pie o una banda de grupo.
  2. En Elige el informe, elige el hijo.
  3. 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.