Pular para o conteúdo principal

Parâmetro de Histórico de Cliente Devedor

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

Observação sobre nomenclatura: O nome real do campo no banco é ST_MOSTRARDEVENDO (com R — "Mostrar Devendo"). O parâmetro foi solicitado como ST_MOSTRADEVENDO, mas a documentação reflete o nome efetivamente existente em PARMFATUR.

Telas impactadas​

MóduloCódigoDescrição
Pedido de VendaMPD002Pedidos de venda
Pedido de Venda (Mobile/Especial)MPD049Pedido vinculado a empresa/placa
Nota Fiscal SaídaMNF002Emissão de NF de saída
NF Devolução/OutraMNF008NF de devolução/outra saída
PDV / Cupom FiscalMNF017Frente de caixa (incluindo confirmação de pedido)
Ordem de ServiçoMOF001Ordens de serviço
Histórico de ClienteCFC004Tela alvo aberta quando há contas pendentes (recebe ST_CONTAS)

Os módulos MPD004, MPD020, MPD049 (Busca_Parametros), MOF006, MNF013, MNF014, MNF015, MCO006 e CPD009 carregam o parâmetro de PARMFATUR em variáveis internas, mas não aplicam lógica condicional baseada nele (apenas o leem ou apenas usam o select com a coluna). Em MNF017 (UdmMNF017.pas) o trecho equivalente está comentado (substituído pela versão em ).

Campos envolvidos​

CampoDescrição
CONTAS.CD_PESSOACliente cujo histórico está sendo verificado
CONTAS.ST_CONTASStatus da conta (P=Pendente, T=Total/Aberta, L=Liquidada, C=Cancelada, A=Anulada)
CONTAS.DT_VENCIMENTOData de vencimento da parcela
CONTAS.DT_LIQUIDACAOData em que a parcela foi quitada
PARMFATUR.CD_CONSUMIDORCliente "consumidor final" (excluído da verificação)

Opções disponíveis​

S - Pendentes​

O que fazDetalhe
Quando dispara?Ao informar/selecionar o cliente no documento (Pedido, NF, OS, etc.)
Filtro aplicado em CONTASST_CONTAS IN ('T', 'P') (todas as contas em aberto)
Considera vencimento?Não — qualquer conta em aberto, vencida ou a vencer, dispara o alerta
Exclui consumidor final?Sim (CD_PESSOA <> PARMFATUR.CD_CONSUMIDOR) nos módulos MNF002/MNF008/MOF001
Ação se houver contaAbre automaticamente a tela CFC004 (Histórico do Cliente) com ST_CONTAS='S'
Tela CFC004 filtraAND CONTAS.ST_CONTAS IN ('T','P')

Simulação passo a passo​

  1. Vá em MFA001 → Parâmetros → Ambos → Opção 1 → ST_MOSTRARDEVENDO = "Pendentes"
  2. Salve os parâmetros (F6)
  3. Cadastre um cliente X com pelo menos uma conta a receber em aberto (ST_CONTAS = 'P' ou 'T')
  4. Abra um Pedido de Venda (MPD002)
  5. Informe o cliente X no campo CD_PESSOA e saia do campo (Exit)
  6. Sistema executa SELECT em CONTAS filtrando ST_CONTAS IN ('T','P')
  7. Como há conta pendente, abre automaticamente a tela CFC004 carregando o histórico financeiro do cliente
  8. Repita com cliente Y que não tem contas em aberto → Nenhuma tela é aberta

Resultado esperado: Sempre que o cliente tiver qualquer conta em aberto (vencida ou não), o sistema interrompe o fluxo de digitação e exibe o histórico financeiro.


V - Pendentes Vencidas​

O que fazDetalhe
Quando dispara?Ao informar/selecionar o cliente no documento
Filtro aplicado em CONTASST_CONTAS IN ('T', 'P') AND DT_VENCIMENTO <= CURRENT_DATE
Considera vencimento?Sim — somente contas já vencidas disparam o alerta
Exclui consumidor final?Sim (em MNF002/MNF008/MOF001)
Ação se houver contaAbre CFC004 com ST_CONTAS='V'
Tela CFC004 filtraAND CONTAS.ST_CONTAS IN ('T','P') AND CONTAS.DT_VENCIMENTO <= CURRENT_DATE

Simulação passo a passo​

  1. MFA001 → ST_MOSTRARDEVENDO = "Pendentes Vencidas"
  2. Salve os parâmetros (F6)
  3. Cadastre cliente X com conta em aberto com vencimento futuro (ex: vence em 30 dias)
  4. Cadastre cliente Y com conta em aberto vencida (vencimento ontem)
  5. Abra um Pedido de Venda
  6. Informe cliente X → Nenhuma tela abre (não há pendência vencida)
  7. Informe cliente Y → Abre CFC004 mostrando as contas vencidas

Resultado esperado: O sistema só interrompe o atendimento quando o cliente tiver pelo menos uma conta vencida; clientes apenas com contas a vencer passam livres.


L - Liquidadas após Vencto​

O que fazDetalhe
Quando dispara?Ao informar/selecionar o cliente no documento
Filtro aplicado em CONTASST_CONTAS = 'L' AND (DT_LIQUIDACAO - DT_VENCIMENTO) > 10
O que verificaContas já quitadas, mas que foram pagas com mais de 10 dias de atraso
Exclui consumidor final?Sim (em MNF002/MNF008/MOF001)
Ação se houver contaAbre CFC004 com ST_CONTAS='L'
Tela CFC004 filtraAND CONTAS.ST_CONTAS = 'L' AND (CONTAS.DT_LIQUIDACAO - CONTAS.DT_VENCIMENTO) > 10

Simulação passo a passo​

  1. MFA001 → ST_MOSTRARDEVENDO = "Liquidadas após Vencto"
  2. Salve os parâmetros (F6)
  3. Cadastre cliente X cujas contas foram todas pagas em dia (ou com até 10 dias de atraso)
  4. Cadastre cliente Y com pelo menos uma conta liquidada 15 dias após o vencimento
  5. Abra um Pedido de Venda
  6. Informe cliente X → Nenhuma tela abre
  7. Informe cliente Y → Abre CFC004 mostrando o histórico de atraso de pagamento

Resultado esperado: O sistema sinaliza clientes com histórico de mau pagador (atraso superior a 10 dias na liquidação), mesmo que estejam atualmente sem dívida em aberto.


T - Todas​

O que fazDetalhe
Quando dispara?Ao informar/selecionar o cliente no documento
Filtro aplicado em CONTASST_CONTAS IN ('T', 'P', 'L') (sem filtro de data)
O que verificaQualquer histórico financeiro — pendentes, abertas e quitadas
Exclui consumidor final?Sim (em MNF002/MNF008/MOF001)
Ação se houver contaAbre CFC004 com ST_CONTAS='T'
Tela CFC004 filtraSem iFiltro específico no UCFC004 (cai no filtro padrão ST_CONTAS NOT IN ('C','A'))

Simulação passo a passo​

  1. MFA001 → ST_MOSTRARDEVENDO = "Todas"
  2. Salve os parâmetros (F6)
  3. Cadastre cliente X que já comprou alguma vez (independente de estar quitado ou não)
  4. Abra um Pedido de Venda
  5. Informe cliente X → Abre CFC004 com todo o histórico financeiro do cliente
  6. Cliente novo, sem nenhum lançamento em CONTAS → Nenhuma tela abre

Resultado esperado: O histórico financeiro completo é exibido para qualquer cliente que tenha movimentação em CONTAS, servindo como consulta automática.


N - Não​

O que fazDetalhe
Quando dispara?Nunca — o bloco condicional é totalmente ignorado
Filtro aplicado em CONTASNenhuma consulta executada
AçãoO sistema segue o fluxo normal sem interromper o usuário

Simulação passo a passo​

  1. MFA001 → ST_MOSTRARDEVENDO = "Não"
  2. Salve os parâmetros (F6)
  3. Abra um Pedido de Venda (MPD002)
  4. Informe qualquer cliente — inclusive um com várias contas vencidas
  5. Nenhuma consulta a CONTAS é executada
  6. Nenhuma tela CFC004 é aberta automaticamente
  7. O fluxo do pedido segue normalmente

Resultado esperado: Nenhum alerta automático de inadimplência. O operador pode atender qualquer cliente sem ser interrompido.

Este é o valor padrão ao criar um novo registro no MFA001 .


Observação Importante: Tela CFC004 (Histórico do Cliente)​

Quando o parâmetro detecta uma conta no perfil configurado, o sistema carrega o módulo CFC004 passando os parâmetros:

ParâmetroValor enviado
ModuloCódigo do módulo chamador (ex: MPD002, MNF002)
CD_PESSOACódigo do cliente do documento atual
ST_CONTASValor atual do PARMFATUR.ST_MOSTRARDEVENDO (S, V, L ou T)
ST_SHOW (apenas MNF017)'S' — força exibição da tela

A tela CFC004 reaplica internamente o filtro iFiltro correspondente ao valor recebido em ST_CONTAS , garantindo que o histórico exibido corresponda exatamente ao critério configurado.

A tela só é carregada se o usuário tiver acesso a CFC004 no menu (sessao.menu.get('CFC004')); caso contrário é lançada JException W-0000 com a mensagem "O usuário não possui acesso à tela de Histórico de Cliente [CFC004]!".


Regra Geral de Disparo​

O bloco condicional só é executado quando todas as condições abaixo são atendidas:

  1. PARMFATUR.ST_MOSTRARDEVENDO <> 'N'
  2. O documento tem CD_PESSOA informado (cliente preenchido)
  3. O evento de saída do campo cliente (edtCD_PESSOAExit) foi disparado, ou (em MNF002) o cliente foi alterado com iST_PESSOA = 'S'

Em MNF002/MNF008/MOF001, há ainda a exclusão extra do consumidor final: Isso evita que vendas no balcão para consumidor genérico abram o histórico do cliente "consumidor".

Em MPD002 e MPD049, essa exclusão não está presente na consulta principal.


Interação com outros parâmetros​

ParâmetroInteração
PARMFATUR.CD_CONSUMIDORPessoa-consumidor é excluída da verificação em MNF002, MNF008 e MOF001
PARMFATUR.ST_DATASCPCEm MNF002, é avaliado logo após o ST_MOSTRARDEVENDO (linha 5722); ambos são checagens de risco do cliente

Tabela Comparativa Resumida​

OpçãoDescriçãoFiltro em CONTASConsidera vencimento?Considera atraso na liquidação?Abre CFC004?
SPendentesST_CONTAS IN ('T','P')NãoNãoSim
VPendentes VencidasST_CONTAS IN ('T','P') AND DT_VENC <= CURRENT_DATESimNãoSim
LLiquidadas após VenctoST_CONTAS = 'L' AND (DT_LIQ - DT_VENC) > 10-Sim (>10 dias)Sim
TTodasST_CONTAS IN ('T','P','L')NãoNãoSim
NNão— (não executa)--Não