CD_AUTORIZADORESTORNO - Autorizador de Cancelamento (Estorno)
Tela de configuração: TFA007 - Parâmetros do Restaurante
Localização: Parâmetros → Parâmetros Gerais → Autorizador Cancelamento
Tabela:PARMRESTAURANTE.CD_AUTORIZADORESTORNO
Tipo: Campo de pesquisa (VARCHAR(5))
Valor padrão: (em branco)
Descrição
Define o código do usuário autorizador obrigatório para aprovar estornos (cancelamentos) de produtos em comandas do módulo Restaurante. Quando preenchido, o sistema exige a senha deste usuário no momento do estorno, desde que a liberação esteja ativa (ST_LIBERACAO = E ou A).
O campo possui pesquisa integrada (<F9>) que lista os usuários cadastrados no sistema. A validação verifica se o código informado existe na tabela USUARIO; caso contrário, exibe a mensagem:
"O Usuário não Está Cadastrado. Verifique! [ADM001]".
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| MRE005 — Estorno de Produtos | Tela onde o operador cancela produtos de uma comanda | Solicita senha do usuário configurado em CD_AUTORIZADORESTORNO antes de concluir o estorno, quando ST_LIBERACAO ativo. |
Campos envolvidos
| Origem | Campo | Descrição |
|---|---|---|
PARMRESTAURANTE | CD_AUTORIZADORESTORNO | Código do usuário autorizador para estorno |
PARMRESTAURANTE | NM_AUTORIZADORESTORNO | Nome descritivo do usuário (preenchido automaticamente pela validação) |
USUARIO | CD_USUARIO | Chave primária do usuário autorizador |
USUARIO | SN_USUARIO | Senha do usuário, verificada no momento do estorno |
Opções disponíveis
Preenchido — Usuário Autorizador para Cancelamento
| O que faz | Detalhe |
|---|---|
| Identifica um usuário específico | Campo editável com pesquisa <F9>. Aceita qualquer código existente em USUARIO. |
| Exige senha no estorno | Somente a senha deste usuário libera o cancelamento de produtos. |
Aplicável quando ST_LIBERACAO = E ou A | Sem liberação (ST_LIBERACAO = N), o autorizador não é solicitado. |
Simulação passo a passo
- Acesse a tela TFA007 — Parâmetros do Restaurante.
- Localize o campo Autorizador Cancelamento.
- Pressione
<F9>(ou digite diretamente o código do usuário desejado, ex.:ADMIN). - Selecione o usuário na lista e confirme. O nome será preenchido automaticamente.
- Salve os parâmetros.
- Abra uma comanda em aberto no módulo Restaurante.
- Acesse a tela de Estorno de Produtos (MRE005) e selecione um produto para cancelar.
- O sistema apresentará a janela "Autorização de Estorno" solicitando a senha do usuário
ADMIN. - Digite a senha correta e confirme.
Resultado esperado: O produto é estornado da comanda. Se a senha estiver incorreta, o sistema exibe "Estorno de Produtos Cancelada. Senha Inválida!" e não realiza o cancelamento.
Exceção / Importante: Se
ST_LIBERACAO(configurado em TFA007 — Parâmetros do Restaurante, campo Solicita Autorizador) estiver definido comoN(Não), o autorizador de estorno não será solicitado, independentemente deste parâmetro estar preenchido.
Em Branco — Sem Autorizador Específico
| O que faz | Detalhe |
|---|---|
| Campo vazio | Não há usuário vinculado como autorizador de estorno. |
Fallback para OWNER | No momento da autorização, o sistema utiliza o usuário 'OWNER' como padrão na validação de senha. |
Depende de ST_LIBERACAO | A solicitação de senha só ocorre se a liberação estiver ativa. |
Simulação passo a passo
- Acesse a tela TFA007 — Parâmetros do Restaurante.
- Localize o campo Autorizador Cancelamento e remova qualquer valor existente (
DELou apague o conteúdo). - Salve os parâmetros.
- Abra uma comanda em aberto e acesse a tela Estorno de Produtos (MRE005).
- Selecione um produto para cancelar.
- O sistema apresentará a janela "Autorização de Estorno" solicitando a senha do usuário
OWNER.
Resultado esperado: A senha do usuário OWNER é exigida para liberação do estorno. Se não corresponder, o cancelamento é impedido com a mensagem "Estorno de Produtos Cancelada. Senha Inválida!".
Exceção / Importante: Deixar este campo em branco não desativa a exigência de autorização — ela continua vigente quando
ST_LIBERACAO=EouA. A diferença é que a senha validada será a do usuário'OWNER'em vez de um usuário específico.
Regra Geral de Autorização
A autorização de estorno segue a cadeia de dependência:
ST_LIBERACAO(configurado em TFA007 — Parâmetros do Restaurante, campo Solicita Autorizador) deve ser diferente deN:E= Exige autorizador no estorno.A= Exige autorizador (comportamento equivalente aEno contexto de estorno).
- Se ativo, o sistema consulta
CD_AUTORIZADORESTORNO:- Se preenchido → valida a senha do usuário informado.
- Se vazio → valida a senha do usuário
'OWNER'.
- A senha digitada pelo operador é comparada com
USUARIO.SN_USUARIO. Se não conferir, o estorno é abortado.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição do uso |
|---|---|---|
edtCD_AUTORIZADORESTORNOKeyDown | source/MRE001/UMRE001.pas:936 | Pesquisa <F9> de usuários na tela TFA007. Preenche o campo com o código selecionado. |
tabPARMRESTCD_AUTORIZADORESTORNOValidate | source/MRE001/UdmMRE001.pas:682 | Valida se o código existe em USUARIO; preenche o nome descritivo NM_AUTORIZADORESTORNO. |
TfrmEstornoProd.btnOKClick | source/MRE005/UEstornoProd.pas:210 | No estorno, consulta a senha do usuário definido em CD_AUTORIZADORESTORNO (ou 'OWNER' se vazio) para exigir autorização. |
Busca_Parametros | source/MRE005/UdmMRE005.pas:527 | Carrega CD_AUTORIZADORESTORNO do banco para a variável interna iCD_AUTORIZADORESTORNO usada no estorno. |
Referências SQL diretas ao campo
| Script | Uso |
|---|---|
docs/schema/tables/PARMRESTAURANTE.sql | Definição da coluna CD_AUTORIZADORESTORNO DOM_VARCHAR5. |
source/MRE001/UdmMRE001.dfm | Queries de SELECT/INSERT/UPDATE da tabela PARMRESTAURANTE incluindo o campo. |
source/MRE005/UdmMRE005.pas | Query de carga de parâmetros do restaurante (SELECT ... PR.CD_AUTORIZADORESTORNO ...). |
Candidatas por uso da tabela (PARMRESTAURANTE) — sem referência direta ao campo
| Procedure/View | Arquivo |
|---|---|
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql |
ENCERRA_MESA | Scripts/ENCERRA_MESA.sql |
PROCESSA_PEDIDOSITE | Scripts/PROCESSA_PEDIDOSITE.sql |
PRODUCAO_RESTAURANTE | Scripts/PRODUCAO_RESTAURANTE.sql |
VIEW_LCM006 | Scripts/VIEW_LCM006.sql |
Nenhuma dessas rotinas faz referência direta à coluna
CD_AUTORIZADORESTORNO; utilizam a tabelaPARMRESTAURANTEpara outros fins.