TP_PRODUTO — Tipo de Produto Aceito pela Série de Nota Fiscal
Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série Tabela:
PARMNOTA.TP_PRODUTOCampo no formulário:cmbTP_PRODUTO(combobox) Valor padrão:T(Todos)
Descrição
Define qual tipo de item (produto ou serviço) a série de nota fiscal aceita. Ao restringir o tipo, o sistema impede a inclusão de itens incompatíveis na nota e filtra os pedidos disponíveis para faturamento.
Telas impactadas
| Tela | Rotina | Efeito |
|---|---|---|
| MNF002 — Emissão de NF (Saída) | tabITEMNOTACD_ITEMValidate | Bloqueia inclusão de item de tipo incompatível com a série |
| MNF002 — Emissão de NF (Saída) | Consulta_Pedidos | Filtra pedidos exibidos conforme o tipo aceito pela série |
| MNF008 — Emissão de NF (Entrada) | tabITEMNOTACD_ITEMValidate | Mesmo bloqueio de item da MNF002 |
| MNF008 — Emissão de NF (Entrada) | Consulta_Pedidos | Mesmo filtro de pedidos da MNF002 |
| MNF026 — Devolução / Troca | tabNOTACD_SERIENFValidate | Carrega TP_PRODUTO da série ao validar |
| MNF033 — Faturamento | tabFILTROCD_SERIEPRODUTOValidate | Rejeita série que só aceita serviços ao selecionar série de produto |
| MNF033 — Faturamento | tabFILTROCD_SERIESERVICOValidate | Rejeita série que só aceita produtos ao selecionar série de serviço |
| MNF033 — Faturamento (Consulta) | tabFILTROCONSULTACD_SERIEPRODUTOValidate | Mesma validação de série de produto |
| MNF033 — Faturamento (Consulta) | tabFILTROCONSULTACD_SERIESERVICOValidate | Mesma validação de série de serviço |
| CNF003 — Consulta | btnProcurarClick / btnImprimirClick | Usa TP_PRODUTO como filtro na consulta de relatórios |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
TP_PRODUTO | PARMNOTA | Parâmetro da série (este documento) |
TP_ITEM | ITEM | Tipo do item no cadastro — S = Serviço, demais valores = Produto |
Opções disponíveis
T — Todos (Produtos e Serviços)
| O que faz | Detalhe |
|---|---|
| Aceita qualquer tipo de item | Não aplica restrição na inclusão de itens nem no filtro de pedidos |
| Editável | Sim |
| Valor padrão | Sim |
Simulação passo a passo
- Acesse MFA002 e abra os parâmetros da série desejada.
- Selecione Todos no campo Tipo de Produto.
- Salve os parâmetros.
- Na emissão de nota fiscal (MNF002 ou MNF008), informe a série configurada.
- Inclua itens de qualquer tipo (produto ou serviço) — nenhum será bloqueado.
Resultado esperado: A nota aceita tanto produtos quanto serviços sem restrição.
P — Somente Produtos
| O que faz | Detalhe |
|---|---|
| Rejeita itens do tipo Serviço | Item com TP_ITEM = 'S' gera bloqueio |
| Filtro em pedidos | Pedidos só exibem itens que não sejam serviço (TP_ITEM <> 'S') |
| Editável | Sim |
Simulação passo a passo
- Acesse MFA002 e abra os parâmetros da série desejada.
- Selecione Produtos no campo Tipo de Produto.
- Salve os parâmetros.
- Na emissão de nota fiscal (MNF002 ou MNF008), informe a série configurada.
- Tente incluir um item cadastrado como serviço — o sistema exibe a mensagem: "Esta Série de Nota Fiscal não aceita Produtos do Tipo Serviço [TPO001]!".
- Inclua um item de produto normalmente — o sistema permite.
Resultado esperado: A nota aceita exclusivamente itens do tipo produto; itens de serviço são rejeitados com mensagem de erro.
Exceção / Importante: No faturamento (MNF033), ao selecionar uma série de serviço (tela de serviço), se a série informada estiver configurada como
P, o sistema exibe: "A Série informada somente aceita Produtos. Verifique! [MFA002]".
S — Somente Serviços
| O que faz | Detalhe |
|---|---|
| Rejeita itens que não sejam serviço | Item com TP_ITEM <> 'S' gera bloqueio |
| Filtro em pedidos | Pedidos só exibem itens do tipo serviço (TP_ITEM = 'S') |
| Editável | Sim |
Simulação passo a passo
- Acesse MFA002 e abra os parâmetros da série desejada.
- Selecione Serviços no campo Tipo de Produto.
- Salve os parâmetros.
- Na emissão de nota fiscal (MNF002 ou MNF008), informe a série configurada.
- Tente incluir um item de produto (não serviço) — o sistema exibe a mensagem: "Esta Série de Nota Fiscal somente aceita Produtos do Tipo Serviço [TPO001]!".
- Inclua um item cadastrado como serviço — o sistema permite.
Resultado esperado: A nota aceita exclusivamente itens do tipo serviço; itens de produto são rejeitados com mensagem de erro.
Exceção / Importante: No faturamento (MNF033), ao selecionar uma série de produto, se a série estiver configurada como
S, o sistema exibe: "A Série informada aceita somente Serviços. Verifique! [MFA002]".
Regra geral de validação
O parâmetro é lido a partir da tabela PARMNOTA ao validar a série informada na nota fiscal. O sistema compara o valor de TP_PRODUTO com o campo TP_ITEM do cadastro de item:
TP_PRODUTO | TP_ITEM do item | Resultado |
|---|---|---|
T | Qualquer | ✅ Permitido |
P | S (Serviço) | ❌ Bloqueado |
P | Demais | ✅ Permitido |
S | S (Serviço) | ✅ Permitido |
S | Demais | ❌ Bloqueado |
Na procedure GERA_NOTAFISCAL, a mesma lógica aplica-se durante a geração automática da nota fiscal — itens incompatíveis geram mensagem de erro e a nota não é gerada.
Tabela comparativa resumida
| Opção | Descrição | Aceita Produto | Aceita Serviço | Filtro em Pedidos |
|---|---|---|---|---|
| T | Todos | ✅ | ✅ | Sem filtro |
| P | Produtos | ✅ | ❌ | TP_ITEM <> 'S' |
| S | Serviços | ❌ | ✅ | TP_ITEM = 'S' |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Efeito |
|---|---|---|
TdmMFA002.tabPARMNOTAAfterInsert | UdmMFA002.pas | Define valor padrão 'T' ao inserir novo parâmetro |
TdmMNF002.tabITEMNOTACD_ITEMValidate | UdmMNF002.pas | Bloqueia item incompatível (MNF002) |
Consulta_Pedidos (MNF002) | UMNF002.pas | Filtra pedidos por tipo de item |
TdmMNF008.tabITEMNOTACD_ITEMValidate | UdmMNF008.pas | Bloqueia item incompatível (MNF008) |
Consulta_Pedidos (MNF008) | UMNF008.pas | Filtra pedidos por tipo de item |
TdmMNF033.tabFILTROCD_SERIEPRODUTOValidate | UdmMNF033.pas | Rejeita série só de serviços no campo de produto |
TdmMNF033.tabFILTROCD_SERIESERVICOValidate | UdmMNF033.pas | Rejeita série só de produtos no campo de serviço |
TdmMNF033.tabFILTROCONSULTACD_SERIEPRODUTOValidate | UdmMNF033.pas | Mesma validação na consulta |
TdmMNF033.tabFILTROCONSULTACD_SERIESERVICOValidate | UdmMNF033.pas | Mesma validação na consulta |
TdmMNF026.tabFILTROCD_SERIEDEVValidate | UdmMNF026.pas | Carrega TP_PRODUTO ao validar série de devolução |
TdmMNF026.tabNOTACD_SERIENFValidate | UdmMNF026.pas | Carrega TP_PRODUTO ao validar série na troca |
TfrmCNF003.btnNovoClick | UCNF003.pas | Inicializa filtro com 'T' |
TfrmCNF003.btnProcurarClick | UCNF003.pas | Inclui TP_PRODUTO no filtro de relatório |
TfrmCNF003.btnImprimirClick | UCNF003.pas | Inclui TP_PRODUTO no filtro de impressão |
Scripts SQL com referência direta ao campo
| Procedure/View | Arquivo | Efeito |
|---|---|---|
GERA_NOTAFISCAL | GERA_NOTAFISCAL.sql | Valida tipo do item ao gerar nota; bloqueia itens incompatíveis com a série |
VIEW_CALCULA_REGRAFORMULA | VIEW_CALCULA_REGRAFORMULA.sql | Usa TP_PRODUTO da regra para cálculo de quantidade |
VIEW_ROF008 | VIEW_ROF008.sql | Recebe I_TP_PRODUTOS como parâmetro |
Candidatas por uso da tabela (sem referência direta ao campo)
As procedures abaixo utilizam a tabela PARMNOTA mas não referenciam diretamente o campo TP_PRODUTO. Impacto indireto não confirmado:
CALCULA_IMPOSTONOTA, GERA_CHAVEACESSONFE, GERA_ESTOQUE_NOTAFISCAL, GERA_IMPOSTONOTA, GERA_IMPOSTONOTA_INDIVIDUAL, GERA_NFE, GERA_NOTAPEDIDO, RETORNA_NFSEQUENCIA, RETORNA_IMPMOV, RETORNA_IMPRESSORAUSUARIO, EXPORTACAO_SOVIS_COMPLEMENTO, GRAVA_NOTACTE, FECHA_CONTRATOLEITE, FECHA_CONTRATOLEITE_V2, ATUALIZA_NOTACTB, GRAVA_AVISOS, VIEW_LIVROFISCAL.