Pular para o conteúdo principal

ST_AUTORIZADOR — Obriga Autorizador ao Cancelar Ordem

Tela de configuração: REC001 — Parâmetros da Recapadora Localização: Aba "Opção 1" Tabela / Campo: PARAMRECAP.ST_AUTORIZADOR Componente: dbchkSTAUTORIZADOR (checkbox) Valor padrão: N (Não) Tipo: CHAR(1), NOT NULL


Descrição​

Quando marcado (S), o sistema exige que o usuário seja um Autorizador para cancelar uma ordem de serviço/recapadora. Se o usuário logado não tiver perfil de Autorizador ativo, a operação de cancelamento é bloqueada.


Telas impactadas​

TelaNomeRelação
REC001Parâmetros da RecapadoraGravação do parâmetro
MOF001Ordem de ServiçoValidações de exclusão, salvar, reabrir, liberar, bloquear e edição de itens/serviços/consumo
MOF002Oficina MecânicaValidação de exclusão

Campos envolvidos​

CampoTabelaDescrição
ST_AUTORIZADORPARAMRECAPFlag que define se é obrigatório Autorizador para cancelamento
ST_AUTORIZADORPARMUSUARIOPerfil individual do usuário (se é ou não Autorizador) — configurado em ADM012
CD_AUTORIZADORAUTORIZADORCadastro de Autorizadores ativos — configurado em TFA008

Opções disponíveis​

S — Exige Autorizador ao Cancelar​

O que fazDetalhe
EditávelSim (checkbox marcado)
ExigeUsuário com perfil de Autorizador ativo (PARMUSUARIO.ST_AUTORIZADOR = 'S' ou cadastro ativo em AUTORIZADOR)
RestriçãoUsuários comuns não conseguem cancelar/reabrir ordens

Simulação passo a passo​

  1. Acesse REC001 — Parâmetros da Recapadora.
  2. Na aba Opção 1, marque o checkbox "Obriga Autorizador ao Cancelar Ordem".
  3. Salve o registro.
  4. Abra MOF001 — Ordem de Serviço com um usuário que não seja Autorizador.
  5. Tente excluir ou reabrir uma ordem existente.
  6. O sistema bloqueia a operação e exige que um Autorizador realize a ação.

Resultado esperado: Apenas usuários com perfil de Autorizador (ST_AUTORIZADOR = 'S' em PARMUSUARIO ou cadastro ativo na tabela AUTORIZADOR) conseguem cancelar, excluir, reabrir, liberar ou bloquear ordens de serviço. Usuários comuns recebem uma mensagem de restrição.

Excecao / Importante: O perfil de Autorizador é verificado em duas fontes complementares:

  • PARMUSUARIO.ST_AUTORIZADOR (configurado em ADM012 — Parâmetros do Usuário)
  • Cadastro ativo na tabela AUTORIZADOR (configurado em TFA008 — Autorizador)

Quando ST_AUTORIZADOR = 'S' em MOF001, os seguintes comportamentos são ignorados para o Autorizador:

  • Bloqueios de preço (TP_BLOQUEIO com valores G e V) — campos de valor unitário permanecem editáveis
  • Restrições de edição de pedido (ST_ALTERAPEDIDO)
  • Validação de quantidade e peso em itens de serviço
  • Validação de valor unitário em itens de consumo

N — Não Exige Autorizador (Padrão)​

O que fazDetalhe
EditávelSim (checkbox desmarcado)
ExigeNenhuma exigência adicional
RestriçãoQualquer usuário com acesso à tela pode cancelar ordens

Simulação passo a passo​

  1. Acesse REC001 — Parâmetros da Recapadora.
  2. Na aba Opção 1, desmarque o checkbox "Obriga Autorizador ao Cancelar Ordem".
  3. Salve o registro.
  4. Abra MOF001 — Ordem de Serviço com qualquer usuário comum.
  5. Tente excluir ou reabrir uma ordem existente.
  6. O sistema permite a operação normalmente, sem exigir perfil de Autorizador.

Resultado esperado: Qualquer usuário com permissão de acesso à tela pode cancelar, excluir e reabrir ordens de serviço, sem necessidade de perfil especial.


Regra Geral de Autorização​

O sistema avalia o perfil do usuário logado de forma combinada:

  1. Verificação em PARMUSUARIO: consulta ST_AUTORIZADOR para o usuário/empresa atual.
  2. Verificação em AUTORIZADOR: consulta se existe registro ativo (ST_ATIVO = 'S') para o CD_AUTORIZADOR igual ao código do usuário.
  3. Se qualquer uma das verificações retornar 'S', o usuário é considerado Autorizador.

Essa lógica é aplicada em MOF001 e MOF002 para conceder permissões elevadas sobre ordens de serviço.


Procedures impactadas​

Rotinas Delphi com referência direta ao campo ST_AUTORIZADOR​

RotinaArquivoLinhaComportamento
TfrmMOF001.btnExcluirClickUMOF001.pas3701Bloqueia exclusão se usuário não for Autorizador e ordem não impressa
TfrmMOF001.btnReabrirClickUMOF001.pas5284Bloqueia reabertura se usuário não for Autorizador
TfrmMOF001.btnLiberarClickUMOF001.pas6347Bloqueia liberação se usuário não for Autorizador
TfrmMOF001.btnBloquearClickUMOF001.pas6411Bloqueia ação de bloquear se usuário não for Autorizador
TfrmMOF001.btnSalvarClickUMOF001.pas2474Quando usuário não é Autorizador e ST_ALTERAPEDIDO é 'S' ou 'T', aplica travamento
TfrmMOF001.edtCD_CODIGOBARRAExitUMOF001.pas6512Autorizadores ignoram bloqueios de preço (TP_BLOQUEIO)
Busca_ParametrosUdmMOF001.pas752Carrega iST_AUTORIZADOR do cadastro AUTORIZADOR
TdmMOF001.tabORDEMSERVITEMAfterScrollUdmMOF001.pas2293Autorizadores têm campos de edição desbloqueados
TdmMOF001.tabSERVICOITEMAfterScrollUdmMOF001.pas3549Autorizadores têm campos de edição desbloqueados
TdmMOF001.tabSERVICOITEMQT_SERVICOITEMValidateUdmMOF001.pas3690Validação de quantidade aplicada apenas para não-Autorizadores
TdmMOF001.tabSERVICOITEMPS_SERVICOITEMValidateUdmMOF001.pas3766Validação de peso aplicada apenas para não-Autorizadores
TdmMOF001.tabSERVICOITEMVL_UNITARIOValidateUdmMOF001.pas3826Validação de valor unitário ignorada para Autorizadores
TdmMOF001.tabORDEMSERVITEMQT_SERVICOValidateUdmMOF001.pas3898Validação de quantidade aplicada apenas para não-Autorizadores
TdmMOF001.tabORDEMSERVITEMVL_UNITARIOValidateUdmMOF001.pas3977Bloqueio de valor (TP_BLOQUEIO = 'V') ignorado para Autorizadores
TdmMOF001.tabITEMCONSUMOAfterScrollUdmMOF001.pas5035Autorizadores têm campos de consumo desbloqueados
TdmMOF001.tabITEMCONSUMOVL_UNITARIOValidateUdmMOF001.pas5188Bloqueio de valor de consumo ignorado para Autorizadores
TfrmMOF002.btnExcluirClickUMOF002.pas909Bloqueia exclusão em MOF002 se usuário não for Autorizador
Busca_ParametrosUdmMOF002.pas359Carrega iST_AUTORIZADOR do cadastro AUTORIZADOR

Referências SQL diretas ao campo​

Não foram encontradas referências diretas a PARAMRECAP.ST_AUTORIZADOR em procedures/scripts SQL. O campo é lido e gravado exclusivamente pela interface Delphi (REC001 → dsoCadastro).

Candidatas por uso da tabela​

As seguintes procedures/views utilizam PARAMRECAP mas não citam o campo ST_AUTORIZADOR diretamente. Não há impacto funcional direto identificado:

  • ATUALIZA_PEDIDONOTA, ATUALIZA_PREVISAOORDEMPROD, ATUALIZA_STFATURAAUTO, ATUALIZA_TIPOPESSOARECAP
  • CANCELA_ESTOQUERECAP, CANCELA_NOTAFISCAL, CONFIRMA_PNEURECUSADO
  • EXCLUSAO_BANDA, FECHA_ORDEMPRODUCAORECAP, FECHA_ORDEMPRODUCAORECAPNOTA
  • GERA_NOTAPEDIDO, GERA_ORDEMPRODUCAORECAP, GERA_PEDIDOENTRADACARCACA, GERA_PEDIDOSAIDACARCACA
  • GERA_PRODACABAMENTO, GERA_PRODAPLICACAOCOLA, GERA_PRODAPLICACAOCONSERTO
  • GERA_PRODBANDA, GERA_PRODCONFERENCIAPNEU, GERA_PRODDESENVELOPAMENTO

Parâmetros relacionados​

ParâmetroOnde é configuradoRelação
PARMUSUARIO.ST_AUTORIZADORADM012 — Parâmetros do UsuárioDefine se o usuário individual é Autorizador (verificado em conjunto com a tabela AUTORIZADOR)
ST_AUTORIZADORLOCMFA001 — Parâmetros de FaturamentoControle de autorização para localização de pedidos (faturamento, não recapadora)
TP_BLOQUEIOOFI001 — Parâmetros da OficinaDefine tipo de bloqueio de preço/serviço; Autorizadores ignoram esses bloqueios
ST_ALTERAPEDIDOMFA001 — Parâmetros de FaturamentoQuando 'S' ou 'T', trava campos para não-Autorizadores em MOF001
ST_ALTERAPRECOMFA001 — Parâmetros de FaturamentoQuando 'N', reforça bloqueio de preço para não-Autorizadores