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_MOTLIBERAPEDNOTAValor padrão:N(Não)
Telas impactadas
| Tela | Descrição | Efeito |
|---|---|---|
| MPD003 (Pedidos de Venda) | Liberação de pedidos bloqueados | Exige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar pedido |
| MPD081 (Pedidos de Venda - Fat. Rápida) | Liberação de pedidos bloqueados | Exige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar pedido |
| MNF003 (Notas Fiscais) | Liberação de notas bloqueadas | Exige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar nota |
| MFC036 (Contas a Receber/Pagar) | Liberação de contas bloqueadas | Exige preenchimento do campo "Motivo Liberação" (DS_LIBERACAO) ao liberar conta |
| MRC005 (Pedidos Pneu - Recapadora) | Liberação de pedidos de pneu | Exige preenchimento do campo "Motivo Liberação" ao liberar pedido |
| MRC040 (Pedidos Pneu - Recapadora) | Liberação de pedidos de pneu | Exige preenchimento do campo "Motivo Liberação" ao liberar pedido |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
DS_LIBERACAO | PEDIDO, NOTA, CONTAS | Texto digitado pelo usuário justificando a liberação do documento bloqueado |
Opções disponíveis
N - Não (padrão)
| O que faz | Detalhe |
|---|---|
| Campo Motivo Liberação fica desabilitado | O memo DS_LIBERACAO é exibido como somente leitura, cor de fundo cinza |
| Liberação sem justificativa | O usuário pode alterar o status para liberado sem informar motivo |
Simulação passo a passo
- Acesse MPD003 - Pedidos de Venda e abra um pedido bloqueado (status "Normal/Bloqueado").
- Altere o status do pedido para liberado.
- Observe que o campo Motivo Liberação permanece cinza e não editável.
- 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 faz | Detalhe |
|---|---|
| Campo Motivo Liberação é habilitado | O memo DS_LIBERACAO torna-se editável com fundo branco e label em negrito quando o status muda para liberado |
| Liberação exige justificativa | Ao salvar, o sistema impede a gravação se DS_LIBERACAO estiver vazio |
| Aplica-se a pedidos, notas e contas | O comportamento é o mesmo em MPD003, MPD081, MNF003, MFC036, MRC005 e MRC040 |
| Limpa motivo ao rejeitar liberação | Se o status voltar de liberado para bloqueado, o campo motivo é automaticamente limpo |
Simulação passo a passo
- Acesse MPD003 - Pedidos de Venda e abra um pedido bloqueado (status "Normal").
- Altere o status do pedido para liberado — o campo Motivo Liberação torna-se editável (fundo branco, label em negrito).
- Digite a justificativa no campo, por exemplo: "Cliente com pendência financeira regularizada nesta data."
- Clique em Salvar (
<F9>).
Resultado esperado: O pedido é salvo com sucesso e o motivo fica registrado para auditoria.
Simulação — tentativa sem preencher motivo
- Acesse MNF003 - Notas Fiscais e abra uma nota bloqueada (status "L" - Liberada).
- Deixe o campo Motivo Liberação em branco.
- Clique em Salvar — o sistema exibe a mensagem: "É Obrigatório Informar o Motivo de Liberação da Nota!"
- 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_EXIGEMOTIVOLIBERACAOda tabelaPARMOFICINA, e nãoST_MOTLIBERAPEDNOTA. A viewVIEW_DOCUMENTOSBLOQUEADOSfaz essa distinção comiif(: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_LIBERACAOemPARMUSUARIOe pela procedureVALIDA_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':
- Ao navegar em um documento já liberado: o campo motivo é habilitado para visualização/edição.
- Ao alterar o status para liberado: o campo motivo é habilitado imediatamente.
- Ao salvar: se o documento está liberado e o motivo está vazio, o salvamento é bloqueado com erro.
- Ao voltar o status para bloqueado: o campo motivo é desabilitado e o conteúdo é limpo.
Procedures impactadas
Rotinas Delphi com referência direta
| Rotina | Arquivo | Comportamento |
|---|---|---|
TdmMFA001.tabPARMFATURAfterInsert | UdmMFA001.pas:578 | Inicializa o campo com valor padrão 'N' |
TdmMPD003.tabPEDIDOST_PEDIDOValidate | UdmMPD003.pas:146 | Habilita/desabilita campo motivo ao validar status |
TdmMPD003.tabPEDIDOAfterScroll | UdmMPD003.pas:171 | Habilita/desabilita campo motivo ao navegar |
TfrmMPD003.btnSalvarClick | UMPD003.pas:410 | Impede salvamento sem motivo (DS_LIBERACAO) |
TdmMPD081.tabPEDIDOST_PEDIDOValidate | UdmMPD081.pas:170 | Habilita/desabilita campo motivo ao validar status |
TdmMPD081.tabPEDIDOAfterScroll | UdmMPD081.pas:205 | Habilita/desabilita campo motivo ao navegar |
TfrmMPD081.btnSalvarClick | UMPD081.pas:357 | Impede salvamento sem motivo |
TdmMNF003.tabNOTAST_NOTAValidate | UdmMNF003.pas:152 | Habilita/desabilita campo motivo ao validar status |
TdmMNF003.tabNOTAAfterScroll | UdmMNF003.pas:175 | Habilita/desabilita campo motivo ao navegar |
TfrmMNF003.btnSalvarClick | UMNF003.pas:342 | Impede salvamento sem motivo |
TdmMFC036.tabCONTASST_BLOQUEADAValidate | UdmMFC036.pas:217 | Habilita/desabilita campo motivo ao validar status |
TdmMFC036.tabCONTASBeforePost | UdmMFC036.pas:238 | Impede gravação sem motivo |
TdmMRC005.tabPedidoPneuAfterScroll | UdmMRC005.pas:110 | Habilita campo motivo ao navegar (status N ou P) |
TdmMRC005.tabPedidoPneuSTPEDIDOValidate | UdmMRC005.pas:134 | Habilita/desabilita campo motivo ao validar status |
TformMRC005.actionDesbloquearExecute | UformMRC005.pas:373 | Controla motivo na ação de desbloqueio |
TdmMRC040.tabPedidoPneuAfterScroll | UdmMRC040.pas:131 | Habilita campo motivo ao navegar |
TdmMRC040.tabPedidoPneuSTPEDIDOValidate | UdmMRC040.pas:369 | Habilita/desabilita campo motivo ao validar status |
TformMRC040.actionDesbloquearExecute | UformMRC040.pas:458 | Controla motivo na ação de desbloqueio |
Referências SQL diretas ao campo
| Procedure/View | Arquivo | Comportamento |
|---|---|---|
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql:366 | Usa 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âmetro | Tela | Relação |
|---|---|---|
ST_EXIGEMOTIVOLIBERACAO | OFI001 - Parâmetros de Oficina | Mesma função, porém exclusiva para Ordens de Serviço |
CD_LIBERACAO | ADM012 - Parâmetros do Usuário (PARMUSUARIO) | Define qual usuário pode liberar documentos bloqueados |
ST_SEPARABLOQUEIOPED | MFA001 - Parâmetros de Faturamento | Controla separação visual/funcional de pedidos bloqueados |
Tabela Comparativa Resumida
| Valor | Campo Motivo Liberação | Liberação sem motivo | Mensagem de bloqueio |
|---|---|---|---|
| N (padrão) | Desabilitado (somente leitura, fundo cinza) | ✅ Permitida | Não exibe |
| S | Habilitado (editável, fundo branco, label em negrito) | ❌ Bloqueada | "É Obrigatório Informar o Motivo de Liberação do [Pedido/Nota/Contas]!" |