SX3 — Campos do Dicionario
Definicao de TODOS os campos de TODAS as tabelas. Tipo, tamanho, validacao, picture, default. O dicionario por excelencia. Funcoes TamSx3 leem daqui.
SX3 e o dicionario por excelencia — cada campo do sistema (A1_NOME, E1_VALOR, B1_DESC...) tem 1 registro aqui com tipo, tamanho, picture, validacoes, valor default. Toda customizacao que adiciona campo customizado mexe na SX3.
Campos principais
| Campo | Tipo | Descricao |
|---|
| X3_CAMPO | C | Nome do campo (ex: "A1_NOME") |
| X3_ARQUIVO | C | Alias da tabela (ex: "SA1") |
| X3_ORDEM | C | Ordem de exibicao |
| X3_TITULO | C | Titulo PT-BR (label tela) |
| X3_TITSPA | C | Titulo espanhol |
| X3_TITENG | C | Titulo ingles |
| X3_DESCRIC | C | Descricao |
| X3_TIPO | C | C=Char, N=Num, D=Date, L=Log, M=Memo, B=Block |
| X3_TAMANHO | N | Tamanho |
| X3_DECIMAL | N | Decimais |
| X3_PICTURE | C | Mascara exibicao (@E 999.99) |
| X3_VALID | C | Validacao (expressao) |
| X3_USADO | C | Sequencia de bits (usado/nao usado por modulo) |
| X3_RELACAO | C | Conteudo default ou link |
| X3_F3 | C | Consulta padrao |
| X3_OBRIGAT | C | S=Obrigatorio |
| X3_BROWSE | C | S=Aparece em browse |
Indices
| Ordem | Chave |
|---|
| 1 | X3_ARQUIVO+X3_ORDEM |
| 2 | X3_CAMPO |
| 3 | X3_ARQUIVO+X3_CAMPO |
Codigo tipico
// Obter info de campo (forma "manual")
SX3->(DBSetOrder(2))
If SX3->(DBSeek("A1_NOME"))
nTam := SX3->X3_TAMANHO
cPic := SX3->X3_PICTURE
EndIf
// Forma preferida — helper TamSx3
nTam := TamSx3("A1_NOME")[1]
nDec := TamSx3("A1_LC")[2]
cTipo := TamSx3("A1_DTNASC")[3] // "D" pra Date
Tabelas relacionadas
| Tabela | Relacao |
|---|
| SX2 | Tabela (cada SX3 pertence a uma SX2) |
| SX6 | Parametros podem referenciar SX3 em SVar |
Pegadinhas
- Customizacao deve usar prefixo Z no nome (A1_ZCREDIT) — ver curiosidade.
- X3_USADO controla quais modulos veem o campo — bitwise, complexo.
- Alterar X3_TAMANHO em campo com dados existentes pode truncar — cuidado.
- X3_PICTURE @E define formato europeu (milhar=., decimal=,) — em base americana, mudar.
- TamSx3() e o jeito moderno de ler — nao hardcode tamanho.
Veja também