Crear un informe
El diseño de un informe — bandas, papel y márgenes, conjuntos de datos, parámetros, elementos y reglas, y la salida en PDF o Excel.
Un informe es un documento impreso a partir de los datos de la app: un listado, una factura, un mapa de cierre del mes. Sale en PDF — paginado, con cabeceras que se repiten y totales al final — o en Excel, y puede generarse a mano, por un botón de una pantalla, por un script, por un workflow, o por una programación que lo envía por correo.
El modelo es el de bandas: un informe no es una pantalla que crece hacia abajo, es una secuencia de franjas que el motor repite según la regla de cada una — una vez, por página, por fila, por grupo. Eso es lo que hace posible la paginación.
La unidad es el milímetro, en todas partes. Es la unidad del papel y sobrevive al cambio de A4 a Letter.
En esta página diseñamos el informe Oportunidades por conta de la app Gestión de Clientes: el pipeline comercial agrupado por cuenta, con los contactos de cada una, el total por cuenta y un gráfico al final.
Dónde viven los informes
Los informes están en el minitab Datos del árbol de la app, bajo las fuentes de datos. Hacer clic en el nombre abre el diseño en una pestaña.

Una app sin informes muestra «Sin informes — crea uno para diseñarlo.».
Crear un informe
- Pasa el ratón por la fila del grupo Informes y haz clic en Nuevo informe.
- Escribe el Nombre — por ejemplo
Facturas do mês. - Haz clic en Crear.
«Crea un informe en la raíz. Puedes moverlo a una carpeta después.» El informe nace en A4 vertical, con las cinco bandas fijas y sin datos conectados, y el diseño se abre enseguida.
El diseño

La pestaña tiene tres columnas y una barra arriba:
| Zona | Qué es |
|---|---|
| Barra superior | El nombre, el identificador del informe (rpt_…, lo que el código usa para llamarlo), el estado del guardado, deshacer/rehacer, las medidas del papel y los botones Excel y Vista previa. |
| Columna izquierda | La paleta Elementos, los Datos, los Agrupamientos, los Parámetros y las Programaciones. |
| Centro | La superficie de diseño: una regla en milímetros y las bandas, unas sobre otras en el orden en que salen en el papel. |
| Derecha | Las propiedades — del informe, de la banda seleccionada o del elemento seleccionado. |
Como en el resto de la plataforma, no hay botón de guardar: el diseño se guarda solo.
La cabecera y la barra de herramientas son las mismas del diseñador de pantallas. En la cabecera: el nombre, el identificador, las medidas del papel y el estado de guardado. En la barra: deshacer y rehacer; el orden de dibujo (traer al frente, avanzar, retroceder, enviar atrás, para que un rectángulo de fondo quede detrás del texto); Duplicar y Eliminar; alinear (izquierda, centro, derecha, arriba, medio, abajo) y distribuir (horizontal, vertical); y a la derecha Excel, Vista previa y el zoom. Con un solo elemento seleccionado, alinear lo alinea a la banda (centrar un título en la página, por ejemplo); con varios, los alinea entre sí, siempre que estén en la misma banda.
La paleta Elementos los agrupa por tipología (Texto, Formas, Medios y Estructura), con la caja Buscar arriba y el ancho arrastrable por el borde derecho.
Las bandas
Las bandas son un conjunto fijo — no se añaden franjas a placer, porque cada una tiene una regla de repetición propia que el motor conoce por el nombre.

| Banda | Cuándo sale |
|---|---|
| Cabecera del informe | «Sale una única vez, al inicio de la primera página.» Logotipo, título, fecha de emisión. |
| Cabecera de página | «Se repite en la parte superior de todas las páginas — logotipo, títulos de columna.» |
| Detalle | «Sale una vez por cada fila de datos. Esta banda es la que llena el informe.» |
| Pie de página | «Se repite al pie de todas las páginas — número de página, fecha.» |
| Pie del informe | «Sale una única vez, al final — totales generales.» Nace desactivado. |
A estas se suman, cuando hay agrupamientos, una cabecera y un pie por nivel — ver Gráficos y subinformes.
Hacer clic en el título de una banda la selecciona; el panel de la derecha pasa a mostrar sus propiedades.
| Propiedad | Qué hace |
|---|---|
| Altura (mm) | La altura de la franja. También se arrastra la línea divisoria, en la superficie de diseño. |
| Activa | «Desactivada, la banda no sale en el informe ni ocupa espacio.» |
| Reglas de la banda | Suprimir la banda según los datos. |
Sobre las reglas: «suprimir la banda según los datos. Suprimida, no sale ni ocupa espacio — es lo que sustituye tener varias bandas de detalle». En vez de tres franjas de detalle con condiciones distintas, una franja y reglas que la esconden cuando no toca.
El papel
Con nada seleccionado, el panel de la derecha muestra las propiedades del informe y de la página:

| Campo | Opciones |
|---|---|
| Nombre / Descripción | Identificación, para quien construye. |
| Formato | A4, A3, A5, Letter, Legal o Personalizado (anchura y altura en mm). |
| Orientación | Vertical u Horizontal. |
| Márgenes (mm) | Superior, Inferior, Izquierda, Derecha. |
«El espacio entre el papel y el contenido. La anchura útil que queda es la de la superficie de diseño» — cambiar los márgenes cambia la anchura en la que diseñas, y la regla lo acompaña.
La sección Vista, al final del panel, tiene el Zoom de la superficie de diseño. No afecta al documento; es solo la lupa de quien diseña.
Los datos
Un informe sin datos conectados no tiene campos que arrastrar. Abre Conjuntos de datos en el + de la sección Datos:
Cada conjunto tiene:
| Campo | Notas |
|---|---|
| Nombre del conjunto | Cómo lo llaman los elementos (oportunidades, contactos). |
| Papel | principal, vinculado o suelto — ver la tabla de abajo. |
| API de tabla | La API de la app de donde vienen las filas. |
| Filtros (where) | La misma gramática de filtros del resto de la plataforma. Puede comparar con parámetros del informe. |
| Carga / Por página | Cómo se leen las filas. |
Los tres papeles:
| Papel | Qué significa |
|---|---|
| principal | «La banda de detalle lo recorre, una fila impresa por cada fila suya.» Solo hay uno. |
| vinculado | «Pertenece a una fila de otro conjunto por el campo que indiques — la factura y sus líneas.» |
| suelto | «Ni recorrido ni vinculado, sirve para la cabecera o para un total general.» |
Un conjunto vinculado pide tres campos más: el Conjunto padre, el Campo en el padre («el campo que identifica la fila del padre — normalmente la clave») y el Campo en este conjunto («el campo que apunta de vuelta al padre»).
Nota
La vinculación es una declaración, y eso es lo que la hace rápida: el motor carga todo de una vez y agrupa en memoria, en vez de hacer una consulta por cada fila del conjunto principal.
En la columna izquierda, cada conjunto aparece con el número de campos y se expande con la flecha. Arrastrar un campo a una banda crea un elemento Campo ya conectado — es la forma más rápida de llenar la banda de detalle.
Para quitar un conjunto, pasa el ratón por su línea en la columna izquierda y pulsa el icono Quitar que aparece a la derecha, el mismo de los agrupamientos; no hace falta abrir el diálogo. Deshacer lo repone.
Cuántas filas y en qué zona horaria
Cada conjunto trae hasta 20 000 filas. Por encima de eso, el informe sale con las primeras 20 000 y con un aviso al final (en el PDF, después del pie del informe; en Excel, en la última fila) que dice qué conjunto se recortó. Los totales de ese informe no cuentan las filas que quedaron fuera: usa los parámetros y los filtros del conjunto para acotarlo.
Las fechas con hora se escriben en la zona horaria de quien lee: la del navegador o del móvil de quien abre el informe, y la de la programación en un informe programado. La Fecha de emisión también: después de la medianoche en Lisboa ya es el día siguiente, aunque el servidor esté en otra zona horaria.
Los parámetros
Los parámetros son «valores que el informe recibe de quien lo manda ejecutar» — el mes, la fase, el cliente. Se usan en los filtros de los conjuntos de datos.
| Campo | Notas |
|---|---|
| Nombre | Cómo lo llaman el filtro y el código. |
| Etiqueta | Lo que se lee cuando se pide el valor. |
| Tipo | Texto, Número, Fecha o Sí/No. |
| Obligatorio | Sin valor, el informe se niega a ejecutarse. |
| Valor por defecto | Se usa cuando quien llama no da ninguno. |
Un parámetro se quita de la misma forma: el icono Quitar aparece al pasar el ratón por su línea en la columna izquierda. Lo mismo vale para las Programaciones.
Los elementos
La paleta Elementos tiene todo lo que se pone en una banda. Se arrastra a la banda; se suelta donde debe quedar.

| Elemento | Para qué sirve |
|---|---|
| Texto | Texto fijo — títulos, etiquetas, pies. |
| Campo | El valor de un campo del conjunto. Es lo que sale de arrastrar un campo. |
| Agregado | Una cuenta sobre un conjunto: Suma, Media, Recuento, Mínimo, Máximo. |
| Campo de sistema | Número de página, Total de páginas, Página X de Y, Fecha de emisión, Nombre del informe. |
| Línea | Separadores y marcos. |
| Rectángulo | Fondos y cajas, con relleno, contorno y esquinas. |
| Imagen | Un archivo de la app, una dirección, o el contenido de un campo. |
| Gráfico | Nueve tipos, con los mismos datos de las pantallas. |
| Subinforme | Otro informe diseñado dentro de este. |
| Código de barras | Code 128, EAN-13 o QR. |
Los últimos tres tienen página propia: Gráficos y subinformes.
Las propiedades de un elemento
Haz clic en un elemento en la superficie de diseño:

| Sección | Qué tiene |
|---|---|
| Posición y tamaño | X (mm), Y (mm), Anchura (mm), Altura (mm). La y cuenta desde la parte superior de la banda. |
| Aspecto | Tipo de letra, Cuerpo (pt), negrita/cursiva/subrayado, alineación, Alineación vertical, color, Relleno, Contorno (mm) y Color del contorno, Ajustar línea. |
| Formato (campos y agregados) | Máscara de presentación, con la misma gramática de las columnas de la tabla. |
| Exportación | Nombre de la columna en el Excel. «Vacío usa el nombre del campo. En el papel no aparece — ahí la cabecera es un texto que diseñas donde quieras.» |
| Reglas de formato | Ver abajo. |
Sobre Ajustar línea: «desactivado, el texto que no cabe se corta en vez de pasar a la línea siguiente» — es lo que se quiere en una columna de tabla, para que una fila larga no empuje toda la página.
Seleccionando varios elementos (con la caja de selección o con
Shift), el panel dice cuántos son y los mueve en conjunto, con el ratón o
con las flechas.
Reglas de formato
Cada elemento puede tener reglas que «cambian el aspecto según los datos de la fila: pintar un valor atrasado, esconder una etiqueta, poner un total en negrita cuando es negativo». Son el mismo motor y el mismo editor de las reglas de los widgets.
La última regla que coincida es la que manda — ordénalas de la más general a la más específica.
Ver el resultado
Dos botones, en la esquina superior derecha:

- Vista previa genera el PDF con los datos reales de la app y lo abre ahí mismo, paginado. Así se comprueba el diseño: no siempre lo que cabe en la superficie de diseño cabe en la página.
- Excel genera la hoja de cálculo y la descarga. Aquí no hay bandas ni páginas: sale una tabla, con una columna por elemento de la banda de detalle, y las cabeceras vienen del Nombre de la columna de cada uno.
Si el informe tiene parámetros obligatorios, se piden antes de generar.
Consejo
Diseña para el PDF y confirma en el Excel, no al revés. El PDF es el formato exigente — márgenes, saltos de página, bandas que no caben. El Excel perdona casi todo.
Preguntas frecuentes
La banda de detalle sale vacía. No hay conjunto principal, o su filtro no devuelve filas. Abre Conjuntos de datos y confirma que hay uno con el papel principal, y que los parámetros que el filtro usa tienen valor.
Un campo en una banda de cabecera sale vacío. Es lo esperado fuera de las bandas de grupo. En la Cabecera del informe y en el Pie del informe no hay «fila actual» — mostrar la primera de todas sería inventar un valor. En una cabecera de grupo, el campo lee la primera fila del grupo, que es lo que se quiere.
El informe tarda o trunca. Cada conjunto tiene un techo de filas por lectura. Filtra más — por fecha, por estado — en vez de imprimir la tabla entera. Un informe de 4.000 páginas no lo lee nadie.
Necesito más de lo que una programación sabe hacer.
Escribe un script Python y llama a reports.render(...) — ver
Programar y enviar.



