Pular para o conteúdo principal

ST_PERGUNTAIMPLNF170 - Perguntar antes de imprimir Cupom Eletrônico (NFC-e)

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Nota → Parâmetros da NF Tabela: PARMFATUR.ST_PERGUNTAIMPLNF170 Valor padrão: N (Não)

Telas impactadas​

MóduloCódigoDescrição
Layout NFC-e (DANFE NFC-e)LNF501Layout/impressão do Cupom Fiscal Eletrônico (NFC-e)

Contexto histórico: O nome do parâmetro (ST_PERGUNTAIMPLNF170) ainda faz referência à antiga LNF170. Atualmente o processo de impressão da NFC-e foi unificado na LNF501 e é essa tela que consome o parâmetro.

Campos envolvidos​

CampoDescrição
PARMFATUR.ST_PERGUNTAIMPLNF170Flag S/N — habilita a pergunta antes de imprimir o cupom eletrônico
Parametros[11] (layout)Parâmetro de entrada recebido pela rotina da LNF501 indicando se a tela chamadora utiliza o fluxo de confirmação de impressão (S/N, padrão S)

Opções disponíveis​

S - Sim (perguntar antes de imprimir)​

O que fazDetalhe
Ao disparar a impressão da NFC-e (LNF501)Exibe a pergunta “Deseja Imprimir a Nota Fiscal Eletrônica de Consumidor?”
Se o usuário responder SimSegue o fluxo normal: grava QRCode e abre/imprime o layout da NFC-e
Se o usuário responder NãoAborta a impressão (Exit) — a NFC-e NÃO é impressa
Condição adicionalA pergunta só aparece se a tela chamadora também enviar Parametros[11] = 'S' (tela usa o fluxo de confirmação)

Simulação passo a passo​

  1. Vá em MFA001 → Parâmetros → Nota → Parâmetros da NF → ST_PERGUNTAIMPLNF170 = "Sim"
  2. Salve os parâmetros (F6)
  3. Em uma tela que emita NFC-e (por exemplo caixa/frente de loja) finalize uma venda que gere NFC-e
  4. Ao final da emissão, antes de imprimir o cupom, aparece a mensagem “Deseja Imprimir a Nota Fiscal Eletrônica de Consumidor?”
  5. Clique em Não → O sistema não imprime o cupom e encerra o fluxo de impressão
  6. Refaça a operação e clique em Sim → O sistema grava o QRCode e imprime normalmente o DANFE NFC-e

Resultado esperado: O operador tem a opção de decidir, a cada emissão, se quer imprimir o cupom fiscal eletrônico.


N - Não (imprime direto, sem perguntar) — Padrão​

O que fazDetalhe
Ao disparar a impressão da NFC-e (LNF501)Não exibe a pergunta
FluxoSempre segue direto para gravação do QRCode e impressão do DANFE NFC-e
Indicado quandoA operação é de alto volume (PDV/caixa) e toda NFC-e deve sempre ser impressa automaticamente

Simulação passo a passo​

  1. Vá em MFA001 → Parâmetros → Nota → Parâmetros da NF → ST_PERGUNTAIMPLNF170 = "Não"
  2. Salve os parâmetros (F6)
  3. Em uma tela que emita NFC-e, finalize uma venda
  4. Nenhuma pergunta é exibida — o sistema já inicia a gravação do QRCode e a impressão do cupom automaticamente

Resultado esperado: A NFC-e é sempre impressa sem intervenção do operador. Este é o valor padrão ao criar um novo registro no MFA001.


Tabela Comparativa Resumida​

OpçãoDescriçãoPergunta antes de imprimir?NFC-e é impressa?
SSimSimSó se o usuário confirmar
NNão (padrão)NãoSempre (automático)

Observação importante: Mesmo com ST_PERGUNTAIMPLNF170 = 'S', a pergunta só aparece se a tela chamadora do layout LNF501 enviar Parametros[11] = 'S'. Telas que não utilizam esse fluxo de confirmação ignoram o parâmetro.


Referências no Código Fonte​

Tela de configuração (MFA001)​

  • source/MFA001/UMFA001.dfm (linha 7439) — TwwDBComboBox cmbST_PERGUNTAIMPLNF170
    • DataField = 'ST_PERGUNTAIMPLNF170'
    • Items.Strings = ('Sim'#9'S', 'Não'#9'N')
    • Label (linha 6435): 'Fazer Pergunta se "Deseja Imprimir o Cupom Eletrônico" [LNF501]'
  • source/MFA001/UdmMFA001.pas (linha 545) — valor padrão em AfterInsert:
    tabPARMFATURST_PERGUNTAIMPLNF170.AsString := 'N';
  • source/MFA001/UdmMFA001.dfm — campo presente no SELECT (linhas 261 e 3141), no INSERT (linhas 2424 e 2597) e no UPDATE (linha 2842) da tabela PARMFATUR.

Consumo em Layout / Impressão​

  • source/LNF501/ULNF501.pas (linhas 110-117):
    ParmFatur := BuscaParametros(Transaction, 'PARMFATUR', Parametros[1]);
    // caso for = S o parâmetro da PARMFATUR ST_PERGUNTAIMPLNF170 significa
    // que vai realizar a pergunta; Parametros[11] = 'S' indica que a tela
    // chamadora utiliza o processo de impressão do Cupom Eletrônico.
    if ( (ParmFatur.Values['ST_PERGUNTAIMPLNF170'] = 'S') and (Parametros[11] = 'S') And
    (msgCodigo('C-0000',['Deseja Imprimir a Nota Fiscal Eletrônica de Consumidor?']) = False) ) then
    Exit;