ST_PERMITECONSUMIDORMFA001 - Permite Consumidor MFA001
Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série
Tabela: PARMNOTA.ST_PERMITECONSUMIDORMFA001
Campo: DOM_CHAR1 — Valor padrão: S (Sim)
Controla se a geração de nota fiscal é permitida para o consumidor final cadastrado nos parâmetros gerais de faturamento (MFA001). Quando definido como N, a procedure GERA_NOTAFISCAL bloqueia a emissão de notas destinadas a esse consumidor específico.
Telas impactadas
| Tela | Contexto |
|---|
| MFA002 | Tela onde o parâmetro é configurado, por série de nota fiscal |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|
ST_PERMITECONSUMIDORMFA001 | PARMNOTA | CHAR(1) | Indica se permite gerar nota para o consumidor final da MFA001 |
CD_CONSUMIDORMFA001 | Parâmetros gerais | INTEGER | Código do consumidor final definido nos parâmetros de faturamento (MFA001) |
Opções disponíveis
S - Sim (Permite)
| O que faz | Detalhe |
|---|
| Libera geração de nota para o consumidor final | Notas podem ser emitidas normalmente para o consumidor cadastrado em MFA001 |
Simulação passo a passo
- Acesse MFA002 — Parâmetros de Nota Fiscal por Série.
- Selecione a série desejada.
- No campo associado a "Permite Consumidor MFA001", escolha Sim.
- Salve o parâmetro.
- Ao gerar uma nota fiscal (via MFA001 ou outro módulo que chame
GERA_NOTAFISCAL), informe como destinatário o consumidor final cadastrado nos parâmetros gerais.
- A nota será gerada normalmente, sem bloqueio.
Resultado esperado: Notas fiscais podem ser emitidas para o consumidor final definido em MFA001 sem restrição.
N - Não (Bloqueia)
| O que faz | Detalhe |
|---|
| Bloqueia geração de nota para o consumidor final | A procedure GERA_NOTAFISCAL interrompe a geração com mensagem de erro |
Simulação passo a passo
- Acesse MFA002 — Parâmetros de Nota Fiscal por Série.
- Selecione a série desejada.
- No campo associado a "Permite Consumidor MFA001", escolha Não.
- Salve o parâmetro.
- Tente gerar uma nota fiscal cujo destinatário seja o consumidor final cadastrado nos parâmetros gerais (MFA001).
- O sistema exibe a mensagem: "GERA_NOTAFISCAL.: NÃO É PERMITIDO GERAR NOTA PARA O CONSUMIDOR FINAL DEFINIDO NA [MFA001]!" e a nota não é gerada.
Resultado esperado: A geração da nota fiscal é bloqueada com mensagem de erro sempre que o destinatário for o consumidor final definido em MFA001.
Exceção / Importante: O bloqueio se aplica exclusivamente ao consumidor final cujo código está armazenado em CD_CONSUMIDORMFA001 (configurado em MFA001/PARMFATUR). Outros destinatários não são afetados por este parâmetro.
Regra Geral
| Valor | Comportamento na geração de nota |
|---|
S (padrão) | Nota gerada normalmente para qualquer destinatário, inclusive o consumidor final da MFA001 |
N | Nota bloqueada quando o destinatário (I_CD_PESSOA) for igual ao consumidor final (V_CD_CONSUMIDORMFA001) |
O teste é realizado na procedure GERA_NOTAFISCAL: se I_CD_PESSOA = V_CD_CONSUMIDORMFA001 e V_ST_PERMITECONSUMIDORMFA001 = 'N', a execução é interrompida com SUSPEND; EXIT;.
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Evidência |
|---|
TdmMFA002.tabPARMNOTAAfterInsert | source/MFA002/UdmMFA002.pas:96 | Inicializa o campo com valor padrão 'S' |
Referências SQL diretas ao campo
| Procedure | Arquivo | Evidência |
|---|
GERA_NOTAFISCAL | Scripts/GERA_NOTAFISCAL.sql:172,273,279,317 | Declara variável, seleciona o campo de PARMNOTA, testa se = 'N' e bloqueia a geração |
Candidatas por uso da tabela
As procedures abaixo utilizam a tabela PARMNOTA, mas não referenciam o campo ST_PERMITECONSUMIDORMFA001 diretamente:
| Procedure | Arquivo |
|---|
CALCULA_IMPOSTONOTA | Scripts/CALCULA_IMPOSTONOTA.sql |
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql |
GERA_IMPOSTONOTA | Scripts/GERA_IMPOSTONOTA.sql |
GERA_IMPOSTONOTA_INDIVIDUAL | Scripts/GERA_IMPOSTONOTA_INDIVIDUAL.sql |
GERA_NFE | Scripts/GERA_NFE.sql |
GERA_NOTAPEDIDO | Scripts/GERA_NOTAPEDIDO.sql |
GERA_CHAVEACESSONFE | Scripts/GERA_CHAVEACESSONFE.sql |
RETORNA_NFSEQUENCIA | Scripts/RETORNA_NFSEQUENCIA.sql |
RETORNA_IMPMOV | Scripts/RETORNA_IMPMOV.sql |
RETORNA_IMPRESSORAUSUARIO | Scripts/RETORNO_IMPRESSORAUSUARIO.sql |
GRAVA_NOTACTE | Scripts/GRAVA_NOTACTE.sql |
FECHA_CONTRATOLEITE | Scripts/FECHA_CONTRATOLEITE.sql |
FECHA_CONTRATOLEITE_V2 | Scripts/FECHA_CONTRATOLEITE_V2.sql |
EXPORTACAO_SOVIS_COMPLEMENTO | Scripts/EXPORTACAO_SOVIS_COMPLEMENTO.sql |