Pular para o conteúdo principal

MNF013.R001 — Bloqueio automático do CTRC por crédito, preço ou desconto

Módulo: MNF013 · Menu: Faturamento > Movimentações > Notas Fiscais > CTRC - Conhecimento de Transporte Classificação: intencional · Relevância: alta

Regra​

Ao salvar, o sistema verifica o crédito do destinatário, se o valor unitário está abaixo da tabela de preço e se o desconto excede o máximo permitido; se alguma condição falhar, o CTRC é gravado com status Bloqueado.

Quando dispara​

Ao clicar em Salvar, antes de gravar a nota fiscal (chama a procedure VERIFICA_CREDITO).

Mensagem exibida​

Atenção! O CTRC de Lancto.: <nº> será Bloqueado. <motivo>

Como o usuário resolve​

Liberar o crédito do cliente, ajustar o preço/tabela de preço do produto ou reduzir o desconto conforme o motivo informado na mensagem.

Parâmetros envolvidos​

  • PARMFATUR.ST_BLOQUEIONF
  • PARMFATUR.PC_DESCONTOMAX

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/MNF013/UdmMNF013.pas1608-1654Verifica_CreditoTabelaConsulta VERIFICA_CREDITO e valida preço/desconto
source/MNF013/UMNF013.pas1989-1999TfrmMNF013.btnSalvarClickBloqueia a nota gravando ST_NOTA='B'

source/MNF013/UdmMNF013.pas:1608

Function Verifica_CreditoTabela : String;
Var
Consulta, I_Mensagem: String;
Resultado: TResultado;
Pc_Desconto: Double;
begin
I_Mensagem := '';
Consulta := 'SELECT V_DS_BLOQUEIO FROM VERIFICA_CREDITO ( ' +
Nulo(dmMNF013.tabNOTACD_EMPRESA.AsString,'I') + ', ' +
Nulo(dmMNF013.tabNOTACD_PESSOA.AsString,'I') + ', ' +
Nulo(dmMNF013.tabNOTAST_CONDPAGTO.AsString,'S') + ', ' +
Nulo(dmMNF013.iST_BLOQUEIONF,'S') + ', ' +

source/MNF013/UMNF013.pas:1989

\{Verifica o Credito da Pessoa\}
iDS_BLOQUEIO := Verifica_CreditoTabela;
\{Bloqueia a NF\}
if ( Trim(iDS_BLOQUEIO) &lt;> '' ) then
begin
dmMNF013.tabNOTA.Edit;
dmMNF013.tabNOTADS_BLOQUEIO.AsString := iDS_BLOQUEIO;
dmMNF013.tabNOTAST_NOTA.AsString := 'B';
dmMNF013.tabNOTA.Post;
iMensagem := 'Atenção!' + CHR(10) + 'O CTRC de Lancto.: ' + iNR_LANCTO + ' será Bloqueado.' + CHR(10) + iDS_BLOQUEIO;
end;