Pular para o conteúdo principal

CD_LIBERACAO - Código de Liberação do PDV

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela: PARMFATUR.CD_LIBERACAO — VARCHAR(10) Valor padrão: vazio (desabilitado)

Telas impactadas​

TelaFormulárioDescrição
MFA001Parâmetros de FaturamentoOnde o código de liberação é cadastrado
MNF017Cupom Fiscal / PDVOnde o código é exigido para operações sensíveis
MNF017LiberacaoDiálogo de LiberaçãoTela de validação do código digitado pelo operador

Campos envolvidos​

CampoTabelaTipoDescrição
CD_LIBERACAOPARMFATURVARCHAR(10)Código de liberação (exibido com fonte Symbol para ofuscar visualização)

Opções disponíveis​

O parâmetro aceita qualquer texto livre até 10 caracteres. O comportamento divide-se em dois cenários:

Em branco (vazio) — Liberação desabilitada​

O que fazDetalhe
Nenhuma exigência de códigoTodas as operações no PDV seguem sem pedido de liberação
EditávelCampo pode ser preenchido a qualquer momento na tela MFA001

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros → Opção 2.
  2. Deixe o campo Código de Liberação vazio.
  3. Salve os parâmetros (<F9> ou botão Salvar).
  4. Abra o PDV (MNF017) e realize vendas normalmente.
  5. Cancele um produto ou o cupom — nenhuma tela de liberação será exibida.

Resultado esperado: O operador realiza cancelamentos e novas vendas livremente, sem digitar código de liberação.


Preenchido — Liberação habilitada​

O que fazDetalhe
Exige código para operações críticas no PDVCancelamento de cupom, novo cupom com itens pendentes e cancelamento de produto individual
Código validado contra PARMFATUR.CD_LIBERACAOA tela MNF017Liberacao faz SELECT na tabela e compara o valor digitado
Fonte Symbol no MFA001Caracteres aparecem ofuscados na tela de configuração
Máximo de 10 caracteresLimite do campo VARCHAR(10)

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros → Opção 2.
  2. Digite um código no campo Código de Liberação (exemplo: LIBRE2024).
  3. Salve os parâmetros.
  4. Abra o PDV (MNF017) e insira ao menos um produto no cupom.
  5. Cenário A — Cancelar produto: Digite o código do produto no campo de item e acione a opção "Cancela Produto". A tela de liberação será exibida.
  6. Digite o código de liberação (LIBRE2024) e clique em Liberar.
  7. O produto será removido do cupom.
  8. Cenário B — Cancelar cupom inteiro: Acione o fechamento de venda e escolha cancelar. A tela de liberação será exibida solicitando o código.
  9. Cenário C — Novo cupom com itens pendentes: Com itens no cupom, clique em Novo. A tela de liberação aparece antes de iniciar.

Resultado esperado: Operações sensíveis (cancelar cupom, cancelar produto, novo cupom com itens) só prosseguem após o operador digitar o código de liberação correto. Código incorreto exibe mensagem "O Código de Liberação não é Válido!" e bloqueia a operação.

Exceção / Importante:

  • Se o operador deixar o campo de liberação em branco e clicar em Liberar, o sistema exibe "É Obrigatório Informar o Código de Liberação!".
  • A validação é feita por empresa (CD_EMPRESA): cada filial pode ter seu próprio código de liberação.
  • O parâmetro ST_AUTORIZAFECHAMENTO (configurado em MFA001/PARMFATUR, aba Opção 2) também pode exigir autorização no fechamento do cupom, de forma independente deste parâmetro.
  • O parâmetro ST_AUTORIZADOR (configurado em MFA001/PARMFATUR) pode exigir uma segunda camada de autorização via tela TFA008/AUTORIZADOR.

Regra geral​

Quando CD_LIBERACAO está preenchido, as seguintes ações no PDV (MNF017) exigem que o operador informe o código na tela MNF017Liberacao:

Ação no PDVGatilhoCódigo exigido
Cancelar cupom (fechamento)tabITEMNOTA.RecordCount <> 0 e CD_LIBERACAO preenchidoSim
Iniciar novo cupom com itens pendentestabITEMNOTA.RecordCount <> 0, stFinalizando = False e CD_LIBERACAO preenchidoSim
Cancelar produto individualQuando lbSubMensagem.Caption = 'Cancela Produto' e CD_LIBERACAO preenchidoSim
Cancelar produto (via campo CD_ITEM)Quando lbSubMensagem.Caption = 'Cancela Produto' e CD_LIBERACAO preenchidoSim

Se o código não for informado ou estiver incorreto, a operação é bloqueada.

Tabela comparativa resumida​

SituaçãoCD_LIBERACAO vazioCD_LIBERACAO preenchido
Cancelar cupomLivreExige código
Cancelar produtoLivreExige código
Novo cupom com itens pendentesLivreExige código
Venda normal (sem cancelamento)Sem impactoSem impacto

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
iniciarsource/MNF017/UMNF017.pasCarrega CD_LIBERACAO do banco para a variável iCD_LIBERACAO
confirmacaoFechamentosource/MNF017/UMNF017.pasExige liberação ao cancelar cupom
btnNovoClicksource/MNF017/UMNF017.pasExige liberação ao iniciar novo cupom com itens
edtSubMensagemKeyDownsource/MNF017/UMNF017.pasExige liberação ao cancelar produto (via sub-mensagem)
edtCD_ITEMKeyDownsource/MNF017/UMNF017.pasExige liberação ao cancelar produto (via campo CD_ITEM)
btnLiberarClicksource/MNF017/UMNF017Liberacao.pasValida código digitado contra PARMFATUR.CD_LIBERACAO
Gera_Parcelassource/MNF017/UdmMNF017.pasDeclaração da variável iCD_LIBERACAO

Referências SQL diretas ao campo​

Nenhuma procedure SQL em Scripts/ faz referência direta ao campo CD_LIBERACAO. As procedures listadas na análise de candidatas acessam a tabela PARMFATUR mas não utilizam este campo.