Formulário Dinâmico (FormDynamic)
O Formulário Dinâmico representa uma instância configurável de formulário utilizada para coleta, exibição e organização de dados operacionais.
Ele combina templates, atributos e vínculos contextuais para criar formulários reutilizáveis, flexíveis e orientados ao domínio.
Cada formulário pertence a uma empresa e pode ser aplicado a diferentes unidades produtivas e produtos.
Identidade do Modelo
Configurações estruturais que definem o comportamento do objeto.
| Recurso | Identificador | Finalidade |
|---|---|---|
| Módulo | Formulários | Contexto funcional |
| Grupo | FormDynamic | Identificação técnica do schema |
| Principal | Sim | Disponível como ponto de entrada no menu |
Contrato do Modelo
Este schema opera sob as seguintes garantias:
- Todo
FormDynamicpertence a uma empresa - O campo
codeé auto-gerado, único e imutável - A
descriptioné o identificador humano - Um formulário é sempre baseado em um Template de Formulário
- Atributos são organizados por seções funcionais
- Um formulário pode ser vinculado a múltiplos contextos operacionais
- O isolamento por empresa é aplicado automaticamente
Interface & Comportamento (UI)
Como o sistema interpreta e apresenta este formulário.
Inteligência de Busca
Campos indexados para localização rápida:
- Campos indexados:
description,code - Descriptor:
description
Em qualquer listagem ou vínculo, o formulário será identificado por sua descrição.
Composição do Formulário
O formulário é estruturado por blocos funcionais, cada um com um papel específico:
Template do Formulário (template_form)
- Relacionamento com
TemplateForm - Define layout, regras base e estrutura do formulário
- Obrigatório
Atributos do Cabeçalho (attribute_header)
- Lista de
Attribute - Exibidos na área superior do formulário
- Obrigatórios
- Aba: Cabeçalho
Atributos do Corpo (attribute_body)
- Lista de
Attribute - Representam o conteúdo principal do formulário
- Obrigatórios
- Aba: Corpo
Unidades de Produção (production_unit)
- Relacionamento com
DwProductionUnit - Define onde o formulário pode ser utilizado
- Aba: Unidade de Produção
Produtos Vinculados (product)
- Relacionamento com
Item - Restringe o uso do formulário a produtos específicos
- Aba: Produto
Regras do Formulário
A ordem, validações e separação por abas são aplicadas automaticamente pelo sistema.
Código (code)
- Auto-gerado
- Obrigatório
- Único
- Não editável
Descrição (description)
- Texto (máx. 100 caracteres)
- Obrigatório
Empresa (companySiteId)
- Relacionamento com
CompanySite - Preenchido automaticamente
- Campo desabilitado
Conectividade e Regras Especiais
| Campo | Relation Schema | Valor Default | Valor Fixo |
|---|---|---|---|
template_form | TemplateForm | - | - |
attribute_header | Attribute | - | - |
attribute_body | Attribute | - | - |
production_unit | DwProductionUnit | - | - |
product | Item | - | - |
companySiteId | CompanySite | Contexto atual | - |
sync | - | - | false |
Os relacionamentos garantem integridade estrutural entre formulários, templates, atributos e contexto operacional.
Segurança e Integridade
Multitenancy (Múltiplas Empresas)
Com multi_company: true, o sistema aplica:
- Isolamento completo por empresa
- Filtro automático em todas as consultas
- Bloqueio de acesso cruzado, inclusive via API
Sincronização de Dados
dataSync: registro da última sincronizaçãosync: flag de controle interno- Valor inicial fixo:
false
Exemplo de Registro
{
"code": 21,
"description": "Formulário de Inspeção Final",
"template_form": "Inspeção Padrão",
"attribute_header": ["Data", "Turno", "Operador"],
"attribute_body": ["Peso", "Dimensão", "Conformidade"],
"production_unit": ["Linha 1", "Linha 2"],
"product": ["Produto A"],
"companySiteId": "64fa9c2e8b1c2a001f3e9a77"
}