Pular para o conteúdo principal

TP_ITEM — Filtro de Tipo de Item por Série de Nota Fiscal

Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série Tabela: PARMNOTA.TP_ITEM · CHAR(1) NOT NULL Valor padrão: T (Todos) Controle: ComboBox cmbTP_ITEM vinculado ao campo TP_ITEM via dmMFA002.dsPARMNOTA

Resumo​

Define qual tipo de item (produto/serviço) pode ser lançado em notas fiscais que utilizem esta série. Quando diferente de T, funciona como filtro obrigatório que restringe a inserção de itens na nota — o sistema rejeita itens cujo tipo não corresponda ao configurado.

Telas impactadas​

TelaArquivoEfeito
MFA002 — Parâmetros de Nota Fiscal por SérieUdmMFA002.pasCadastro do parâmetro (default 'T' no AfterInsert)
MNF001 — Movimento de Nota Fiscal (Saída)UdmMNF001.pasValidação ao inserir item na nota: bloqueia item se o tipo não corresponde ao filtro da série
MNF033 / Geração de NF a partir de pedidoGERA_NOTAFISCALPEDIDO.sqlFiltra itens do pedido conforme I_TP_ITEM ao gerar nota por ordem de carregamento
LNF140 — Layout de impressão de NFULNF140.pasUsa I.TP_ITEM para ordenação e descrição (Produtivo / Improdutivo / Serviço / Aplicação Imediata)

Campos envolvidos​

CampoTabelaTipoDescrição
TP_ITEMPARMNOTACHAR(1)Filtro configurado por série de nota fiscal
TP_ITEMITEMCHAR(1)Tipo do item no cadastro de produtos (P, I, S, A)
TP_ITEMITEMNOTACHAR(1)Tipo do item na nota fiscal
TP_ITEMITEMPEDIDOCHAR(1)Tipo do item no pedido

Opções disponíveis​

P — Produtivo (Industrializado)​

O que fazDetalhe
Permite somente itens do tipo P (Produtivo / Industrializado)Blocqueia I, S e A

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Tipo Item, escolha Produtivo (Industrializado).
  3. Salve o parâmetro.
  4. Abra uma nota fiscal (MNF001) utilizando esta série.
  5. Tente inserir um item cadastrado como tipo P — permitido.
  6. Tente inserir um item cadastrado como tipo S (Serviço) — bloqueado com mensagem: "O Tipo do Produto [código] não é permitido para a Série [série] Verifique[TPO001],[MFA002]!".

Resultado esperado: Apenas itens Produtivos (industrializados) podem ser adicionados às notas desta série.


I — Improdutivo (Revenda)​

O que fazDetalhe
Permite somente itens do tipo I (Improdutivo / Revenda)Bloqueia P, S e A

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Tipo Item, escolha Improdutivo (Revenda).
  3. Salve o parâmetro.
  4. Abra uma nota fiscal (MNF001) utilizando esta série.
  5. Insira um item cadastrado como tipo I — permitido.
  6. Insira um item cadastrado como tipo P (Produtivo) — bloqueado com mensagem de tipo não permitido.

Resultado esperado: Apenas itens Improdutivos (revenda) podem ser adicionados às notas desta série.


S — Serviço​

O que fazDetalhe
Permite somente itens do tipo S (Serviço)Bloqueia P, I e A

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Tipo Item, escolha Serviço.
  3. Salve o parâmetro.
  4. Abra uma nota fiscal (MNF001) utilizando esta série.
  5. Insira um item cadastrado como tipo S — permitido.
  6. Insira um item cadastrado como tipo P (Produtivo) — bloqueado com mensagem de tipo não permitido.

Resultado esperado: Apenas itens de Serviço podem ser adicionados às notas desta série. Ideal para séries dedicadas a NFS-e.


A — Aplicação Imediata​

O que fazDetalhe
Permite somente itens do tipo A (Aplicação Imediata)Bloqueia P, I e S

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Tipo Item, escolha Aplicação Imediata.
  3. Salve o parâmetro.
  4. Abra uma nota fiscal (MNF001) utilizando esta série.
  5. Insira um item cadastrado como tipo A — permitido.
  6. Insira um item de outro tipo — bloqueado com mensagem de tipo não permitido.

Resultado esperado: Apenas itens de Aplicação Imediata podem ser adicionados às notas desta série.


T — Todos (padrão)​

O que fazDetalhe
Permite qualquer tipo de itemSem filtro — valor padrão do sistema

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Tipo Item, escolha Todos (ou deixe o padrão ao criar novo registro).
  3. Salve o parâmetro.
  4. Abra uma nota fiscal (MNF001) utilizando esta série.
  5. Insira itens dos tipos P, I, S ou A — todos permitidos sem restrição.

Resultado esperado: Qualquer tipo de item pode ser adicionado às notas desta série, sem filtragem.

Nota: Este é o valor padrão para novas séries criadas no MFA002 (AfterInsert atribui 'T').


Regra geral de validação​

A validação ocorre no Delphi (UdmMNF001.pas, linha ~3849) ao confirmar a inserção de cada item na nota:

  1. O sistema consulta PARMNOTA.TP_ITEM para a série da nota atual.
  2. Se o valor for diferente de 'T' e diferente de vazio, compara com ITEM.TP_ITEM do item que está sendo inserido.
  3. Se o tipo do item não corresponder ao filtro, a operação é abortada com a mensagem: "O Tipo do Produto [CD_ITEM] não é permitido para a Série [CD_SERIE] Verifique[TPO001],[MFA002]!"

Na geração de nota fiscal a partir de pedidos via ordem de carregamento (GERA_NOTAFISCALPEDIDO.sql, linha ~71), o filtro TP_ITEM é aplicado via SQL:

  • P → seleciona itens onde TP_ITEM <> 'S' (produtos, exceto serviços)
  • S → seleciona itens onde TP_ITEM = 'S' (apenas serviços)
  • T → sem filtro (todos)

Tabela comparativa resumida​

ValorSignificadoItens permitidos na notaCaso de uso típico
PProdutivo (Industrializado)Somente tipo PSéries de NF-e para produtos industrializados
IImprodutivo (Revenda)Somente tipo ISéries de NF-e para revenda
SServiçoSomente tipo SSéries dedicadas a NFS-e
AAplicação ImediataSomente tipo ASéries para aplicação imediata
TTodos (padrão)P, I, S, A — sem restriçãoUso geral

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoContexto
TdmMFA002.tabPARMNOTAAfterInsertsource/MFA002/UdmMFA002.pas:94Atribui valor padrão 'T' ao criar novo registro
TdmMNF001 (validação de item na nota)source/MNF001/UdmMNF001.pas:3849-3866Consulta PARMNOTA.TP_ITEM e rejeita itens de tipo incompatível

Scripts SQL com referência direta ao campo​

ProcedureArquivoContexto
GERA_NOTAFISCALPEDIDOScripts/GERA_NOTAFISCALPEDIDO.sql:13,71-73Recebe I_TP_ITEM como parâmetro e filtra itens do pedido conforme o tipo
GRAVA_NOTAFISCALPEDIDOScripts/GRAVA_NOTAFISCALPEDIDO.sql:14Recebe I_TP_ITEM como parâmetro de entrada
CALCULA_IMPOSTONOTAScripts/CALCULA_IMPOSTONOTA.sql:43Declara variável I_TP_ITEM para cálculo de impostos diferenciado
CALCULA_IMPOSTOPEDIDOScripts/CALCULA_IMPOSTOPEDIDO.sql:44Declara variável I_TP_ITEM para cálculo de impostos por tipo
CALCULA_IMPOSTOPEDIDO_V2Scripts/CALCULA_IMPOSTOPEDIDO_V2.sql:37Declara variável I_TP_ITEM
CALCULA_IMPOSTOORCAMENTOScripts/CALCULA_IMPOSTOORCAMENTO.sql:38Declara variável V_TP_ITEM
GERA_NOTAFISCALScripts/GERA_NOTAFISCAL.sql:159Declara variável I_TP_ITEM para controle da geração
GERA_NFSEScripts/GERA_NFSE.sql:17Declara variável V_TP_ITEM
GERA_SPEDPISCOFINSScripts/GERA_SPED_PISCOFINS.sql:40Declara variável V_TP_ITEM
ATUALIZA_NOTACTBScripts/ATUALIZA_NOTACTB.sql:27Declara variável V_TP_ITEM
GERA_INTEGRACAOScripts/GERA_INTEGRACAO.sql:108Declara variável V_TP_ITEM
GERA_INTEGRACAOFISCALScripts/GERA_INTEGRACAOFISCAL.sql:93Declara variável V_TP_ITEM
EXPORTACAO_RADARScripts/EXPORTACAO_RADAR.sql:330Filtra I.TP_ITEM <> 'S'
GERA_DARFScripts/GERA_DARF.sql:223Filtra IT.TP_ITEM = 'S'
GRAVA_CREDITOMENSAL / V2Scripts/GRAVA_CREDITOMENSAL.sql:123Filtra IT.TP_ITEM <> 'S'

Candidatas por uso da tabela (sem referência direta ao campo)​

As seguintes procedures utilizam PARMNOTA mas não referenciam TP_ITEM explicitamente:

GERA_NFE, GERA_ESTOQUE_NOTAFISCAL, GERA_CHAVEACESSONFE, RETORNA_NFSEQUENCIA, RETORNA_IMPMOV, RETORNA_IMPRESSORAUSUARIO, GERA_NOTAPEDIDO, GRAVA_NOTACTE, GRAVA_AVISOS, FECHA_CONTRATOLEITE, FECHA_CONTRATOLEITE_V2, EXPORTACAO_SOVIS_COMPLEMENTO, VIEW_LIVROFISCAL.