Pular para o conteúdo principal

ST_MOTLIBERAPEDNOTA - Exigir Motivo Liberação Pedido/Nota

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela: PARMFATUR.ST_MOTLIBERAPEDNOTA Valor padrão: N (Não)

Telas impactadas​

TelaDescriçãoEfeito
MPD003 (Pedidos de Venda)Liberação de pedidos bloqueadosExige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar pedido
MPD081 (Pedidos de Venda - Fat. Rápida)Liberação de pedidos bloqueadosExige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar pedido
MNF003 (Notas Fiscais)Liberação de notas bloqueadasExige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar nota
MFC036 (Contas a Receber/Pagar)Liberação de contas bloqueadasExige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar conta
MRC005 (Pedidos Pneu - Recapadora)Liberação de pedidos de pneuExige preenchimento do campo "Motivo Liberação" ao liberar pedido
MRC040 (Pedidos Pneu - Recapadora)Liberação de pedidos de pneuExige preenchimento do campo "Motivo Liberação" ao liberar pedido

Campos envolvidos​

CampoTabelaDescrição
DS_LIBERACAOPEDIDO, NOTA, CONTASTexto digitado pelo usuário justificando a liberação do documento bloqueado

Opções disponíveis​

N - Não (padrão)​

O que fazDetalhe
Campo Motivo Liberação fica desabilitadoO memo DS_LIBERACAO é exibido como somente leitura, cor de fundo cinza
Liberação sem justificativaO usuário pode alterar o status para liberado sem informar motivo

Simulação passo a passo​

  1. Acesse MPD003 - Pedidos de Venda e abra um pedido bloqueado (status "Normal/Bloqueado").
  2. Altere o status do pedido para liberado.
  3. Observe que o campo Motivo Liberação permanece cinza e não editável.
  4. Salve o pedido normalmente — nenhuma exigência de motivo é feita.

Resultado esperado: O pedido é liberado sem exigir justificativa; o campo motivo fica indisponível para edição.


S - Sim​

O que fazDetalhe
Campo Motivo Liberação é habilitadoO memo DS_LIBERACAO torna-se editável com fundo branco e label em negrito quando o status muda para liberado
Liberação exige justificativaAo salvar, o sistema impede a gravação se DS_LIBERACAO estiver vazio
Aplica-se a pedidos, notas e contasO comportamento é o mesmo em MPD003, MPD081, MNF003, MFC036, MRC005 e MRC040
Limpa motivo ao rejeitar liberaçãoSe o status voltar de liberado para bloqueado, o campo motivo é automaticamente limpo

Simulação passo a passo​

  1. Acesse MPD003 - Pedidos de Venda e abra um pedido bloqueado (status "Normal").
  2. Altere o status do pedido para liberado — o campo Motivo Liberação torna-se editável (fundo branco, label em negrito).
  3. Digite a justificativa no campo, por exemplo: "Cliente com pendência financeira regularizada nesta data."
  4. Clique em Salvar (<F9>).

Resultado esperado: O pedido é salvo com sucesso e o motivo fica registrado para auditoria.

Simulação — tentativa sem preencher motivo​

  1. Acesse MNF003 - Notas Fiscais e abra uma nota bloqueada (status "L" - Liberada).
  2. Deixe o campo Motivo Liberação em branco.
  3. Clique em Salvar — o sistema exibe a mensagem: "É Obrigatório Informar o Motivo de Liberação da Nota!"
  4. Preencha o campo e salve novamente.

Resultado esperado: O salvamento é bloqueado até que o motivo seja informado.

Exceção / Importante:

  • Para Ordens de Serviço, o parâmetro utilizado é ST_EXIGEMOTIVOLIBERACAO da tabela PARMOFICINA, e não ST_MOTLIBERAPEDNOTA. A view VIEW_DOCUMENTOSBLOQUEADOS faz essa distinção com iif(:O_TP_DOCUMENTO = 'ORDEMSERVICO', po.ST_EXIGEMOTIVOLIBERACAO, PF.ST_MOTLIBERAPEDNOTA).
  • A liberação de documentos também passa pela validação de permissão do usuário autorizador, controlada por CD_LIBERACAO em PARMUSUARIO e pela procedure VALIDA_LIBERACAOUSUARIO.
  • O campo motivo é automaticamente limpo (DS_LIBERACAO.Clear) sempre que o status do documento não corresponde a "liberado", garantindo que motivos não se acumulem indevidamente.

Regra Geral de Comportamento​

Quando ST_MOTLIBERAPEDNOTA = 'S':

  1. Ao navegar em um documento já liberado: o campo motivo é habilitado para visualização/edição.
  2. Ao alterar o status para liberado: o campo motivo é habilitado imediatamente.
  3. Ao salvar: se o documento está liberado e o motivo está vazio, o salvamento é bloqueado com erro.
  4. Ao voltar o status para bloqueado: o campo motivo é desabilitado e o conteúdo é limpo.

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoComportamento
TdmMFA001.tabPARMFATURAfterInsertUdmMFA001.pas:578Inicializa o campo com valor padrão 'N'
TdmMPD003.tabPEDIDOST_PEDIDOValidateUdmMPD003.pas:146Habilita/desabilita campo motivo ao validar status
TdmMPD003.tabPEDIDOAfterScrollUdmMPD003.pas:171Habilita/desabilita campo motivo ao navegar
TfrmMPD003.btnSalvarClickUMPD003.pas:410Impede salvamento sem motivo (DS_LIBERACAO)
TdmMPD081.tabPEDIDOST_PEDIDOValidateUdmMPD081.pas:170Habilita/desabilita campo motivo ao validar status
TdmMPD081.tabPEDIDOAfterScrollUdmMPD081.pas:205Habilita/desabilita campo motivo ao navegar
TfrmMPD081.btnSalvarClickUMPD081.pas:357Impede salvamento sem motivo
TdmMNF003.tabNOTAST_NOTAValidateUdmMNF003.pas:152Habilita/desabilita campo motivo ao validar status
TdmMNF003.tabNOTAAfterScrollUdmMNF003.pas:175Habilita/desabilita campo motivo ao navegar
TfrmMNF003.btnSalvarClickUMNF003.pas:342Impede salvamento sem motivo
TdmMFC036.tabCONTASST_BLOQUEADAValidateUdmMFC036.pas:217Habilita/desabilita campo motivo ao validar status
TdmMFC036.tabCONTASBeforePostUdmMFC036.pas:238Impede gravação sem motivo
TdmMRC005.tabPedidoPneuAfterScrollUdmMRC005.pas:110Habilita campo motivo ao navegar (status N ou P)
TdmMRC005.tabPedidoPneuSTPEDIDOValidateUdmMRC005.pas:134Habilita/desabilita campo motivo ao validar status
TformMRC005.actionDesbloquearExecuteUformMRC005.pas:373Controla motivo na ação de desbloqueio
TdmMRC040.tabPedidoPneuAfterScrollUdmMRC040.pas:131Habilita campo motivo ao navegar
TdmMRC040.tabPedidoPneuSTPEDIDOValidateUdmMRC040.pas:369Habilita/desabilita campo motivo ao validar status
TformMRC040.actionDesbloquearExecuteUformMRC040.pas:458Controla motivo na ação de desbloqueio

Referências SQL diretas ao campo​

Procedure/ViewArquivoComportamento
VIEW_DOCUMENTOSBLOQUEADOSScripts/VIEW_DOCUMENTOSBLOQUEADOS.sql:366Usa ST_MOTLIBERAPEDNOTA para definir se motivo de liberação é exigido (exceto para Ordem de Serviço, que usa ST_EXIGEMOTIVOLIBERACAO de PARMOFICINA)

Candidatas por uso da tabela (sem referência direta ao campo)​

As procedures abaixo referenciam a tabela PARMFATUR mas não citam o campo ST_MOTLIBERAPEDNOTA literalmente: ATUALIZA_PESSOA, ATUALIZA_PRECOVENDA, BUSCAPRECORECAP, CALCULA_CENTRORESULT, CALCULA_CENTRORESULTITEM, CALCULA_COMISSAO, CALCULA_COMISSAO_V2, CALCULA_JUROVENDA, CALCULA_MAQUINA, CALCULA_MAQUINAFICHA, CANCELA_MESTRA, CANCELA_NOTAFISCAL, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, CONSOME_LOTEMATERIAPRIMA, CREDITOPERIODICO_AI0, CREDITOPERIODICOGRUPO_AI0, EXPORTACAO_ALLABOR, EXPORTACAO_DOMINIOCADASTROS, EXPORTACAO_DOMINIOCUPOM. Sem impacto funcional direto identificado.

Parâmetros relacionados​

ParâmetroTelaRelação
ST_EXIGEMOTIVOLIBERACAOOFI001 - Parâmetros de OficinaMesma função, porém exclusiva para Ordens de Serviço
CD_LIBERACAOADM012 - Parâmetros do Usuário (PARMUSUARIO)Define qual usuário pode liberar documentos bloqueados
ST_SEPARABLOQUEIOPEDMFA001 - Parâmetros de FaturamentoControla separação visual/funcional de pedidos bloqueados

Tabela Comparativa Resumida​

ValorCampo Motivo LiberaçãoLiberação sem motivoMensagem de bloqueio
N (padrão)Desabilitado (somente leitura, fundo cinza)✅ PermitidaNão exibe
SHabilitado (editável, fundo branco, label em negrito)❌ Bloqueada"É Obrigatório Informar o Motivo de Liberação do [Pedido/Nota/Contas]!"