Vista Report
Referência de configuração: Report
Visão geral
A vista Report gera um documento formatado, em HTML ou PDF, a partir dos dados de uma tabela. Pode ser construída de duas formas independentes: descreva-o ao assistente de IA, que redige uma página HTML autónoma, ou desenhe-o manualmente no construtor de blocos, que produz um PDF. Um relatório pode correr sobre uma coleção inteira (por exemplo, uma lista de preços) ou estar associado a um único registo (por exemplo, uma fatura aberta a partir de uma linha).
Use-a para documentos imprimíveis ou exportáveis (faturas, certificados, listas de preços, contratos), isto é, tudo o que precise de um layout fixo em vez da grelha flexível de uma Tabela ou de um Dashboard.
Relatório guardado
A vista Report aponta para um Relatório guardado no workspace, em vez de trazer o conteúdo dentro de si. O mesmo relatório pode ser lido por mais do que uma vista, e a lista fica em Administração › Relatórios.
Um relatório tem:
- Nome e Tipo (Blocos ou HTML).
- Entradas: o que recebe. Um registo de uma tabela é a entrada principal (por exemplo, a compra a imprimir); também pode receber vários registos ou valores (texto, número, data, sim ou não).
- Fontes: conjuntos de linhas com nome que o conteúdo pode ler, cada um com um filtro. Por exemplo, as linhas de uma compra:
compra = {{record.id}}. Cada fonte lê até 2000 linhas. - Saídas: PDF, Imprimir, CSV e Email. Só as ligadas aparecem na barra do documento.
- Parâmetros: os valores guardados das entradas do tipo valor, o ponto de partida de Parâmetros.
Nos blocos e nos campos de texto podes usar:
| Marcador | Resultado |
|---|---|
params.<nome> | O valor de uma entrada do tipo valor |
org.* | Dados da organização, por exemplo org.name |
user.* | Dados de quem abre o relatório, por exemplo user.name |
sources.<nome>.count | Número de linhas da fonte |
sources.<nome>.sum:<coluna> | Soma da coluna; também avg, min e max |
Escolher o relatório
Em Configurar, o cartão Relatório tem:
- O seletor com os relatórios ativos do workspace (Nenhum deixa a vista sem relatório ligado).
- Novo relatório: cria um relatório e liga-o à vista. Não está disponível se a tabela não tiver workspace; nesse caso o relatório fica guardado na vista.
- Com um relatório escolhido, os campos de tipo, âmbito e conteúdo desaparecem e o cartão mostra o resumo (entradas e saídas) e Abrir construtor (relatórios por blocos) ou Editar HTML. Ambos editam o próprio relatório.
Os filtros da vista e as facetas continuam a ser da vista.
Vistas antigas
As vistas que já tinham o conteúdo dentro de si continuam a mostrá-lo como antes. Na primeira vez que as guardas em Editar blocos, o conteúdo passa para um relatório guardado e a vista passa a apontar para ele. Anular, na notificação de confirmação, repõe o conteúdo anterior.
Relatório arquivado
Se o relatório ligado for arquivado, a vista mostra «O relatório ligado já não existe.» com a ação Configurar, para escolheres outro.
Imprimir a partir do registo
Um relatório cuja entrada principal é um registo aparece no menu de contexto das linhas dessa tabela, na vista de tabela e na lista, e no ícone Imprimir do formulário do registo guardado. Com vários relatórios, escolhes qual. Se o relatório tiver entradas de valor, um pequeno diálogo pede-as antes de gerar, com os valores guardados como ponto de partida. O documento abre com os botões das saídas ligadas: Transferir, Imprimir, Transferir CSV e Email. Num relatório HTML, Transferir e Imprimir (com a saída PDF ou Imprimir ligada) geram o PDF no servidor, em A4 e com o tema claro, em todas as plataformas; o Email é só dos relatórios de blocos.
Um botão de automação também pode abrir um relatório: em Configurar do botão, secção Relatório, escolhe o relatório; ao carregar, abre-se com o registo da linha.
Transferir CSV
Com a saída CSV ligada, Transferir CSV grava um ficheiro com uma secção por cada tabela do documento: o título, os cabeçalhos e as linhas, com uma linha em branco entre tabelas. As colunas separam-se com ;, para abrir no Excel. Os valores saem como na tabela, os números sem formatação, prontos para uma folha de cálculo. Não precisas de gerar o PDF antes.
Entram as tabelas e as sub-tabelas do corpo (as sub-tabelas só quando o documento é de um registo). As tabelas dentro de uma repetição ou de uma condição não entram, nem os totais e as linhas de grupo. Um relatório sem tabelas não pode ligar a saída CSV.
Enviar por email
Com a saída Email ligada, Email envia o PDF gerado em anexo, e fica ativo depois de gerares o PDF. O diálogo Enviar por email traz:
- Para: preenchido a partir da coluna escolhida no relatório, quando o documento é de um registo e a coluna tem endereços. Escreve um endereço e carrega em Enter para juntar outro.
- Assunto: o definido no relatório; sem assunto, usa o nome do relatório e o título do registo.
- Mensagem: o texto do email.
Os marcadores de Assunto e Mensagem chegam já resolvidos, e podes mudar tudo antes de Enviar. O envio sai pelo servidor e fica na caixa de saída da organização como «Relatório». O PDF tem de ter até 10 MB.
Precisas de poder adicionar ou editar registos da tabela. Sem isso, o botão fica desativado com a dica «Sem permissão para enviar».
Numa automação, o passo Gerar relatório produz o mesmo PDF do Transferir sem ninguém abrir o documento, e o passo Enviar email anexa-o com "Anexar ficheiros da execução". O passo aceita relatórios de blocos e HTML, e usa o registo da linha que disparou a automação, se não indicares outro. A automação usa o filtro do próprio relatório (o que definiste ao criá-lo), não os filtros da vista. Os passos estão em Workflows.
Parâmetros na vista
Quando o relatório tem entradas do tipo valor, a barra da vista mostra Parâmetros. Os valores que escolhes valem para esta sessão e geram o documento de novo; os guardados no relatório não mudam. Vale para o PDF e para o HTML.
Os dois tipos de relatório
Uma vista de relatório é HTML ou Nativa (PDF), definida através do menu Tipo no separador Conteúdo da configuração da vista.
| Tipo | Construído com | Renderizado como | Melhor para |
|---|---|---|---|
| HTML (IA) (predefinição) | Conversa com o assistente de IA, ou HTML editado manualmente | Webview isolada e offline dentro da vista | Documentos de formato livre, em que a IA decide a estrutura e o estilo |
| PDF (modelo) | Construtor de blocos (folha A4 ou Letter) | PDF gerado, pré-visualizado na própria vista | Documentos estruturados com layout previsível, como faturas e relatórios tabulares |
Trocar o Tipo não descarta o conteúdo do outro tipo. O artefacto HTML com o contrato de dados e o modelo de PDF são guardados de forma independente, pelo que voltar atrás restaura o que lá estava.
Começar a partir da vista vazia
Um relatório ainda sem conteúdo oferece duas opções:
- Construir: abre o construtor de blocos e produz um PDF.
- Página livre com IA: abre o assistente de IA, que redige uma página HTML.
A ação Configurar não está no estado vazio: encontra-a no menu ⋮ da vista.
Construir com IA (tipo HTML)
A partir do estado vazio, ou do ícone de IA na barra de ferramentas, abra Página livre com IA ou Editar com IA. Abre-se um assistente integrado na vista:
- Descreva o relatório na conversa (por exemplo, "tabela de projetos com filtro por estado e total no rodapé").
- O assistente gera um documento HTML autónomo e um contrato de dados, com as consultas de que precisa a esta tabela (e a outras do workspace), e mostra uma pré-visualização ao vivo com dados reais e atuais.
- Continue a iterar na mesma conversa; cada resposta substitui o rascunho anterior.
- Guardar grava o rascunho na vista; Descartar deita-o fora (pede confirmação se houver trabalho por guardar). Um guardar pode ser desfeito com a ação Anular na notificação de confirmação.
O HTML gerado é autónomo (CSS e JS em linha, sem pedidos externos) e lê os dados a partir de window.OUTDO_DATA, injetado a partir dos dados locais sempre que a vista é aberta, sem necessidade de regenerar para refletir linhas novas. Uma Content-Security-Policy restritiva bloqueia qualquer acesso de rede a partir do documento, e o artefacto não escreve nada de volta no OutDo.
Também pode dispensar a IA e editar o artefacto e o contrato de dados diretamente: ver Configuração manual de HTML.
Para criar um relatório novo a partir de um pedido, em HTML ou em blocos, usa Criar com IA em Administração › Relatórios.
Construir com o construtor de blocos (tipo PDF)
O construtor de blocos abre uma folha A4 ou Letter com três bandas: Cabeçalho (repete em cada página), corpo (flui e pagina) e Rodapé (repete em cada página).
Paleta de blocos
A paleta tem três grupos. Arraste um bloco para a folha ou clique nele para juntar uma linha.
| Grupo | Bloco | Finalidade |
|---|---|---|
| Conteúdo | Texto | Texto estático ou com marcadores {{...}}, opcionalmente estilizado como título |
| Conteúdo | Imagem | Uma imagem estática, por exemplo um logótipo |
| Conteúdo | Variável | Uma expressão apresentada como etiqueta: valor (procuras, agregados, formatadores) |
| Conteúdo | Separador | Uma linha horizontal |
| Conteúdo | Código QR | Um código QR com um texto, o valor de uma coluna ou a ligação do registo |
| Conteúdo | Assinatura | Um espaço para assinar, com rótulo e linha de data opcional |
| Dados | Tabela | Tabela de dados: colunas, largura, alinhamento, formato e total por coluna, agrupamento, linhas alternadas, cabeçalho destacado |
| Dados | Indicador | Um valor calculado sobre as linhas do relatório |
| Dados | Gráfico | Barras, linhas ou circular sobre as linhas do relatório |
| Dados | Sub-tabela | As linhas para onde uma coluna de ligação do registo aponta |
| Dados | Imagem da coluna | A primeira imagem de uma coluna de imagem ou ficheiro do registo |
| Dados | Repetição | Mestre-detalhe: percorre as linhas de outra tabela (com filtro opcional) e desenha um sub-layout por linha |
| Dados | Condicional | Mostra ou oculta o conteúdo consoante uma condição |
| Página | Quebra de página | Força uma quebra de página |
Bandas e blocos permitidos
O cabeçalho e o rodapé só aceitam Texto, Variável, Separador, Imagem, Indicador, Código QR e Assinatura. Se largar outro bloco numa destas bandas, o construtor recusa-o e mostra a mensagem «Este bloco só sai no corpo». Tabela, Gráfico, Sub-tabela, Imagem da coluna, Repetição, Condicional e Quebra de página pertencem ao corpo.
Os blocos do corpo empilham-se em linhas; no cabeçalho e no rodapé podem partilhar a mesma linha, numa grelha de colunas.
Editar na folha
- Largura: arraste o bordo direito do bloco.
- Altura da linha do corpo: arraste o bordo inferior da linha; um duplo clique volta à altura automática.
- Duplicar: duplica o bloco ou a linha (também com Ctrl/Cmd+D).
- Margens: editáveis no painel Página, a par do tamanho (A4 ou Letter) e da orientação (retrato ou paisagem).
- Anular e refazer: guardam até 50 passos. Cada edição estrutural, cada rajada de escrita e cada arrastamento contam como um passo.
Atalhos de teclado (não atuam enquanto um campo de texto tem o foco):
| Atalho | Ação |
|---|---|
| Delete ou Backspace | Remove o bloco selecionado |
| Ctrl/Cmd+D | Duplica o bloco selecionado |
| Ctrl/Cmd+Z | Anula |
| Ctrl/Cmd+Shift+Z ou Ctrl+Y | Refaz |
| Esquerda / Direita | Move o bloco selecionado uma posição na linha |
Tabela
As colunas predefinidas são as da Tabela da vista: as colunas ocultas ficam de fora e a ordem é a mesma. Cada coluna tem:
- Formato: Como na tabela, Número inteiro, Número com 2 casas, Moeda (€), Percentagem, Data, Data e hora ou Sim ou não.
- Total: Soma, Média, Contagem de células preenchidas, Mínimo ou Máximo, calculado sobre os valores guardados e impresso no fim da tabela.
A tabela também tem Agrupar por, que junta as linhas por uma coluna, com um cabeçalho e um subtotal por grupo; o grupo «(sem valor)» fica no fim. O cabeçalho da tabela repete-se em cada página. O texto Sem linhas aparece quando não há linhas para mostrar.
Indicador, gráfico e outros blocos
- Indicador: um só valor sobre as linhas do relatório, com etiqueta e formato.
- Gráfico: Barras, Linhas ou Circular. As categorias agrupam-se como na Tabela e o valor é uma Contagem ou um cálculo de uma coluna numérica. O gráfico circular mostra as sete maiores fatias e junta as restantes numa fatia Outros. Sai no PDF como imagem e usa as mesmas linhas da pré-visualização, pelo que também se aplicam as «Primeiras 50».
- Sub-tabela: as linhas para onde a coluna de ligação do registo aponta; só funciona no modo Individual ou dentro de uma Repetição.
- Imagem da coluna: a primeira imagem de uma coluna de imagem ou ficheiro do registo, Inteira ou Preencher, com altura máxima; aplica-se a mesma regra do registo. As imagens maiores que 1200 px de largura são reduzidas antes de entrarem no PDF.
- Código QR: a Origem escolhe o conteúdo: Texto (qualquer texto ou campo), Valor de uma coluna ou Ligação do registo, que abre o registo na app. A ligação funciona dentro de uma Repetição (a linha percorrida) e num relatório de um registo; numa lista, sem um único registo, o código não é desenhado. Tem ainda o tamanho.
- Assinatura: rótulo, linha de data opcional e altura.
Inserir campos
O menu Inserir campo oferece, além dos campos da tabela:
- Agregados: soma, média, mínimo, máximo e contagem das colunas.
- Documento: nome da tabela e data de hoje; Página e Total de páginas só funcionam no cabeçalho e no rodapé.
As datas saem no fuso horário do workspace. Nas colunas de seleção, seleção ligada e utilizador, o documento mostra o nome e nunca o identificador interno.
Pré-visualização com dados reais
O construtor mostra as linhas da própria vista, depois dos filtros da vista e do filtro do relatório. Por omissão apresenta as Primeiras 50 linhas; escolha Todas para ver o conjunto completo. O mesmo conjunto de linhas e as mesmas etiquetas alimentam o PDF da vista.
Modo de dados e filtro do modelo
O modo Dados é Lista (um documento sobre todas as linhas filtradas) ou Individual (um documento para um registo: a linha associada no âmbito Por registo, ou a primeira linha do conjunto filtrado no âmbito Coleção). O modelo tem ainda o seu próprio filtro, independente dos filtros de admin da vista, que decide que linhas alimentam o documento. Abre-se numa caixa de diálogo própria.
Validação
A lista Validação assinala os problemas do modelo, por exemplo um corpo vazio, uma coluna que já não existe, um campo desconhecido, uma imagem sem endereço ou um bloco numa banda que não o aceita. Os blocos novos também avisam quando falta a coluna, as categorias ou os valores do gráfico, a ligação da sub-tabela, o conteúdo do código QR, ou quando o bloco precisa de um registo. Cada aviso que se refere a um bloco abre-o ao clicar.
Guardar
O construtor guarda onde a vista lê: na configuração própria do rail, quando o rail usa uma, ou na vista global. É o mesmo destino de Configurar, e o botão Guardar neste rail indica-o. A notificação de confirmação inclui Anular, que desfaz o guardar e confirma que a alteração foi anulada.
PDF na vista
Depois de existir um modelo, a vista mostra o relatório como pré-visualização de PDF, gerada através de Gerar PDF. Uma vez gerado, o PDF atualiza-se sozinho quando os dados mudam. Transferir grava o ficheiro e Imprimir abre a caixa de impressão do sistema. Editar blocos reabre o construtor no mesmo modelo. Em ecrãs estreitos a barra de ferramentas fica compacta.
Num relatório guardado, a barra mostra só os botões das saídas ligadas: Transferir (PDF), Imprimir, Transferir CSV e Email. As vistas antigas, com o conteúdo dentro de si, mantêm Transferir e Imprimir e não têm CSV nem Email.
Âmbito: coleção ou registo
Definido em Âmbito, no separador Conteúdo:
| Âmbito | Comportamento |
|---|---|
| Coleção (predefinição) | O relatório corre sobre o conjunto completo (filtrado) de linhas da vista |
| Por registo | O relatório está associado a uma só linha. Os modelos HTML leem-na com $current.<coluna>. Os modelos PDF expõem-na como record.<campo>, estável em todo o documento, incluindo dentro de blocos de repetição, enquanto row.<campo> é a linha atual: o próprio registo fora de uma repetição, ou cada linha iterada dentro dela. Costuma abrir-se ao incorporar a vista de relatório numa Vista Ligada dentro de um formulário, que fornece a linha associada |
Um relatório por registo aberto sem linha associada mostra o aviso «Este documento é por registo: abre-o a partir de uma linha». Na pré-visualização do configurador de vistas, a primeira linha da tabela serve de dados de exemplo.
Filtros
Duas camadas independentes, como em Tabela e Kanban:
- Filtros base (separador Filtros, admin): um grupo de filtros aplicado automaticamente antes de o relatório ser renderizado.
- Filtros (barra de ferramentas, por utilizador): um filtro adicional que cada utilizador aplica por cima dos do admin, guardado por utilizador. Só no âmbito de coleção.
Facetas
No âmbito de coleção, o painel de facetas permite restringir os dados por valores discretos de coluna, tal como em Tabela e Kanban. Abre-se a partir de Painel de filtros no menu ⋮ e fixa-se à direita; abaixo de 600 px abre como folha a partir de baixo. Escape fecha-o.
Tipos de coluna suportados: texto, seleção, seleção ligada, caixa de verificação, número, data e estado. As colunas de data têm navegação Ano, Mês, Dia, com contagens por valor. As facetas combinam-se com os filtros de admin e de utilizador.
Configuração manual de HTML
Para o tipo HTML, o separador Conteúdo expõe também os campos em bruto onde a IA escreve, para edição manual ou para colar um artefacto vindo de outro lugar:
- Artefacto HTML (self-contained): o documento HTML completo. Inclua um
<head>, que serve de ponto de injeção dos dados e do CSS do tema. - Data contract (JSON): declara as consultas nomeadas que o documento lê, por exemplo
{"queries":[{"name":"...","feature":"$f_<feature>"}]}. Cada consulta pode restringir colunas, aplicar filtros de linha e limitar o número de linhas comlimit.
Barra de ferramentas
| Ação | Disponibilidade |
|---|---|
| Parâmetros | Relatório guardado com entradas do tipo valor: pede os valores para esta sessão |
| Transferir CSV | Tipo PDF, com a saída CSV ligada e pelo menos uma tabela no corpo |
| Tipo PDF, com a saída Email ligada; fica ativo depois de gerares o PDF | |
| Transferir / Imprimir | Tipo HTML, com conteúdo: geram o PDF no servidor (A4, tema claro) em todas as plataformas. Num relatório guardado, precisam da saída PDF ou Imprimir |
| Editar com IA | Tipo HTML, quando ainda não está em modo de edição |
| Filtrar | Só no âmbito de coleção: abre o filtro por utilizador, com um distintivo da contagem ativa |
| Configurar | No menu ⋮: abre a configuração completa (separadores Filtros e Conteúdo) |
Sugestões
- Um relatório sem conteúdo oferece Construir e Página livre com IA; escolha o que se adequar.
- As facetas e o filtro por utilizador só se aplicam no âmbito de coleção; um relatório por registo mostra sempre apenas a linha associada.
- Se o construtor recusar um bloco no cabeçalho ou no rodapé, largue-o no corpo.
- Uma configuração guardada que não consiga ser lida mostra «Configuração inválida»: reabra Configurar e guarde de novo para recuperar.