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_AUTORIZADORComponente: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
| Tela | Nome | Relação |
|---|---|---|
| REC001 | Parâmetros da Recapadora | Gravação do parâmetro |
| MOF001 | Ordem de Serviço | Validações de exclusão, salvar, reabrir, liberar, bloquear e edição de itens/serviços/consumo |
| MOF002 | Oficina Mecânica | Validação de exclusão |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_AUTORIZADOR | PARAMRECAP | Flag que define se é obrigatório Autorizador para cancelamento |
ST_AUTORIZADOR | PARMUSUARIO | Perfil individual do usuário (se é ou não Autorizador) — configurado em ADM012 |
CD_AUTORIZADOR | AUTORIZADOR | Cadastro de Autorizadores ativos — configurado em TFA008 |
Opções disponíveis
S — Exige Autorizador ao Cancelar
| O que faz | Detalhe |
|---|---|
| Editável | Sim (checkbox marcado) |
| Exige | Usuário com perfil de Autorizador ativo (PARMUSUARIO.ST_AUTORIZADOR = 'S' ou cadastro ativo em AUTORIZADOR) |
| Restrição | Usuários comuns não conseguem cancelar/reabrir ordens |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba Opção 1, marque o checkbox "Obriga Autorizador ao Cancelar Ordem".
- Salve o registro.
- Abra MOF001 — Ordem de Serviço com um usuário que não seja Autorizador.
- Tente excluir ou reabrir uma ordem existente.
- 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_BLOQUEIOcom valoresGeV) — 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 faz | Detalhe |
|---|---|
| Editável | Sim (checkbox desmarcado) |
| Exige | Nenhuma exigência adicional |
| Restrição | Qualquer usuário com acesso à tela pode cancelar ordens |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba Opção 1, desmarque o checkbox "Obriga Autorizador ao Cancelar Ordem".
- Salve o registro.
- Abra MOF001 — Ordem de Serviço com qualquer usuário comum.
- Tente excluir ou reabrir uma ordem existente.
- 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:
- Verificação em
PARMUSUARIO: consultaST_AUTORIZADORpara o usuário/empresa atual. - Verificação em
AUTORIZADOR: consulta se existe registro ativo (ST_ATIVO = 'S') para oCD_AUTORIZADORigual ao código do usuário. - 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
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TfrmMOF001.btnExcluirClick | UMOF001.pas | 3701 | Bloqueia exclusão se usuário não for Autorizador e ordem não impressa |
TfrmMOF001.btnReabrirClick | UMOF001.pas | 5284 | Bloqueia reabertura se usuário não for Autorizador |
TfrmMOF001.btnLiberarClick | UMOF001.pas | 6347 | Bloqueia liberação se usuário não for Autorizador |
TfrmMOF001.btnBloquearClick | UMOF001.pas | 6411 | Bloqueia ação de bloquear se usuário não for Autorizador |
TfrmMOF001.btnSalvarClick | UMOF001.pas | 2474 | Quando usuário não é Autorizador e ST_ALTERAPEDIDO é 'S' ou 'T', aplica travamento |
TfrmMOF001.edtCD_CODIGOBARRAExit | UMOF001.pas | 6512 | Autorizadores ignoram bloqueios de preço (TP_BLOQUEIO) |
Busca_Parametros | UdmMOF001.pas | 752 | Carrega iST_AUTORIZADOR do cadastro AUTORIZADOR |
TdmMOF001.tabORDEMSERVITEMAfterScroll | UdmMOF001.pas | 2293 | Autorizadores têm campos de edição desbloqueados |
TdmMOF001.tabSERVICOITEMAfterScroll | UdmMOF001.pas | 3549 | Autorizadores têm campos de edição desbloqueados |
TdmMOF001.tabSERVICOITEMQT_SERVICOITEMValidate | UdmMOF001.pas | 3690 | Validação de quantidade aplicada apenas para não-Autorizadores |
TdmMOF001.tabSERVICOITEMPS_SERVICOITEMValidate | UdmMOF001.pas | 3766 | Validação de peso aplicada apenas para não-Autorizadores |
TdmMOF001.tabSERVICOITEMVL_UNITARIOValidate | UdmMOF001.pas | 3826 | Validação de valor unitário ignorada para Autorizadores |
TdmMOF001.tabORDEMSERVITEMQT_SERVICOValidate | UdmMOF001.pas | 3898 | Validação de quantidade aplicada apenas para não-Autorizadores |
TdmMOF001.tabORDEMSERVITEMVL_UNITARIOValidate | UdmMOF001.pas | 3977 | Bloqueio de valor (TP_BLOQUEIO = 'V') ignorado para Autorizadores |
TdmMOF001.tabITEMCONSUMOAfterScroll | UdmMOF001.pas | 5035 | Autorizadores têm campos de consumo desbloqueados |
TdmMOF001.tabITEMCONSUMOVL_UNITARIOValidate | UdmMOF001.pas | 5188 | Bloqueio de valor de consumo ignorado para Autorizadores |
TfrmMOF002.btnExcluirClick | UMOF002.pas | 909 | Bloqueia exclusão em MOF002 se usuário não for Autorizador |
Busca_Parametros | UdmMOF002.pas | 359 | Carrega 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_TIPOPESSOARECAPCANCELA_ESTOQUERECAP,CANCELA_NOTAFISCAL,CONFIRMA_PNEURECUSADOEXCLUSAO_BANDA,FECHA_ORDEMPRODUCAORECAP,FECHA_ORDEMPRODUCAORECAPNOTAGERA_NOTAPEDIDO,GERA_ORDEMPRODUCAORECAP,GERA_PEDIDOENTRADACARCACA,GERA_PEDIDOSAIDACARCACAGERA_PRODACABAMENTO,GERA_PRODAPLICACAOCOLA,GERA_PRODAPLICACAOCONSERTOGERA_PRODBANDA,GERA_PRODCONFERENCIAPNEU,GERA_PRODDESENVELOPAMENTO
Parâmetros relacionados
| Parâmetro | Onde é configurado | Relação |
|---|---|---|
PARMUSUARIO.ST_AUTORIZADOR | ADM012 — Parâmetros do Usuário | Define se o usuário individual é Autorizador (verificado em conjunto com a tabela AUTORIZADOR) |
ST_AUTORIZADORLOC | MFA001 — Parâmetros de Faturamento | Controle de autorização para localização de pedidos (faturamento, não recapadora) |
TP_BLOQUEIO | OFI001 — Parâmetros da Oficina | Define tipo de bloqueio de preço/serviço; Autorizadores ignoram esses bloqueios |
ST_ALTERAPEDIDO | MFA001 — Parâmetros de Faturamento | Quando 'S' ou 'T', trava campos para não-Autorizadores em MOF001 |
ST_ALTERAPRECO | MFA001 — Parâmetros de Faturamento | Quando 'N', reforça bloqueio de preço para não-Autorizadores |