Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

Example2.png

Example2.png

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

  1. Criar o parâmetro crud_form_tabs no campo OPTIONS da tabela nfs_core_ds_tabela.
  2. Definir o JSON de configuração (veja schema abaixo).
  3. 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"
  }
}