Formulários

Revisão de 16h35min de 29 de agosto de 2026 por Admin (discussão | contribs) (Criou página com '==='''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...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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.
  • 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.

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 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).
  • 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.
  • 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).

Sugestão de Leitura

Assuntos Relacionados

Dashboards

Cadastro Dinâmico

Filtros de Relatório