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ódulo | Código | Descrição | Uso do parâmetro |
|---|
| Nota Fiscal de Saída | MNF002 | Emissão de NF de saída | Consumidor ativo — exibe alerta ao selecionar a pessoa na nota |
| Nota Fiscal (Outra) | MNF008 | Emissão de NF (variante) | Apenas carrega o parâmetro (BuscaParametros_MNF008) mas não o utiliza em lógica |
| Nota Fiscal (Outra) | MCO006 | Variante de emissão | Apenas carrega o parâmetro (BuscaParametros_MCO006) mas não o utiliza em lógica |
| Recap NF | RCA006 | Cadastro auxiliar | Apenas grava/lê o campo no TFDUpdateSQL da PARMFATUR |
| Cadastro PARMFATUR | CPD009 | Variante de parâmetros | Apenas 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 / Tabela | Descrição |
|---|
PARMFATUR.ST_MSENTREGAFUTURA | Flag 'S'/'N' que define se o alerta será exibido |
MESTRA.ST_MESTRA | Status da mestra — filtro = 'A' (Aberta / a entregar) |
NOTA.TP_NOTA | Tipo da nota — filtro = 'S' (Saída) |
NOTA.ST_NOTA | Status da nota — filtro = 'V' (Válida) |
NOTA.CD_PESSOA | Pessoa vinculada à nota — comparada com o cliente da NF atual |
Opções disponíveis
S - Sim (Mostrar mensagem)
| O que faz | Detalhe |
|---|
| Ao selecionar a pessoa na NF, verifica notas de entrega futura? | SIM — executa consulta em MESTRA/NOTA |
| Tipo da consulta | SELECT FIRST 1 I.NR_LANCAMENTO FROM MESTRA I INNER JOIN NOTA N ... |
| Critérios da consulta | MESTRA.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ção | Após informar/alterar a pessoa na nota fiscal de saída |
Simulação passo a passo
- Vá em MFA001 → Parâmetros → Ambos → Opção 1 → Mostrar Msg Entrega Futura = "Sim".
- Salve os parâmetros (F6).
- 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').
- Abra MNF002 e inicie uma nova nota fiscal de saída.
- Selecione a pessoa (cliente X).
- Resultado esperado: o sistema exibe a mensagem informativa: "O produtor
<NM_PESSOA> possui notas de ENTREGA FUTURA A ENTREGAR!" (código I-0000).
- 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 faz | Detalhe |
|---|
| 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 NF | Nenhum — somente suprime o aviso |
Simulação passo a passo
- Vá em MFA001 → Parâmetros → Ambos → Opção 1 → Mostrar Msg Entrega Futura = "Não".
- Salve os parâmetros (F6).
- Abra MNF002 e inicie uma nova nota fiscal de saída.
- Selecione o mesmo cliente X que possui notas de entrega futura pendentes.
- Resultado esperado: nenhuma mensagem é exibida; a consulta de verificação sequer é executada.
- 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ção | Descrição | Consulta MESTRA/NOTA? | Alerta exibido? | Bloqueia emissão? |
|---|
| S | Sim | Sim | Sim (I-0000) | Não (apenas informativo) |
| N | Não | Não | Não | Não |
Referências no Código Fonte
Delphi — Tela de Parâmetros (MFA001)
| Arquivo | Linha | Trecho / Papel |
|---|
source/MFA001/UMFA001.dfm | 6142-6149 | TLabel com Caption = 'Mostrar Msg Entrega Futura' e FocusControl = wwDBComboBox1 |
source/MFA001/UMFA001.dfm | 6900-6926 | wwDBComboBox1: TwwDBComboBox com DataField = 'ST_MSENTREGAFUTURA' e Items.Strings = ('Sim'#9'S', 'N'#227'o'#9'N') |
source/MFA001/UdmMFA001.dfm | 134 | SELECT ... PARMFATUR.ST_MSENTREGAFUTURA ... (consulta principal do parâmetro) |
source/MFA001/UdmMFA001.dfm | 1102-1103 | TStringField tabPARMFATURST_MSENTREGAFUTURA (FieldName = 'ST_MSENTREGAFUTURA') |
source/MFA001/UdmMFA001.dfm | 2531 | InsertSQL — inclui :ST_MSENTREGAFUTURA na inserção |
source/MFA001/UdmMFA001.dfm | 2654 | ModifySQL — ST_MSENTREGAFUTURA = :ST_MSENTREGAFUTURA |
source/MFA001/UdmMFA001.dfm | 3014 | Consulta alternativa incluindo PARMFATUR.ST_MSENTREGAFUTURA |
source/MFA001/UdmMFA001.pas | 130 | Declaração do campo tabPARMFATURST_MSENTREGAFUTURA: TStringField |
source/MFA001/UdmMFA001.pas | 508 | Valor padrão no AfterInsert: tabPARMFATURST_MSENTREGAFUTURA.AsString := 'S'; |
Delphi — Consumidor ativo (MNF002)
| Arquivo | Linha | Trecho / Papel |
|---|
source/MNF002/UdmMNF002.pas | 4257-4277 | Bloco 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.pas | 10499 | BuscaParametros_MNF002: inclui P.ST_MSENTREGAFUTURA no SELECT da PARMFATUR |
Delphi — Demais consumidores (somente carregam/persistem o valor)
| Arquivo | Linha | Papel |
|---|
source/MNF008/UdmMNF008.pas | 764 | BuscaParametros_MNF008: inclui P.ST_MSENTREGAFUTURA no SELECT (sem uso em lógica) |
source/MCO006/UdmMCO006.pas | 2108 | BuscaParametros_MCO006: inclui P.ST_MSENTREGAFUTURA no SELECT (sem uso em lógica) |
source/RCA006/UdmRCA006.dfm | 3021 / 3084 / 3150 / 3341 | TFDUpdateSQL — insert/update/select de ST_MSENTREGAFUTURA na PARMFATUR |
source/CPD009/UdmCPD009.dfm | 272 / 335 / 401 / 592 | TFDUpdateSQL — 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/.