Pular para o conteúdo principal

ST_AUTORIZADOR — Marca Usuário como Autorizador

Tela de configuração: ADM012 — Parâmetros do Usuário Localização: Parâmetros do Usuário → campo "Autorizador" Tabela: PARMUSUARIO.ST_AUTORIZADOR Tipo: CHAR(1), Valor padrão: N (Não) Visibilidade: campo exibido somente quando TP_USUARIO for diferente de N (Normal). Se TP_USUARIO = 'N', o combo fica oculto e o valor permanece N.

Telas impactadas​

TelaTipo de usoDescrição
MFC004 — Contas a ReceberLeitura diretaDefine se o usuário pode conceder desconto/juros sem validação de outro autorizador; se tiver limites configurados e os exceder, pede validação de um segundo autorizador
MOF001 — Ordem de Serviço (Produção)IndiretoA variável iST_AUTORIZADOR é carregada da tabela AUTORIZADOR (tela TFA008), não de PARMUSUARIO. O perfil em PARMUSUARIO complementa o cadastro
MOF002 — Ordem de Serviço (Manutenção)IndiretoMesma lógica de MOF001: variável carregada da tabela AUTORIZADOR

Nota: nas telas de Ordem de Serviço (MOF001/MOF002), o código consulta diretamente a tabela AUTORIZADOR (SELECT ST_ATIVO FROM AUTORIZADOR WHERE CD_AUTORIZADOR = ...). O campo PARMUSUARIO.ST_AUTORIZADOR configurado em ADM012 funciona como complemento. Ambos os cadastros contribuem para o perfil de autorizador.

Campos envolvidos​

CampoTabelaRelação
ST_AUTORIZADORPARMUSUARIOParâmetro principal (S/N)
PC_DESCONTOMAXPARMUSUARIOPercentual máximo de desconto do autorizador (configurado no mesmo registro ADM012)
PC_JUROSMINPARMUSUARIOPercentual mínimo de juros do autorizador (configurado no mesmo registro ADM012)
ST_ATIVO, ST_ALTERAPRECOAUTORIZADORCadastro do autorizador na tabela AUTORIZADOR (configurado em TFA008 — Autorizador)

Opções disponíveis​

N — Não (padrão)​

O que fazDetalhe
Usuário não é autorizadorFica sujeito às regras normais de desconto e bloqueio
Desconto máximoLimitado por PC_DESCONTOMAX de outro autorizador, se configurado
Ordem de ServiçoNão pode liberar, bloquear, reabrir ou cancelar ordens bloqueadas (MOF001/MOF002)

Simulação passo a passo​

  1. Acesse ADM012 — Parâmetros do Usuário e selecione o usuário desejado.
  2. Confirme que o campo Autorizador esteja em "Não".
  3. Salve o registro.
  4. Em MFC004, ao receber uma conta com desconto acima do limite, o sistema exigirá login de um autorizador para aprovar.
  5. Em MOF001, ao tentar clicar em Liberar uma ordem bloqueada, o sistema exibirá: "Somente Usuário do tipo Autorizador pode Liberar esta Ordem."

Resultado esperado: Usuário sem privilégios de autorizador — não consegue liberar ordens bloqueadas e precisa de aprovação para descontos/juros fora da faixa permitida.


S — Sim​

O que fazDetalhe
Usuário é autorizadorPode aprovar descontos, juros, liberar/bloquear/reabrir ordens
Sem limites configuradosDesconto e juros livres, sem pedir validação de outro autorizador
Com PC_DESCONTOMAX e/ou PC_JUROSMINPode conceder até o limite próprio; se exceder, o sistema pede login de outro autorizador
Ordem de ServiçoPode liberar, bloquear, reabrir e cancelar ordens — campos editáveis mesmo com bloqueio ativo
Exigência adicionalEm MOF001/MOF002, precisa também ter cadastro ativo na tabela AUTORIZADOR (tela TFA008)

Simulação passo a passo​

Cenário 1 — Autorizador sem limites de desconto/juros:

  1. Acesse ADM012 e abra os parâmetros do usuário "MARIA".
  2. Altere o campo Autorizador para "Sim".
  3. Deixe PC_DESCONTOMAX e PC_JUROSMIN em branco.
  4. Salve o registro.
  5. Em MFC004, ao receber uma conta e aplicar R$ 100,00 de desconto em uma conta de R$ 200,00 (50%), o sistema permite sem pedir validação.

Resultado esperado: Desconto concedido livremente, sem tela de login de autorizador.

Cenário 2 — Autorizador com limites configurados, dentro do limite:

  1. Acesse ADM012 e abra os parâmetros do usuário "JOSE".
  2. Altere o campo Autorizador para "Sim".
  3. Defina PC_DESCONTOMAX = 10,00 e PC_JUROSMIN = 2,00.
  4. Salve o registro.
  5. Em MFC004, ao receber uma conta e aplicar 8% de desconto (dentro do limite de 10%), o sistema permite sem pedir validação.

Resultado esperado: Desconto concedido sem validação adicional — está dentro do limite do próprio autorizador.

Cenário 3 — Autorizador com limites, excedendo o limite:

  1. Usuário "JOSE" do cenário anterior (PC_DESCONTOMAX = 10%).
  2. Em MFC004, ao receber uma conta e tentar aplicar 15% de desconto (acima do limite de 10%).
  3. O sistema exibe a tela de login pedindo outro autorizador para aprovar.
  4. Se o segundo autorizador informado não tiver alçada suficiente, o sistema exibe: "Usuário não tem Alçada para Liberação Mínima de Juros. Verifique! [ADM012]" ou "Usuário não tem Alçada para Liberação de Desconto. Verifique! [ADM012]".
  5. Se o segundo autorizador tiver alçada, o desconto é aprovado.

Resultado esperado: Desconto acima do limite exige aprovação de outro autorizador com alçada superior.

Cenário 4 — Liberar Ordem de Serviço (MOF001):

  1. Certifique-se de que o usuário tem ST_AUTORIZADOR = 'S' em ADM012 e cadastro ativo na tabela AUTORIZADOR (tela TFA008).
  2. Abra MOF001 e localize uma ordem de serviço com status Bloqueada.
  3. Clique no botão Liberar.
  4. Informe o motivo de liberação (se ST_EXIGEMOTIVOLIBERACAO = 'S', configurado em OFI001 — Parâmetros de Oficina).
  5. Confirme a liberação.

Resultado esperado: Ordem de serviço liberada com sucesso.

Exceção / Importante:

  • Em MOF001/MOF002, a verificação consulta a tabela AUTORIZADOR (não PARMUSUARIO). Se o usuário não tiver registro ativo em AUTORIZADOR, mesmo com ST_AUTORIZADOR = 'S' no ADM012, a variável iST_AUTORIZADOR será 'N' e as operações de autorizador serão bloqueadas.
  • Usuário autorizador ignora bloqueios de edição em itens de OS com TP_BLOQUEIO = 'G' (geral) ou TP_BLOQUEIO = 'V' (valor): quantidades, pesos e valores unitários permanecem editáveis.
  • O campo só fica visível em ADM012 quando TP_USUARIO é diferente de N (Normal). Se TP_USUARIO = 'N', o combo é ocultado e o valor é forçado para N.

Regra Geral de Autorização​

SituaçãoST_AUTORIZADOR = 'N'ST_AUTORIZADOR = 'S' (sem limites)ST_AUTORIZADOR = 'S' (com limites)
Conceder desconto em MFC004Sujeito a validação de autorizadorLivre, sem validaçãoLivre até o limite; acima pede outro autorizador
Aplicar juros mínimo em MFC004Sujeito a validação de autorizadorLivre, sem validaçãoLivre até o limite; abaixo pede outro autorizador
Liberar OS bloqueada (MOF001)BloqueadoPermitido (se cadastrado em AUTORIZADOR)Permitido (se cadastrado em AUTORIZADOR)
Bloquear OS aberta (MOF001)BloqueadoPermitido (se cadastrado em AUTORIZADOR)Permitido (se cadastrado em AUTORIZADOR)
Reabrir OS (MOF001)BloqueadoPermitido (se cadastrado em AUTORIZADOR)Permitido (se cadastrado em AUTORIZADOR)
Cancelar OS (MOF001/MOF002)BloqueadoPermitido (se cadastrado em AUTORIZADOR)Permitido (se cadastrado em AUTORIZADOR)
Editar itens bloqueados na OSBloqueadoCampos editáveisCampos editáveis

Tabela Comparativa Resumida​

ValorDesconto/Juros (MFC004)OS — Liberar/Bloquear/Reabrir/CancelarEditar itens bloqueados na OS
NExige autorizadorBloqueadoBloqueado
SLivre ou com limite próprioPermitido*Permitido*

* Requer também cadastro ativo na tabela AUTORIZADOR (configurado em TFA008 — Autorizador).

Procedures impactadas​

Rotinas Delphi com referência direta ao campo PARMUSUARIO.ST_AUTORIZADOR​

RotinaArquivoDescrição
TfrmADM012.btnNovoClickUADM012.pas:431Define valor padrão N ao incluir novo registro
TfrmADM012.cmbTP_USUARIOChangeUADM012.pas:601Oculta/exibe o combo conforme tipo de usuário
Busca_ParametrosUdmMFC004.pas:297Lê ST_AUTORIZADOR do PARMUSUARIO para MFC004
validaAutorizacao (MFC004)UMFC004.pas:1787Verifica limites de desconto/juros do autorizador
TfrmADM013.btnDuplicaUsuarioClickUADM013.pas:476Copia o campo ao duplicar parâmetros de usuário

Rotinas Delphi que leem a tabela AUTORIZADOR (indireto — MOF001/MOF002)​

RotinaArquivoDescrição
Busca_ParametrosUdmMOF001.pas:752Carrega iST_AUTORIZADOR da tabela AUTORIZADOR
Busca_ParametrosUdmMOF002.pas:359Carrega iST_AUTORIZADOR da tabela AUTORIZADOR
TfrmMOF001.btnLiberarClickUMOF001.pas:6347Verifica se usuário é autorizador para liberar OS
TfrmMOF001.btnBloquearClickUMOF001.pas:6411Verifica se usuário é autorizador para bloquear OS
TfrmMOF001.btnReabrirClickUMOF001.pas:5284Verifica se usuário é autorizador para reabrir OS
TfrmMOF001.btnExcluirClickUMOF001.pas:3701Verifica se usuário é autorizador para cancelar OS
TfrmMOF001.btnSalvarClickUMOF001.pas:2474Verifica autorizador ao alterar pedido com bloqueio geral
TdmMOF001.tabORDEMSERVITEMAfterScrollUdmMOF001.pas:2293Libera edição de campos se autorizador
TdmMOF001.tabSERVICOITEMAfterScrollUdmMOF001.pas:3549Libera edição de campos se autorizador
TdmMOF001.tabITEMCONSUMOAfterScrollUdmMOF001.pas:5035Libera edição de campos se autorizador
TdmMOF001.tabORDEMSERVITEMQT_SERVICOValidateUdmMOF001.pas:3898Permite alterar quantidade se autorizador
TdmMOF001.tabORDEMSERVITEMVL_UNITARIOValidateUdmMOF001.pas:3977Permite alterar valor se autorizador
TdmMOF001.tabSERVICOITEMQT_SERVICOITEMValidateUdmMOF001.pas:3690Permite alterar quantidade se autorizador
TdmMOF001.tabSERVICOITEMVL_UNITARIOValidateUdmMOF001.pas:3826Permite alterar valor se autorizador
TdmMOF001.tabITEMCONSUMOVL_UNITARIOValidateUdmMOF001.pas:5188Permite alterar valor consumo se autorizador
TfrmMOF001.edtCD_CODIGOBARRAExitUMOF001.pas:6512Autorizador ignora bloqueio de código de barra
TfrmMOF002.btnExcluirClickUMOF002.pas:909Verifica se usuário é autorizador para cancelar

Referências SQL​

Não foi encontrada referência direta ao campo ST_AUTORIZADOR em scripts SQL de Scripts/. As procedures listadas como candidatas (como VERIFICA_BLOQUEIO, VALIDA_LIBERACAOUSUARIO, VIEW_DOCUMENTOSBLOQUEADOS) utilizam a tabela PARMUSUARIO mas não fazem referência ao campo ST_AUTORIZADOR diretamente.