GetMV
Le valor de parametro do sistema (tabela SX6). Sempre passe default — nunca confie que um MV_ esta cadastrado.
Assinatura: GetMV(cParam, lCache, xDefault) -> xValor
Retorna: Any
GetMV le um parametro do sistema da tabela SX6. E o jeito padrao de ler configuracoes globais do Protheus (taxas, prazos, contas contabeis, etc.). Sempre passe o terceiro parametro (default) — assim a rotina nao quebra se o MV nao estiver cadastrado.
Sintaxe
xValor := GetMV(cNomeParam, lDesativaCache, xDefault)Exemplo
cEmpresa := GetMv("MV_RAZSOC") // string
nLimite := GetMv("MV_LIMICRD", .F., 0) // numerico, default 0
lAtivo := GetMv("MV_USERAU", .F., .F.) // logico, default .F.
cContaPad:= GetMv("MV_CTAPAD", .F., "") // conta contabil
// Erro comum (sem default):
cCfg := GetMv("MV_NOVO_PARAM") // se nao existir, retorna NIL — quebra concatenacaoPegadinhas
- Terceiro parametro: default se MV nao existe. SEMPRE passe
- Segundo parametro (lDesativaCache):
.T.le do banco ignorando cache, util quando MV pode mudar em runtime (raro). Quase sempre.F. - Tipo retornado: respeita tipo da SX6 (C, N, D, L). Se nao bater com seu uso, pode dar erro
- SuperGetMv: variante mais recente que aceita parametro por filial
Cadastro
MVs sao cadastrados em Configurador > Ambiente > Cadastros > Parametros. Cada um tem nome (MV_*), tipo, descricao e valores por filial/empresa.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cNome | Character | sim | Nome do parametro (ex: 'MV_RAZSOC') |
lDesativaCache | Logical | não | Default .F. (usa cache) |
xDefault | Any | não | Valor se MV nao existir — SEMPRE passe |
Exemplos
Sempre com default
nLimite := GetMv("MV_LIMICRD", .F., 0)