DocType é o núcleo do desenvolvimento em NEO.
É ele que define estrutura de dados, experiência base do formulário, permissões e grande parte da integração entre backend e front-end.
O que um DocType define
Um DocType pode definir:
campos;
layout;
naming;
permissões;
workflow documental;
comportamento via controller;
visualizações do Desk;
integração com reports e APIs.
Tipos de DocType
Tipo
Uso
Padrão
Registro persistido em tabela própria
Child Table
Estrutura dependente do pai
Single
Configuração global com instância única
Tree
Estrutura hierárquica
Submittable
Documento com draft, submit e cancel
Virtual DocType
Estrutura lógica sem tabela padrão
Antes de criar campos
Vale responder:
qual entidade de negócio está sendo representada;
qual é a identidade natural do registro;
que dados são digitados e quais são derivados;
se o documento terá submit ou workflow;
se haverá tabela filha;
como isso aparecerá no Desk e no portal.
Tipos de campo e impacto no front-end
Tipo de campo
Efeito no front-end
Data / Date
Widgets e validações específicas
Select
Opções controladas
Check
Interação booleana simples
Link
Busca remota e navegação
Table
Grade embutida no formulário
Attach
Upload de arquivo
Read Only
Campo informativo ou calculado
Modelar bem é também modelar a experiência padrão da UI.
Layout e ergonomia
Boas práticas:
colocar status e identificadores no topo;
separar dados cadastrais e operacionais;
usar seções e colunas;
evitar excesso de obrigatórios;
deixar derivados como somente leitura.
Child Tables
Child Tables funcionam bem para:
linhas de documento;
composições;
anexos estruturados;
regras por item.
No front-end, elas mudam bastante a experiência do usuário porque a edição passa a acontecer dentro do formulário pai.
Single, Tree e casos especiais
Single
Ideal para configurações globais.
Tree
Bom para hierarquias como categorias ou estrutura organizacional.
Virtual DocType
Útil quando o dado vem de outra fonte ou lógica agregada, exigindo backend mais customizado.