Ir para o conteúdo principal
HPO Software Guias passo a passo para criar bancos de dados 4D e apps low-code — da sua primeira tabela a um aplicativo de negócios funcional.

Alguns links neste site são links de afiliados: se você comprar através deles, podemos ganhar uma comissão sem custo adicional para você. Isso nunca afeta nossas recomendações. Consulte nossa divulgação de afiliados para mais detalhes. Divulgação de afiliados.

Melhores formulários 4D: principais escolhas comparadas (2026)

Os Formulários 4D são a camada de interface do usuário de uma aplicação 4D e a plataforma oferece três tipos distintos de formulários: detalhe, lista e formulário de saída, cada um adequado para uma tarefa diferente. Acertar em 2026 significa combinar o tipo de formulário com a tarefa e, em seguida, colocar listas de valores, subformulários e propriedades dinâmicas em camadas. Esta comparação abrange opções práticas, suas compensações e como decidir.

Principais conclusões

  • 4D oferece três tipos de formulários 4D: detalhe (um registro por vez), lista (vários registros em uma grade) e saída (layout de impressão/relatório). Escolher o tipo errado é o erro mais comum que os iniciantes cometem.
  • Formulários de Projeto (armazenados como arquivos JSON .4DForm) são o padrão moderno; Formulários de tabela são legados e vinculados a uma única tabela. Novos trabalhos deverão utilizar formulários de projeto.
  • Formulários Dinâmicos (DIALOG, FORM LOAD, FORM GOTO PAGE) permitem criar e trocar interfaces em tempo de execução - essencial para fluxos estilo assistente e interfaces de usuário baseadas em funções.
  • Listas de valores (estáticas, hierárquicas ou de um campo/matriz) geram listas suspensas, caixas de combinação e menus pop-up; vinculá-los a um campo é uma alteração de propriedade de linha única.
  • Subformulários incorporam um formulário dentro de outro e são a forma padrão de criar layouts mestre-detalhados sem duplicar widgets.
  • O desempenho em formulários de lista é altamente dependente da seleção de entidade versus seleção clássica e se o carregamento lento está habilitado para grandes conjuntos de registros.

O que “Formulários 4D” realmente significa

Os formulários 4D são definições declarativas da interface do usuário armazenadas na estrutura (formulários de tabela) ou como arquivos de projeto independentes (formulários de projeto). Um formulário contém objetos (campos de entrada, botões, caixas de listagem, subformulários, áreas da web e texto estático) organizados em uma tela com um tamanho de página definido e, opcionalmente, várias páginas. Cada objeto carrega propriedades (fonte de dados, estado editável, fonte, coordenadas) que 4D avalia em tempo de execução.

A distinção que mais importa para uma comparação: um formulário não é uma janela. Um formulário é um layout; uma janela é o container que 4D abre para exibi-la. O mesmo formulário pode aparecer em uma caixa de diálogo modal, em uma janela de paleta, em uma janela de documento redimensionável ou incorporado como um subformulário. A compreensão dessa separação permite que desenvolvedores experientes reutilizem um formulário em vários contextos, em vez de reconstruí-lo.

Os três tipos de formulário comparados

Tipo de formulárioRegistros mostradosUso típicoAdvertência principal
Formulário detalhadoUmEntrada de dados, edição de registros, diálogosNecessita de navegação explícita (botões, NEXT RECORD)
Formulário de listaMuitosNavegação, seleção, dashboardsSeleções grandes precisam de lazy loading ou paginação
Formulário de saídaMuitosImpressão, exportação de PDF, relatóriosNão interativo; layout é orientado para impressão

Formulários detalhados são o carro-chefe da entrada de dados. Eles exibem o registro atual de uma tabela e permitem que os usuários editem os campos diretamente. Um formulário detalhado também é a escolha natural para uma caixa de diálogo de configurações ou tela de login, porque você pode vinculá-lo a nenhuma tabela e controlá-lo apenas com variáveis ​​de processo.

Formulários de lista apresentam uma grade rolável de registros. Em 4D moderno, os formulários de lista são normalmente construídos em torno de um objeto caixa de listagem em vez da antiga abordagem “formulário de lista com colunas”. As caixas de listagem podem ser baseadas em array ou em seleção, e as caixas de listagem baseadas em seleção vinculam-se diretamente a uma seleção de entidade - que é o modelo preferido ao trabalhar com ORDA.

Formulários de saída existem para impressão. Eles renderizam registros em um layout de página com cabeçalhos, rodapés e níveis de quebra. Os formulários de saída não são destinados à interação na tela e 4D não permitirá aos usuários tabular os campos como fariam em um formulário detalhado.

Relacionado: — A plataforma de banco de dados relacional de longa duração para equipes que precisam de aplicativos personalizados em desktop, web e dispositivos móveis a partir de um único arquivo..

Estes são os três formulários 4D principais.

Formulários de Projeto vs. Formulários de Tabela

Os formulários do projeto são armazenados como arquivos individuais “.4DForm” na pasta “Forms” do projeto e são habilitados para controle de versão: cada formulário é um documento JSON separado, portanto, dois desenvolvedores editando formulários diferentes raramente colidem durante uma fusão. Os formulários de tabela estão localizados no arquivo de estrutura e são editados através do mesmo editor de formulários, mas estão conceitualmente vinculados a uma única tabela.

As dicas práticas para 2026: Comece cada novo formulário como um formulário de projeto. Os formulários de tabela permanecem totalmente suportados e você os encontrará em bancos de dados legados, mas os formulários de projeto oferecem diferenças mais claras, reutilização mais fácil entre tabelas e um modelo mental mais claro. A conversão de um formulário de tabela em um formulário de projeto envolve movê-lo da lista de formulários da tabela para a lista de formulários do projeto; as definições de objeto são preservadas.

Nossa escolha: — Uma interface simples de planilha baseada em um banco de dados relacional real, com automações, visualizações e interfaces compartilháveis..

Construindo um formulário: as etapas principais

  1. Crie o formulário no editor de formulários (Explorador → Formulários → Novo), escolhendo detalhe, lista ou saída.
  2. Defina o tamanho da página e, se necessário, adicione páginas para layouts de várias etapas.
  3. Inserir objetos: arraste campos do Explorer para a tela ou adicione botões, caixas de listagem e subformulários da Biblioteca de objetos.
  4. Vincular fontes de dados: atribua cada objeto de entrada a um campo, variável ou expressão.
  5. Configure listas de valores para qualquer lista suspensa, caixa de combinação ou menu pop-up.
  6. Vincular Eventos — anexa métodos a eventos de formulário (On Load, On Clicked, On Data Change) e eventos de objeto.
  7. Teste no editor de formulários usando a visualização integrada e, em seguida, em uma janela em execução.

A Etapa 6 é onde acontece a maior parte do trabalho real ao criar formulários 4D. Um formulário sem métodos de evento é uma imagem estática; o evento de formulário On Load normalmente é onde você preenche arrays, carrega uma lista de valores ou define estados editáveis ​​com base na função do usuário atual.

Listas de valores: o detalhe que confunde as pessoas

As Listas de Valores são o mecanismo por trás de cada lista suspensa, caixa de combinação e menu pop-up em formulários 4D. Existem três tipos:

  • Listas estáticas — você insere valores uma vez no editor de listas. Ideal para enumerações fixas como códigos de status.
  • Listas hierárquicas — suporta elementos aninhados com uma convenção de separador |, útil para árvores de categorias.
  • Listas dinâmicas — preenchidas a partir de um campo, uma matriz ou uma fórmula em tempo de execução. Estas refletem dados em tempo real, portanto, uma lista de clientes ativos permanece atualizada sem reimplantação.

Uma armadilha comum: vincular uma lista de valores dinâmicos a um campo que armazena uma referência (um ID) enquanto exibe um rótulo. 4D gerencia isto com o conceito de “valor associado”: ​​a lista armazena um valor e mostra outro. Acertar é a diferença entre uma lista suspensa que registra “42” e outra que registra “Acme Corp.”

Subformulários e layouts mestre-detalhados

Os subformulários integram um formulário em outro. O formulário pai hospeda um objeto subformulário; o formulário filho é exibido dentro. Os dados fluem através da propriedade “tabela” do subformulário e, em 4D moderno, através do objeto Form passado ao filho.

O layout mestre-detalhe é o uso canônico para formulários 4D: um formulário de detalhe para uma fatura na parte superior, um formulário de lista para linhas de fatura em um subformulário abaixo. Quando o registro pai muda, a seleção do subformulário é atualizada - desde que você a atualize no On Data Change do pai ou vinculando novamente a seleção. Os subformulários também permitem criar componentes reutilizáveis: um formulário de “seletor de clientes” pode ser colocado em qualquer pai que precise dele.

Formulários Dinâmicos e UI em Tempo de Execução

Os formulários 4d dinâmicos modificam a interface enquanto a aplicação está em execução. Os comandos principais são DIALOG (abrir um formulário como uma caixa de diálogo modal ou não modal), FORM LOAD (carregar um formulário na memória sem exibi-lo), FORM GOTO PAGE (alterar páginas) e OBJECT SET... que alteram as propriedades do objeto instantaneamente.

Relacionado: — Desenvolvimento de aplicativos low-code de nível empresarial conectados ao Microsoft 365, Dataverse e Power Automate..

Os formulários dinâmicos são importantes para dois cenários. Primeiro, Fluxos do assistente: um único formulário com múltiplas páginas, avançado por FORM GOTO PAGE à medida que o usuário conclui as etapas. Segundo, interfaces baseadas em funções — oculta ou desabilita objetos em On Load com base nos privilégios do usuário, para que um formulário atenda tanto a um administrador quanto a um visualizador somente leitura. A desvantagem é a complexidade: o comportamento dinâmico é mais difícil de depurar do que um layout estático, portanto reserve-o para casos em que um segundo formulário seria necessário.

Considerações de desempenho

O desempenho dos formulários lista 4D é dominado pelo número de registros que 4D deve materializar. Uma caixa de listagem baseada em seleção vinculada a uma seleção de entidade carrega apenas as linhas que exibe, o que mantém a memória plana à medida que a tabela cresce. As caixas de listagem clássicas baseadas em array carregam tudo com antecedência e ficam visivelmente mais lentas em tabelas grandes.

Duas outras alavancas: carregamento lento em caixas de listagem (recuperando linhas durante a rolagem) e consultas do lado do servidor que retornam uma seleção limitada em vez da tabela inteira. Para implantações cliente-servidor, o custo de ida e volta para buscar registros na rede normalmente ofusca o tempo de renderização, portanto, restringir a seleção é a otimização de maior valor.

Favorito do leitor: — Um construtor de banco de dados sem código voltado para portais, diretórios e ferramentas internas — com preços fixos em vez de taxas por usuário..

Como decidir

  • Inserção de dados para um registro? Formulário detalhado.
  • Navegar ou selecionar entre vários registros? Formulário de lista com uma caixa de listagem baseada na seleção.
  • Impressão ou saída em PDF? Formulário de saída.
  • Reutilizável em múltiplas tabelas? Formulário de projeto, não formulário de tabela.
  • Processo de várias etapas? Um formulário com múltiplas páginas, avançado dinamicamente.
  • Relacionamento mestre-detalhe? Formulário detalhado que hospeda um subformulário de formulário de lista.
  • Conjunto de opções fixas? Lista de valores estáticos. Dados em tempo real? Lista dinâmica de valores.

Essas opções ajudam você a escolher os formulários 4D certos para suas necessidades.

Recursos de aprendizagem

A documentação oficial 4D é a referência oficial para formulários, objetos, eventos e comandos 4D. Comece por aí para descobrir os nomes exatos das propriedades e assinaturas de comandos. Para obter informações básicas sobre os conceitos subjacentes de banco de dados, o artigo da Wikipedia sobre 4D (software) fornece um histórico útil da plataforma. Vale a pena ler a página de formato JSON se você planeja editar os arquivos .4DForm manualmente ou compará-los no controle de versão. Para princípios gerais de design relacional que informam como você estrutura as tabelas por trás de seus formulários, confira a visão geral da normalização de banco de dados.

Perguntas frequentes

O que é um formulário 4D?

Um formulário 4D é uma apresentação declarativa da interface do usuário composta por objetos (campos de entrada, botões, caixas de listagem, subformulários) vinculados a fontes de dados. 4D avalia as propriedades do formulário em tempo de execução e o exibe em uma janela, uma caixa de diálogo ou como um subformulário incorporado. Os formulários são de três tipos: detalhe, lista e saída.

Qual é a diferença entre um formulário detalhado e um formulário de lista em 4D?

Um formulário detalhado exibe um registro por vez e é usado para entrada e edição de dados. Um formulário de lista exibe muitos registros, geralmente em uma caixa de listagem, e é usado para navegação e seleção. Os dois são frequentemente combinados: um formulário de lista para escolher um registro e, em seguida, um formulário detalhado para editá-lo.

Devo usar formulários de projeto ou formulários de tabela?

Os formulários de projeto são o padrão moderno por padrão e são armazenados como arquivos “.4DForm” separados, tornando-os mais fáceis de reutilizar e gerenciar no controle de versões. Os formulários de tabela são legados e vinculados a uma única tabela. Novos desenvolvimentos devem utilizar formulários de projeto; os formulários de tabela permanecem com suporte para bancos de dados existentes.

Como funcionam as listas de valores em formulários 4D?

As listas de valores preenchem listas suspensas, caixas de combinação e menus pop-up. Elas podem ser estáticas (inserido apenas uma vez), hierárquicos (itens aninhados) ou dinâmicos (criados a partir de um campo, matriz ou fórmula em tempo de execução). Uma lista de valores pode armazenar um valor enquanto exibe outro, que é como você exibe o nome de um cliente enquanto salva seu ID.

Posso alterar um formulário 4D em tempo de execução?

Sim. Formulários dinâmicos usam comandos como DIALOG, FORM LOAD e FORM GOTO PAGE para carregar formulários, alternar páginas e alterar propriedades de objetos enquanto o aplicativo está em execução. Isso oferece suporte a fluxos no estilo de assistente e interfaces baseadas em funções, onde um formulário atende usuários diferentes.

Por que meu formulário de lista 4D é lento com tabelas grandes?

A lentidão do formulário de lista geralmente vem da materialização de muitos registros. As caixas de listagem baseadas em seleção vinculadas às seleções de entidade carregam apenas as linhas exibidas, enquanto as caixas de listagem baseadas em matriz carregam tudo. Ativar o carregamento lento e restringir a consulta a uma seleção limitada são as duas soluções com maior impacto.

Perguntas frequentes

O que é um formulário 4D?

Um formulário 4D é uma apresentação declarativa da interface do usuário composta por objetos (campos de entrada, botões, caixas de listagem, subformulários) vinculados a fontes de dados. 4D avalia as propriedades do formulário em tempo de execução e o exibe em uma janela, uma caixa de diálogo ou como um subformulário incorporado. Os formulários são de três tipos: detalhe, lista e saída.

Qual é a diferença entre um formulário detalhado e um formulário lista em 4D?

Um formulário detalhado exibe um registro por vez e é usado para entrada e edição de dados. Um formulário de lista exibe muitos registros, geralmente em uma caixa de listagem, e é usado para navegação e seleção. Os dois são frequentemente combinados: um formulário de lista para escolher um registro e, em seguida, um formulário detalhado para editá-lo.

Devo usar formulários de projeto ou formulários de tabela?

Os formulários de projeto são o padrão moderno por padrão e são armazenados como arquivos '.4DForm' separados, tornando-os mais fáceis de reutilizar e gerenciar no controle de versão. Os formulários de tabela são legados e vinculados a uma única tabela. Novos empreendimentos devem utilizar formulários de projeto; os formulários de tabela permanecem com suporte para bancos de dados existentes.

Como funcionam as listas de valores em formulários 4D?

As listas de valores preenchem listas suspensas, caixas de combinação e menus pop-up. Eles podem ser estáticos (inserido apenas uma vez), hierárquicos (itens aninhados) ou dinâmicos (criados a partir de um campo, matriz ou fórmula em tempo de execução). Uma lista de valores pode armazenar um valor enquanto exibe outro, que é como você exibe o nome de um cliente enquanto salva seu ID.

Posso mudar um formulário 4D em tempo de execução?

Sim. Os formulários dinâmicos usam comandos como DIALOG, FORM LOAD e FORM GOTO PAGE para carregar formulários, alternar páginas e alterar propriedades de objetos enquanto o aplicativo está em execução. Isso oferece suporte a fluxos no estilo de assistente e interfaces baseadas em funções, onde um formulário atende usuários diferentes.

Por que meu formulário de lista 4D é lento com tabelas grandes?

A lentidão da forma de lista geralmente vem da materialização de muitos registros. As caixas de listagem baseadas em seleção vinculadas às seleções de entidade carregam apenas as linhas exibidas, enquanto as caixas de listagem baseadas em matriz carregam tudo. Ativar o carregamento lento e restringir a consulta a uma seleção limitada são as duas soluções com maior impacto.


Crie um portal do cliente em um dia

Um construtor de banco de dados sem código voltado para portais, diretórios e ferramentas internas — com preços fixos em vez de taxas por usuário.