Pular para conteúdo

Dicionário de Dados (SX)

Status: parcial — afirmações verificadas, com lacunas declaradas. [n · F] remete à fonte n da lista de fontes; a letra marca a procedência: F fato em fonte oficial TOTVS/TDN · S fonte secundária (blog, fórum) · unverified sem fonte que sustente.

Escopo desta seção

O que é o Dicionário de Dados, o mapa oficial das tabelas SX, as colunas-chave de SIX, os campos de controle do DBAccess e as duas regras obrigatórias de leitura que evitam a maior parte dos bugs de consulta.

O que é

  • O Dicionário de Dados é uma coleção de metadados que contém definições e representações de elementos de dados do sistema.[22 · F]

Mapa oficial das tabelas

Tabela Papel
SX1 Perguntas do usuário
SIX Índices das tabelas do sistema
SX2 Tabelas do sistema
SX3 Estrutura de campos
SX5 Tabelas genéricas
SX6 Parâmetros do sistema
SX7 Gatilhos de campos
SX9 Relacionamento das tabelas
SXA Pastas e agrupamentos dos campos
SXB Lookups
SXE Controle de numeração utilizados
SXF Próximos números
SXG Grupo de campos
XXA Regras de dependência entre campos

(mapa conforme a TDN[22])

SIX — índices

  • SIX tem as colunas-chave INDICE, ORDEM, CHAVE — conjunto de campos separados por + —, DESCRICAO, PROPRI, NICKNAME e SHOWPESQ, que quando preenchido com "S" faz o índice aparecer no Browse do sistema.[23 · F]
  • Toda tabela precisa de pelo menos um índice com SHOWPESQ = "S" para poder ser exibida dentro de um browse.[23 · F]

Campos de controle do DBAccess

  • Campos de controle: R_E_C_N_O_ como chave primária do registro, D_E_L_E_T_ como flag de exclusão lógica — branco para linha ativa e asterisco para linha excluída —, e R_E_C_D_E_L_.[28 · F]
  • Representação física: campos DATA são armazenados como caractere de 8 dígitos e campos numéricos como FLOAT.[28 · F]
  • Em INSERT, o registro nasce com valores vazios por tipo — caractere com espaços, numérico com 0, data vazia, booleano .F. — e só é definitivo ao soltar o lock.[29 · F]

As duas regras obrigatórias de leitura

Regra 1 e Regra 2 — não são estilo, são correção

  1. Filial: igualar o campo filial da tabela ao xFilial daquela tabela. Nunca comparar _FILIAL de uma tabela com o de outra.[28]
  2. Exclusão lógica: filtrar as linhas excluídas com D_E_L_E_T_ = ' ' — que é mais rápido que D_E_L_E_T_ <> '*'.[28]
  • A recomendação da TOTVS é usar sempre que possível SQL em vez de varredura ISAM/DbSkip, porque a query descarta eficientemente as linhas excluídas logicamente.[28 · F]

Lacunas declaradas

Lacuna: o detalhamento coluna a coluna de SX2, SX3, SX5, SX6, SX7, SX1, SX9 e SXB não vem da pesquisa. Vem do dicionário coletado — veja Busca de tabelas (e, para agentes, campos e relacionamentos): são campos, índices e ligações por tabela, com a fonte declarada.

Lacuna: a skill data-dictionary-lookup (em skills/) carrega referência de colunas própria — útil para consulta offline.

Fontes

[22] · [23] · [28] · [29] — ver lista completa.