Pular para o conteúdo principal

Alerta de Notas de Entrega Futura Pendentes

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Notas Fiscais → Parâmetros de Notas (label "Mostrar Msg Entrega Futura") Tabela: PARMFATUR.ST_MSENTREGAFUTURA Valor padrão: S (Sim)

Telas impactadas​

MóduloCódigoDescriçãoUso do parâmetro
Nota Fiscal de SaídaMNF002Emissão de NF de saídaConsumidor ativo — exibe alerta ao selecionar a pessoa na nota
Nota Fiscal (Outra)MNF008Emissão de NF (variante)Apenas carrega o parâmetro (BuscaParametros_MNF008) mas não o utiliza em lógica
Nota Fiscal (Outra)MCO006Variante de emissãoApenas carrega o parâmetro (BuscaParametros_MCO006) mas não o utiliza em lógica
Recap NFRCA006Cadastro auxiliarApenas grava/lê o campo no TFDUpdateSQL da PARMFATUR
Cadastro PARMFATURCPD009Variante de parâmetrosApenas grava/lê o campo no TFDUpdateSQL da PARMFATUR

Observação: Apenas MNF002 efetivamente usa o parâmetro para alterar comportamento. As demais telas apenas persistem ou trafegam o valor.

Procedures impactadas​

Nenhuma procedure/view em Scripts/ faz referência ao parâmetro ST_MSENTREGAFUTURA. O controle é 100% feito no código Delphi, via SQL dinâmico montado em UdmMNF002.pas.

Campos envolvidos​

Campo / TabelaDescrição
PARMFATUR.ST_MSENTREGAFUTURAFlag 'S'/'N' que define se o alerta será exibido
MESTRA.ST_MESTRAStatus da mestra — filtro = 'A' (Aberta / a entregar)
NOTA.TP_NOTATipo da nota — filtro = 'S' (Saída)
NOTA.ST_NOTAStatus da nota — filtro = 'V' (Válida)
NOTA.CD_PESSOAPessoa vinculada à nota — comparada com o cliente da NF atual

Opções disponíveis​

S - Sim (Mostrar mensagem)​

O que fazDetalhe
Ao selecionar a pessoa na NF, verifica notas de entrega futura?SIM — executa consulta em MESTRA/NOTA
Tipo da consultaSELECT FIRST 1 I.NR_LANCAMENTO FROM MESTRA I INNER JOIN NOTA N ...
Critérios da consultaMESTRA.ST_MESTRA = 'A' e NOTA.TP_NOTA = 'S' e NOTA.ST_NOTA = 'V' e mesma empresa e mesma pessoa
Exibe mensagem?SIM — MsgCodigo('I-0000', ['O produtor '+ NM_PESSOA +' possui notas de ENTREGA FUTURA A ENTREGAR!'])
Momento da verificaçãoApós informar/alterar a pessoa na nota fiscal de saída

Simulação passo a passo​

  1. Vá em MFA001 → Parâmetros → Ambos → Opção 1 → Mostrar Msg Entrega Futura = "Sim".
  2. Salve os parâmetros (F6).
  3. Garanta que existe ao menos uma nota de entrega futura pendente para o cliente X (ou seja: uma NOTA com TP_NOTA='S' e ST_NOTA='V' cuja MESTRA associada esteja com ST_MESTRA='A').
  4. Abra MNF002 e inicie uma nova nota fiscal de saída.
  5. Selecione a pessoa (cliente X).
  6. Resultado esperado: o sistema exibe a mensagem informativa: "O produtor <NM_PESSOA> possui notas de ENTREGA FUTURA A ENTREGAR!" (código I-0000).
  7. O fluxo da emissão segue normalmente — a mensagem é apenas um aviso, não bloqueia a operação.

Resultado esperado: operadores são lembrados de que o cliente possui entregas futuras pendentes antes de emitir uma nova NF, evitando faturamentos duplicados ou divergências de saldo.

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


N - Não (Não mostrar)​

O que fazDetalhe
Ao selecionar a pessoa na NF, verifica notas de entrega futura?NÃO — o bloco if (ParmFatur.values['ST_MSENTREGAFUTURA'] = 'S') é ignorado
Consulta em MESTRA/NOTA executada?NÃO
Mensagem de alerta exibida?NÃO
Impacto no restante da NFNenhum — somente suprime o aviso

Simulação passo a passo​

  1. Vá em MFA001 → Parâmetros → Ambos → Opção 1 → Mostrar Msg Entrega Futura = "Não".
  2. Salve os parâmetros (F6).
  3. Abra MNF002 e inicie uma nova nota fiscal de saída.
  4. Selecione o mesmo cliente X que possui notas de entrega futura pendentes.
  5. Resultado esperado: nenhuma mensagem é exibida; a consulta de verificação sequer é executada.
  6. O usuário emite a nota normalmente sem ser alertado sobre as entregas futuras pendentes.

Resultado esperado: ambiente mais "silencioso" para operadores que não utilizam o recurso de entrega futura ou que preferem não receber esse tipo de aviso.


Tabela Comparativa Resumida​

OpçãoDescriçãoConsulta MESTRA/NOTA?Alerta exibido?Bloqueia emissão?
SSimSimSim (I-0000)Não (apenas informativo)
NNãoNãoNãoNão

Referências no Código Fonte​

Delphi — Tela de Parâmetros (MFA001)​

ArquivoLinhaTrecho / Papel
source/MFA001/UMFA001.dfm6142-6149TLabel com Caption = 'Mostrar Msg Entrega Futura' e FocusControl = wwDBComboBox1
source/MFA001/UMFA001.dfm6900-6926wwDBComboBox1: TwwDBComboBox com DataField = 'ST_MSENTREGAFUTURA' e Items.Strings = ('Sim'#9'S', 'N'#227'o'#9'N')
source/MFA001/UdmMFA001.dfm134SELECT ... PARMFATUR.ST_MSENTREGAFUTURA ... (consulta principal do parâmetro)
source/MFA001/UdmMFA001.dfm1102-1103TStringField tabPARMFATURST_MSENTREGAFUTURA (FieldName = 'ST_MSENTREGAFUTURA')
source/MFA001/UdmMFA001.dfm2531InsertSQL — inclui :ST_MSENTREGAFUTURA na inserção
source/MFA001/UdmMFA001.dfm2654ModifySQL — ST_MSENTREGAFUTURA = :ST_MSENTREGAFUTURA
source/MFA001/UdmMFA001.dfm3014Consulta alternativa incluindo PARMFATUR.ST_MSENTREGAFUTURA
source/MFA001/UdmMFA001.pas130Declaração do campo tabPARMFATURST_MSENTREGAFUTURA: TStringField
source/MFA001/UdmMFA001.pas508Valor padrão no AfterInsert: tabPARMFATURST_MSENTREGAFUTURA.AsString := 'S';

Delphi — Consumidor ativo (MNF002)​

ArquivoLinhaTrecho / Papel
source/MNF002/UdmMNF002.pas4257-4277Bloco if (ParmFatur.values['ST_MSENTREGAFUTURA'] = 'S') then ... — consulta MESTRA+NOTA (ST_MESTRA='A', TP_NOTA='S', ST_NOTA='V') e dispara MsgCodigo('I-0000', ['O produtor '+ NM_PESSOA +' possui notas de ENTREGA FUTURA A ENTREGAR!'])
source/MNF002/UdmMNF002.pas10499BuscaParametros_MNF002: inclui P.ST_MSENTREGAFUTURA no SELECT da PARMFATUR

Delphi — Demais consumidores (somente carregam/persistem o valor)​

ArquivoLinhaPapel
source/MNF008/UdmMNF008.pas764BuscaParametros_MNF008: inclui P.ST_MSENTREGAFUTURA no SELECT (sem uso em lógica)
source/MCO006/UdmMCO006.pas2108BuscaParametros_MCO006: inclui P.ST_MSENTREGAFUTURA no SELECT (sem uso em lógica)
source/RCA006/UdmRCA006.dfm3021 / 3084 / 3150 / 3341TFDUpdateSQL — insert/update/select de ST_MSENTREGAFUTURA na PARMFATUR
source/CPD009/UdmCPD009.dfm272 / 335 / 401 / 592TFDUpdateSQL — insert/update/select de ST_MSENTREGAFUTURA na PARMFATUR

SQL (Scripts/)​

Nenhuma ocorrência — o parâmetro não é referenciado por nenhuma stored procedure, trigger ou view do diretório Scripts/.