Mudanças entre as edições de "Formulários"

(Sugestão de Leitura)
(Quais os benefícios e/ou ganhos de uso)
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 16: Linha 16:
 
==='''Quais os benefícios e/ou ganhos de uso'''===
 
==='''Quais os benefícios e/ou ganhos de uso'''===
  
* Um único motor atende as quatro frentes quem aprende a montar um Formulário sabe montar pra qualquer um dos usos acima, sem curva de aprendizado nova a cada contexto.
+
* Um único motor atende as quatro frentes, quem aprende a montar um Formulário sabe montar pra qualquer um dos usos acima, sem curva de aprendizado nova a cada contexto.
* Campo, tipo, obrigatoriedade e valor padrão são '''configuração''', não programação reduz a dependência de desenvolvimento pra ajustes pontuais.
+
* Campo, tipo, obrigatoriedade e valor padrão são '''configuração''', não programação, reduz a dependência de desenvolvimento pra ajustes pontuais.
* O preenchimento automático de data (Valor Padrão dinâmico, ver Exemplos) evita que o usuário esqueça de ajustar o filtro e acabe analisando um período desatualizado sem perceber o campo já abre certo, todo dia.
+
* O preenchimento automático de data (Valor Padrão dinâmico, ver Exemplos) evita que o usuário esqueça de ajustar o filtro e acabe analisando um período desatualizado sem perceber, o campo já abre certo, todo dia. Recurso valioso para os dashboards, na qual podemos definir comportamentos de filtro, se a necessidade de informar manualmente um período.
* Um Formulário marcado pra "lembrar" o preenchimento evita que o usuário tenha que redigitar o mesmo filtro toda vez que reabre a tela.
+
* Um Formulário marcado para "Salvar" o preenchimento evita que o usuário tenha que redigitar o mesmo filtro toda vez que reabre a tela.
  
 
==='''Cadastro'''===
 
==='''Cadastro'''===
Linha 33: Linha 33:
 
'''Campo do Formulário''' (um registro por campo)
 
'''Campo do Formulário''' (um registro por campo)
  
* '''Nome:''' Identificador do campo dentro do Formulário; é esse nome que aparece como parâmetro disponível pra quem consome o Formulário (relatório, dashboard, script do botão).
+
* '''Nome:''' Identificador do Formulário; é esse nome que aparece como parâmetro disponível pra quem consome o Formulário (relatório, dashboard, botões).
 
* '''Legenda:''' Rótulo exibido acima do campo pro usuário.
 
* '''Legenda:''' Rótulo exibido acima do campo pro usuário.
* '''Tipo de Campo:''' Define o tipo de dado e o controle exibido. Principais tipos disponíveis: Texto (linha única), Texto (memo/várias linhas), Inteiro, Valor (numérico com casas decimais), Data, Data/Hora, Hora, Lógico (sim/não), Lista de Opções, Radio, Tabela (busca/vínculo a um cadastro), Filtro, Diretório, Imagem.
+
* '''Tipo de Campo:''' Define o tipo de dado e o controle exibido. Principais tipos disponíveis: String, Inteiro, Valor (numérico com casas decimais), Data, Data/Hora, Hora, Lógico (sim/não), Lista de Opções, Radio, Tabela (busca/vínculo a um cadastro), Filtro, Diretório, Imagem.
 
* '''Sequência:''' Ordem de exibição do campo na tela.
 
* '''Sequência:''' Ordem de exibição do campo na tela.
 
* '''Nova Linha:''' Força o campo a começar sozinho numa linha nova, mesmo sobrando espaço na linha anterior.
 
* '''Nova Linha:''' Força o campo a começar sozinho numa linha nova, mesmo sobrando espaço na linha anterior.

Edição atual tal como às 17h03min de 29 de agosto de 2026

O que é

O Formulário é uma tela dinâmica de coleta de informações, configurada inteiramente via cadastro (sem precisar de programação pra cada caso novo). Cada Formulário é composto por um cabeçalho (nome, legenda, tamanho) e uma lista de campos, onde cada campo é configurado como um registro próprio — com tipo, obrigatoriedade, valor padrão, etc.

O mesmo motor de Formulário é reaproveitado em vários pontos do sistema, tanto no desktop quanto na web: não existe um "Formulário de relatório" e um "Formulário de dashboard" separados — é a mesma engine, o que muda é só onde ela é acionada e o que é feito com os valores preenchidos.

Para que serve

Hoje o Formulário é usado em quatro frentes:

  • Preenchimento de informações durante um processo: Um botão de cadastro pode abrir um Formulário pra pedir dados antes de executar uma rotina (ex: confirmar um período, escolher uma opção, informar uma observação) antes de rodar o script/regra de negócio vinculada ao botão.
  • Filtro de relatório: Um formato de relatório pode ter um Formulário vinculado; os valores preenchidos viram parâmetros disponíveis pra a consulta do relatório.
  • Filtro de dashboard: Um dashboard pode ter um Formulário vinculado; cada campo do Formulário pode ser ligado a uma coluna catalogada de um widget do dashboard (cadastro Filtro do Widget do Dashboard), o que monta automaticamente a condição de filtro sem precisar mexer na consulta (EXPRESSAOSQL) do widget.
  • (Em breve) Filtro de Kanban e de Agenda: Mesmo mecanismo de filtro do dashboard, aplicado às próximas telas que vão passar a aceitar filtro por Formulário.

Quais os benefícios e/ou ganhos de uso

  • Um único motor atende as quatro frentes, quem aprende a montar um Formulário sabe montar pra qualquer um dos usos acima, sem curva de aprendizado nova a cada contexto.
  • Campo, tipo, obrigatoriedade e valor padrão são configuração, não programação, reduz a dependência de desenvolvimento pra ajustes pontuais.
  • O preenchimento automático de data (Valor Padrão dinâmico, ver Exemplos) evita que o usuário esqueça de ajustar o filtro e acabe analisando um período desatualizado sem perceber, o campo já abre certo, todo dia. Recurso valioso para os dashboards, na qual podemos definir comportamentos de filtro, se a necessidade de informar manualmente um período.
  • Um Formulário marcado para "Salvar" o preenchimento evita que o usuário tenha que redigitar o mesmo filtro toda vez que reabre a tela.

Cadastro

Formulário (cabeçalho)

  • Nome: Identificador único do Formulário, usado internamente pra vincular a um botão de cadastro, formato de relatório ou dashboard.
  • Legenda: Título exibido no cabeçalho da tela/modal do Formulário.
  • Largura / Altura: Tamanho da tela do Formulário no desktop.
  • Salvar: Quando marcado, o sistema lembra o último valor preenchido por cada usuário em cada campo, e já abre o Formulário preenchido da próxima vez (útil pra filtros repetitivos, como os de relatório/dashboard).
  • Ajuda: Link relacionado à página de ajuda correspondente. Quando informado, é criado um botão de ajuda que serve de atalho para a respectiva página de ajuda.

Campo do Formulário (um registro por campo)

  • Nome: Identificador do Formulário; é esse nome que aparece como parâmetro disponível pra quem consome o Formulário (relatório, dashboard, botões).
  • Legenda: Rótulo exibido acima do campo pro usuário.
  • Tipo de Campo: Define o tipo de dado e o controle exibido. Principais tipos disponíveis: String, Inteiro, Valor (numérico com casas decimais), Data, Data/Hora, Hora, Lógico (sim/não), Lista de Opções, Radio, Tabela (busca/vínculo a um cadastro), Filtro, Diretório, Imagem.
  • Sequência: Ordem de exibição do campo na tela.
  • Nova Linha: Força o campo a começar sozinho numa linha nova, mesmo sobrando espaço na linha anterior.
  • Opcional: Quando marcado, o campo não é obrigatório pra confirmar o Formulário.
  • Leitura: Torna o campo somente-leitura (exibe o valor mas não permite edição).
  • É Senha: Mascara o valor digitado (usado em campos de texto sensíveis).
  • Valor Padrão: Valor com que o campo já abre preenchido. Além de um valor literal fixo, campos de Data/Data e Hora aceitam uma expressão dinâmica que é recalculada toda vez que o Formulário é aberto (ver Exemplos abaixo) — é a forma recomendada de propor um período relativo (últimos 30 dias, mês atual, ano atual, etc.) sem deixar uma data fixa "esquecida" na configuração.
  • Agora: Quando marcado (só se aplica a campos de Data/Data e Hora), o campo sempre abre com a data do dia. Tem prioridade sobre o Valor Padrão.
  • Condição SQL: Filtro adicional aplicado à busca de um campo do tipo Tabela/Lista de Opções (ex: restringir a busca a registros ativos, ou de uma filial específica).
  • Tabela de Pesquisa / Campo Exibição / Campo Pai: Usados no campo tipo Tabela, definem em qual cadastro buscar, qual coluna mostrar como resultado, e (se aplicável) qual campo pai relaciona a busca a um valor já preenchido em outro campo do mesmo Formulário.
  • Lista de Opções: Grupo de opções (DB_LISTASOPCOES) usado nos tipos Lista de Opções e Radio.
  • Casas Decimais: Quantidade de casas decimais exibidas no tipo Valor.
  • Mínimo: Tamanho mínimo de caracteres aceito (tipo Texto) ou valor mínimo (conforme o tipo).
  • Vários Registros: Permite selecionar mais de um valor no mesmo campo (tipos Tabela/Lista de Opções), tratados como uma lista na hora de aplicar o filtro.
  • Colunas: Colunas exibidas na grade de busca do campo tipo Tabela.

Por padrão, não adicionamos imagens/figuras ao processo de documentação.

Exemplos

Sintaxe dinâmica de data no Valor Padrão

Um campo de Data ou Data/Hora aceita, no Valor Padrão, a expressão [DATA;TIPO;VARIAÇÃO], resolvida pra uma data real toda vez que o Formulário é aberto — o campo nunca fica "parado" numa data antiga.

Tipo Significado Variação
D Variação em dias quantidade de dias a somar/subtrair de hoje
MP Primeiro dia do mês, variando mês a mês quantidade de meses a deslocar antes de tomar o 1º dia
MU Último dia do mês, variando mês a mês quantidade de meses a deslocar antes de tomar o último dia
AP Primeiro dia do ano, variando ano a ano quantidade de anos a deslocar antes de tomar o 1º dia
AU Último dia do ano, variando ano a ano quantidade de anos a deslocar antes de tomar o último dia

Exemplos de resultado (tomando "hoje" como uma data qualquer de referência):

  • [DATA;D;0] → hoje
  • [DATA;D;-30] → hoje menos 30 dias
  • [DATA;MP;0] → primeiro dia do mês atual
  • [DATA;MU;0] → último dia do mês atual
  • [DATA;MP;-1] → primeiro dia do mês passado
  • [DATA;AP;0] → primeiro dia do ano atual
  • [DATA;AU;0] → último dia do ano atual

Formulário como filtro de período de um dashboard

Um Formulário com dois campos de Data — "Data Inicial" (Valor Padrão [DATA;D;-30]) e "Data Final" (Valor Padrão [DATA;D;0]) — vinculado a um dashboard, sempre abre propondo "os últimos 30 dias até hoje", sem que ninguém precise lembrar de ajustar manualmente. Cada um desses dois campos é então ligado, no cadastro de Filtro do Widget do Dashboard, à coluna do widget que representa a data (uma condição "maior ou igual" pra Data Inicial, "menor ou igual" pra Data Final) — um período é sempre modelado como duas condições simples, não como um único campo de intervalo.

Conclusão

O Formulário é a peça que conecta processos, relatórios e dashboards a uma tela de coleta configurável — sem depender de programação pra cada tela nova. Dominar a criação de um Formulário (tipos de campo, valor padrão, condição SQL) aproveita pras quatro frentes de uso atuais e futuras (processo, relatório, dashboard, e em breve Kanban/Agenda).


Assuntos Relacionados

Dashboards