Saltar para o conteúdo principal

Vista Report

Visão geral

A vista Report gera um documento formatado — HTML ou PDF — a partir dos dados de uma feature. É construída de duas formas independentes: descreva-o ao assistente de AI e este redige um artefacto HTML autónomo, ou desenhe-o manualmente num construtor de PDF por blocos. 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 — qualquer coisa que precise de um layout fixo em vez da grelha flexível de uma Tabela ou de um Dashboard.

Os dois tipos de relatório

Uma vista de relatório é HTML ou Nativa (PDF), definida através do menu pendente Tipo no separador Conteúdo da configuração da vista.

TipoConstruído comRenderizado comoMelhor para
HTML (AI) (predefinição)Conversa com o assistente de AI, ou HTML editado manualmenteWebview isolada e offline dentro da vistaDocumentos de formato livre em que a AI pode decidir tanto a estrutura como o estilo
PDF (modelo)Construtor de blocos (tela A4/Letter)PDF gerado, pré-visualizado em linhaDocumentos estruturados com layout previsível — faturas, relatórios tabulares

Trocar o Tipo não descarta o conteúdo do outro tipo — o artefacto HTML/contrato de dados e o modelo de PDF são guardados de forma independente, pelo que voltar atrás restaura o que lá estava antes.

Construir com AI (tipo HTML)

A partir do estado vazio, ou do ícone de AI na barra de ferramentas, abra Construir com AI / Editar com IA. Isto abre um assistente integrado na vista:

  1. Descreva o relatório no chat (por exemplo, "tabela de projetos com filtro por estado e total no rodapé").
  2. O assistente gera um documento HTML autónomo mais um contrato de dados — as definições de consulta de que precisa desta feature (e de outras features no workspace) — e mostra uma pré-visualização ao vivo renderizada com dados reais e atuais.
  3. Continue a iterar na mesma conversa; cada resposta substitui o rascunho anterior.
  4. Guardar persiste o rascunho na vista; Descartar descarta-o (pede confirmação se houver trabalho por guardar). Um guardar pode ser anulado através da ação Anular na notificação de confirmação.

O HTML gerado é autónomo (CSS/JS em linha, sem pedidos externos) e lê os seus dados a partir de window.OUTDO_DATA, que é injetado de raiz a partir dos dados locais sempre que a vista é aberta — sem necessidade de regeneração para refletir novas linhas. Uma Content-Security-Policy restritiva bloqueia qualquer acesso de rede a partir de dentro do documento, e não há escritas do artefacto de volta para o OutDo.

Também pode saltar a AI e editar o artefacto e o contrato de dados diretamente — ver Configuração manual de HTML.

Construir com o construtor de blocos (tipo PDF)

O Construtor de blocos abre uma tela A4/Letter com três regiões: cabeçalho (repete em cada página), corpo (flui e pagina), e rodapé (repete, com números de página).

Tipos de bloco disponíveis:

BlocoFinalidade
TextoTexto estático ou com modelo ({{...}} marcadores), opcionalmente estilizado como título
VariávelUma única expressão renderizada como etiqueta: valor (procuras, agregados, formatadores)
TabelaUma tabela de dados — escolha colunas, largura/alinhamento por coluna, soma opcional por coluna, riscas zebra, linha de cabeçalho preenchida
SeparadorUma linha horizontal
Quebra de páginaForça uma quebra de página
RepetiçãoMestre-detalhe: itera linhas de outra feature (com um filtro opcional por linha), renderizando um sub-layout filho para cada uma
CondicionalMostra/oculta o seu conteúdo consoante uma condição
ImagemUma imagem estática (por exemplo, um logótipo)

Os blocos assentam numa grelha (número de colunas configurável) e podem ocupar várias colunas/linhas dentro das bandas de cabeçalho/rodapé; os blocos do corpo empilham-se em linhas ordenadas.

A configuração de página no construtor só expõe o tamanho da página (A4/Letter) e a orientação (retrato/paisagem) — as margens e a resolução da grelha usam predefinições fixas. O modo Dados é Lista (um documento, em estilo de tabela, sobre todas as linhas correspondentes) 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). Um painel de Validação assinala problemas no modelo.

O modelo também tem o seu próprio filtro de conjunto de dados, independente dos filtros de admin da vista — é ele que decide que linhas alimentam o documento.

Assim que existe um modelo, o relatório é renderizado em linha como uma pré-visualização de PDF, gerada a pedido através de Gerar PDF / Atualizar PDF (não a cada alteração de dados — edite o modelo e depois atualize). A partir daí: Transferir guarda o ficheiro em disco e Imprimir abre a caixa de diálogo de impressão do sistema. Editar blocos reabre o construtor no mesmo modelo.

Âmbito: coleção vs registo

Definido através de Âmbito no separador Conteúdo:

ÂmbitoComportamento
Coleção (predefinição)O relatório corre sobre o conjunto completo (filtrado) de linhas da vista
Por registoO relatório está associado exatamente a uma linha. Os modelos HTML leem-na via $current.<coluna>. Os modelos PDF expõem-na como record.<campo> — estável em qualquer parte do documento, incluindo dentro de blocos de repetição — enquanto row.<campo> é a linha atual: o próprio registo associado fora de um bloco de repetição, ou cada linha filha iterada dentro de um. Normalmente é aberto ao incorporar a vista de relatório dentro de uma Vista Ligada num formulário, que fornece a linha associada

Um relatório com âmbito de registo aberto sem uma linha associada mostra um placeholder "Documento por registo" a pedir que o abra a partir de uma linha. Na própria pré-visualização do configurador de vistas, a primeira linha da feature é usada como dados de exemplo em vez desse placeholder.

Filtros

Duas camadas independentes, tal como em Tabela/Kanban:

  • Filtros Base (separador Filtros, admin) — um grupo de filtros aplicado automaticamente antes de o relatório ser renderizado, usando o mesmo construtor de regras do resto do motor.
  • Filtros (barra de ferramentas, por utilizador) — um filtro adicional que cada utilizador aplica por cima dos filtros do admin, persistido por utilizador. Apenas no âmbito de coleção.

Facetas

No âmbito de coleção, um painel de facetas à esquerda (alternado com o ícone de filtro; Escape fecha-o) permite restringir os dados por valores discretos de coluna, espelhando as facetas de Tabela/Kanban. 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 uma navegação Ano → Mês → Dia com contagens por valor disponíveis. As seleções de facetas combinam-se com os filtros de admin e de utilizador.

Configuração manual de HTML

Para o tipo HTML, o separador Conteúdo também expõe os campos em bruto onde a AI 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> — é usado como ponto de injeção para os dados e o CSS de 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 com limit.

Barra de ferramentas

AçãoDisponibilidade
Imprimir / PDFApenas no tipo HTML, com conteúdo, apenas desktop/mobile (não disponível na web) — abre o documento injetado no navegador do sistema para impressão (Cmd/Ctrl+P)
Editar com IATipo HTML, quando ainda não está em modo de edição
FiltrosApenas no âmbito de coleção — abre a caixa de diálogo de filtro por utilizador; mostra um distintivo com a contagem ativa
ConfigurarAbre a caixa de diálogo de configuração completa (separadores Filtros + Conteúdo)

Sugestões

  • Um relatório não configurado oferece três pontos de entrada a partir do seu estado vazio: Construtor de blocos, Construir com AI, e Configuração manual — escolha o que se adequar.
  • As facetas e o painel de filtro por utilizador só se aplicam no âmbito de coleção; um relatório com âmbito de registo mostra sempre apenas a linha associada.
  • A pré-visualização do PDF não se atualiza ao vivo — depois de editar o modelo, clique em Atualizar PDF para ver a alteração.
  • Uma configuração guardada que falhe ao ser processada mostra um placeholder "Configuração inválida" — reabra Configurar e guarde novamente para recuperar.