Skip to main content

report

Relatório

Um relatório guardado: as entradas e as fontes que pede, e o conteúdo (template de PDF ou documento HTML com o contrato de dados). Viaja nos pacotes com a tabela principal.

  • Kind: structure
  • Key: report
  • Categoria: estrutura
  • Envelope: mapa (um objeto JSON em config)

Campos​

ChaveTipoObrigatórioOmissãoDescriçãoReferência
inputslist de mapnão[]O que quem abre o relatório tem de dar: um registo, uma coleção de registos ou um valor.-
sourceslist de mapnão[]Conjuntos de linhas com nome que o conteúdo lê.-
templatejsonnão-O JSON do template de PDF (página, cabeçalho, corpo, rodapé e blocos) quando o tipo é native.expressões {{record.coluna}}
artifactstringnão""O documento HTML autónomo (CSS e JS embutidos, sem rede), com os tokens que o runtime substitui ao abrir.expressões {{record.coluna}}
dataContractmapnão{}Que dados do OutDo são injetados a cada abertura: uma consulta por conjunto de linhas, mais as variáveis.-
filterGroupmapnão-Pré-filtro sobre a coleção da entrada records.-

inputs[]​

Cada elemento de inputs é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
namestringsim-Nome da entrada, único no relatório.-
kindenumerationsim-Um registo da tabela, os registos da coleção, ou um valor.-
featureuuidnão-Tabela do registo ou da coleção. Só nas entradas record e records.feature (uuid)
typeenumerationnão"text"Tipo do valor. Só nas entradas value.-
labelstringnão-Rótulo mostrado a quem preenche.-
requiredbooleannãotrueA entrada tem de ser dada.-

sources[]​

Cada elemento de sources é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
namestringsim-Nome da fonte, único no relatório.-
featureuuidsim-Tabela de onde saem as linhas.feature (uuid)
filtermapnão-Filtro sobre as linhas da fonte. Os valores aceitam {{record.*}} e {{params.*}}.-
ordermapnão-Ordem das linhas.-
limitintegernão-Máximo de linhas da fonte.-

sources[].filter​

ChaveTipoObrigatórioOmissãoDescriçãoReferência
combinatorenumerationnão"and"Como se combinam as regras do grupo: and exige todas, or basta uma.-
ruleslist de mapnão-As regras do grupo.-
groupslist de mapnão-Subgrupos aninhados, com a mesma forma.-

sources[].filter.rules[]​

Cada elemento de sources[].filter.rules é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
idstringnão-Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
columnNamestringnão-Coluna da tabela da fonte, POR NOME.coluna de feature (nome)
operatorstringnão-Operador da comparação.-
valuestringnão-Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
secondValuestringnão-Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

sources[].filter.groups[]​

Cada elemento de sources[].filter.groups é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
combinatorenumerationnão"and"Como se combinam as regras do subgrupo.-
ruleslist de mapnão-As regras do grupo.-
groupslistnão-Subgrupos de terceiro nível: varrem-se às cegas (uma FieldDecl const não se pode referir a si própria).-

sources[].filter.groups[].rules[]​

Cada elemento de sources[].filter.groups[].rules é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
idstringnão-Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
columnNamestringnão-Coluna da tabela da fonte, POR NOME.coluna de feature (nome)
operatorstringnão-Operador da comparação.-
valuestringnão-Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
secondValuestringnão-Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

sources[].order​

ChaveTipoObrigatórioOmissãoDescriçãoReferência
fieldstringnão-Coluna da tabela da fonte, POR NOME.coluna de feature (nome)
direnumerationnão"asc"Ascendente ou descendente.-

dataContract​

ChaveTipoObrigatórioOmissãoDescriçãoReferência
querieslist de mapnão[]As consultas, uma por chave de dados.-
variablesjsonnão{}Variáveis passadas ao documento: nome → valor. Dados de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

dataContract.queries[]​

Cada elemento de dataContract.queries é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
namestringsim-Chave sob a qual as linhas aparecem no documento.-
featurestringsim-Feature de onde saem as linhas: id, nome, ou a referência simbólica que a IA escreve.feature (uuid ou nome)
columnslist de stringnão[]Colunas trazidas, POR NOME; vazio = todas. Só sai no JSON quando não está vazia.-
filterlist de stringnão[]Filtros de linha na forma campo:operador:valor (a mesma sintaxe das ferramentas de leitura da IA).-
limitintegernão-Máximo de linhas trazidas.-

filterGroup​

ChaveTipoObrigatórioOmissãoDescriçãoReferência
combinatorenumerationnão"and"Como se combinam as regras do grupo: and exige todas, or basta uma.-
ruleslist de mapnão-As regras do grupo.-
groupslist de mapnão-Subgrupos aninhados, com a mesma forma.-

filterGroup.rules[]​

Cada elemento de filterGroup.rules é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
idstringnão-Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
columnNamestringnão-Coluna desta tabela, POR NOME.coluna (nome)
operatorstringnão-Operador da comparação.-
valuestringnão-Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
secondValuestringnão-Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

filterGroup.groups[]​

Cada elemento de filterGroup.groups é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
combinatorenumerationnão"and"Como se combinam as regras do subgrupo.-
ruleslist de mapnão-As regras do grupo.-
groupslistnão-Subgrupos de terceiro nível: varrem-se às cegas (uma FieldDecl const não se pode referir a si própria).-

filterGroup.groups[].rules[]​

Cada elemento de filterGroup.groups[].rules é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
idstringnão-Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
columnNamestringnão-Coluna desta tabela, POR NOME.coluna (nome)
operatorstringnão-Operador da comparação.-
valuestringnão-Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
secondValuestringnão-Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

Exemplo JSON​

{
"inputs": [],
"sources": [],
"artifact": "",
"dataContract": {}
}

Gerado de definitions.json versão 35a57cb3aa07. Esta página nasce no build: não se edita à mão.