CRUD Form Tabs (Abas Dinâmicas por Etapas)
Descrição
Este recurso adiciona sub-abas dinâmicas dentro da aba Dados gerais do CRUD.
Os campos são agrupados por etapas (stages) com base no NOME_POST dos campos.
Campos que não fazem parte de nenhuma etapa definida são direcionados para a aba “Outros” (nome e posição são configuráveis).


Se enabled = false ou não houver configuração, a tela permanece no formato anterior.
- Dentro da aba “Dados gerais”, renderiza as sub-abas quando habilitado.
- Abas exibidas na ordem definida pelo parâmetro.
Como habilitar
- Criar o parâmetro
crud_form_tabsno campo OPTIONS da tabelanfs_core_ds_tabela. - Definir o JSON de configuração (veja schema abaixo).
- Se o JSON estiver inválido ou ausente, o comportamento permanece igual ao anterior.
Exemplo de Configuração
Esse exemplo foi tirado do ambiente (https://suzano-sal.h.simova.cloud/ - Tabela: viagem_or).
enabled: Ativa o recurso.stages: Array de objetos que representam os estágios, composto por:code: Identificador único do stage.label: Título da aba.fields: Campos que vão entrar nessa aba/stage
others_tab_position: Posição da aba dos campos que sobram, pode ser "first" ou "last", por padrão é "last".others_tab_name: Label/título da aba dos campos que sobram, por padrão essa aba vai se chamar "Outros". "others_tab_name": "Dados"
{
"crud_form_tabs": {
"enabled": true,
"stages": [
{
"code": "carga",
"label": "Carga",
"order": 10,
"fields": [
"APT_CARGA_SEQ_DB",
"DADOS_CARGA"
]
},
{
"code": "logmeter",
"label": "Logmeter",
"order": 20,
"fields": [
"VOLUME_LOGMETER",
"ID_LOGMETER",
"APT_LOGMETER_SEQ_DB",
"CONTADOR_LM",
"FLAG_ENTRADA_LOGMETER"
]
},
{
"code": "balanca_e",
"label": "Balança E",
"order": 30,
"fields": [
"APT_BALANCA_E_SEQ_DB",
"DADOS_BALANCA_E",
"APONTAR_CARGA_BALANCA"
]
},
{
"code": "descarga",
"label": "Descarga",
"order": 40,
"fields": [
"APT_DESCARGA_SEQ_DB",
"DADOS_DESCARGA"
]
},
{
"code": "balanca_s",
"label": "Balança S",
"order": 50,
"fields": [
"APT_BALANCA_S_SEQ_DB",
"DADOS_BALANCA_S",
"PROXIMA_VIAGEM"
]
}
],
"others_tab_position": "first",
"others_tab_name": "Dados"
}
}