Pular para o conteúdo principal

NR_ITENS — Limite Máximo de Itens por Nota Fiscal

Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série Tabela: PARMNOTA.NR_ITENS · Tipo: DOM_INTEGER (inteiro, anulável) Campo na tela: edtNR_ITENS Valor padrão: NULL (sem limite)

Descrição​

Define o número máximo de itens (produtos) permitidos em uma única Nota Fiscal para a série selecionada. Quando informado, o sistema bloqueia a inclusão de itens que ultrapassem esse limite, tanto na interface de lançamento quanto na geração oficial da nota via stored procedure.

Se o campo estiver vazio/nulo, não há limite de itens para aquela série.

Campos envolvidos​

CampoTabelaPapel
NR_ITENSPARMNOTALimite máximo de itens configurado por série
NR_LANCAMENTO / itensITEMNOTAContagem de itens da nota em emissão

Telas impactadas​

TelaRotinaEfeito
MNF002tabITEMNOTAAfterInsertBloqueia inserção de item acima do limite
MNF002tabNOTACD_SERIENFValidateCarrega NR_ITENS ao selecionar a série
MNF008tabITEMNOTAAfterInsertBloqueia inserção de item acima do limite
MNF008Consulta_Pedidos / btnOKClickInterrompe importação de pedido ao atingir limite
MNF013tabITEMNOTAAfterInsertBloqueia inserção de item acima do limite (CTRC)
MNF014tabITEMNOTAAfterInsertBloqueia inserção de item acima do limite
MNF017tabCABECALHOCD_SERIEValidate / tabFocoCD_SERIEValidateCarrega NR_ITENS ao validar série
MNF026tabFiltroCD_SERIEDEVValidate / tabNOTACD_SERIENFValidateCarrega NR_ITENS ao validar série (devolução)
MFA002dmMFA002Tela de configuração do parâmetro

Opções disponíveis​

Nulo / Vazio — Sem limite de itens​

O que fazDetalhe
Sem restrição de quantidadeQuando NR_ITENS está vazio, o sistema não verifica limite de itens

Simulação passo a passo​

  1. Acesse MFA002 — Parâmetros de Nota Fiscal por Série.
  2. Selecione a empresa, o tipo de nota e a série desejada.
  3. Deixe o campo NR_ITENS vazio.
  4. Salve o registro.
  5. Na tela de emissão de NF (ex.: MNF002), abra uma nota com essa série.
  6. Inclua produtos normalmente — não haverá bloqueio por quantidade de itens.

Resultado esperado: A nota aceita qualquer quantidade de itens, sem limite.


Número inteiro positivo — Limite máximo de itens​

O que fazDetalhe
Limita a quantidade de itens na NFValor inteiro (ex.: 50, 100, 990). Ao tentar incluir um item que ultrapasse esse número, o sistema bloqueia.
Bloqueio em tempo realA validação ocorre no evento AfterInsert do item, cancelando a inserção imediatamente.
Bloqueio na geração oficialA procedure GERA_NOTAFISCAL também valida antes de gerar a nota.

Simulação passo a passo​

  1. Acesse MFA002 — Parâmetros de Nota Fiscal por Série.
  2. Selecione a empresa, o tipo de nota e a série desejada.
  3. No campo NR_ITENS, digite 50.
  4. Salve o registro.
  5. Na tela de emissão de NF (ex.: MNF002), abra uma nota com essa série.
  6. Inclua produtos normalmente até o 50º item.
  7. Ao tentar incluir o 51º item, o sistema exibe a mensagem: "O Número total de Produtos da Nota Fiscal Permitido pelo Layout são 50" e cancela a inserção.

Resultado esperado: A nota não permite mais do que 50 itens. Qualquer tentativa de incluir o item 51 é bloqueada com mensagem de erro.

Exceção / Importante:

  • Na importação de pedidos (tela MNF008 — Consulta_Pedidos), o limite também é respeitado: ao atingir o número máximo, o sistema exibe um aviso e interrompe a importação dos itens restantes, mas não cancela os itens já importados (comportamento de Break).
  • Na geração oficial via GERA_NOTAFISCAL, se o número de itens já gravados ultrapassar o limite, a procedure retorna uma mensagem de erro e não gera a nota.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoEfeito
TdmMNF002.tabITEMNOTAAfterInsertsource/MNF002/UdmMNF002.pasBloqueia inserção de item acima do limite
TdmMNF002.tabNOTACD_SERIENFValidatesource/MNF002/UdmMNF002.pasCarrega NR_ITENS para a variável iNR_ITENSNOTA
TdmMNF002.tabFocoCD_SERIEValidatesource/MNF002/UdmMNF002.pasCarrega NR_ITENS na validação de série foco
CalculaFreteAutomaticosource/MNF002/UdmMNF002.pasDeclara variável iNR_ITENSNOTA
TdmMNF008.tabITEMNOTAAfterInsertsource/MNF008/UdmMNF008.pasBloqueia inserção de item acima do limite
TdmMNF008.tabNOTACD_SERIENFValidatesource/MNF008/UdmMNF008.pasCarrega NR_ITENS para a variável
Consulta_Pedidossource/MNF008/UMNF008.pasInterrompe importação ao atingir limite
TfrmPEDIDO.btnOKClicksource/MNF008/UMNF008PEDIDO.pasVerifica limite ao confirmar pedido
TdmMNF013.tabITEMNOTAAfterInsertsource/MNF013/UdmMNF013.pasBloqueia inserção de item acima do limite (CTRC)
TdmMNF013.tabNOTACD_SERIENFValidatesource/MNF013/UdmMNF013.pasCarrega NR_ITENS na validação de série
TdmMNF013.cdsCTRCTP_CTEValidatesource/MNF013/UdmMNF013.pasCarrega NR_ITENS na validação de tipo CTE
TfrmMNF013.chkAnulacaoClicksource/MNF013/UMNF013.pasCarrega NR_ITENS na seleção de anulação
TdmMNF014.tabITEMNOTAAfterInsertsource/MNF014/UdmMNF014.pasBloqueia inserção de item acima do limite
TdmMNF014.tabNOTACD_SERIENFValidatesource/MNF014/UdmMNF014.pasCarrega NR_ITENS na validação de série
TdmMNF017.tabCABECALHOCD_SERIEValidatesource/MNF017/UdmMNF017.pasCarrega NR_ITENS na validação de série
TdmMNF017.tabFocoCD_SERIEValidatesource/MNF017/UdmMNF017.pasCarrega NR_ITENS na validação de série foco
TdmMNF026.tabFiltroCD_SERIEDEVValidatesource/MNF026/UdmMNF026.pasCarrega NR_ITENS na validação de série devolução
TdmMNF026.tabNOTACD_SERIENFValidatesource/MNF026/UdmMNF026.pasCarrega NR_ITENS na validação de série
TdmMNF001.tabNOTACD_SERIEFORValidatesource/MNF001/UdmMNF001.pasCarrega NR_ITENS na validação de série fornecedor

Procedures SQL com referência direta ao campo​

ProcedureArquivoEfeito
GERA_NOTAFISCALScripts/GERA_NOTAFISCAL.sqlValida se COUNT(itens) <= NR_ITENS; se ultrapassar, retorna erro e não gera a nota
GERA_ESTOQUE_NOTAFISCALScripts/GERA_ESTOQUE_NOTAFISCAL.sqlLê NR_ITENS da PARMNOTA e usa como limite de iteração sobre itens

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

As procedures abaixo utilizam a tabela PARMNOTA, mas não referenciam NR_ITENS diretamente em seu código:

CALCULA_IMPOSTONOTA, GERA_CHAVEACESSONFE, GERA_IMPOSTONOTA, GERA_IMPOSTONOTA_INDIVIDUAL, GERA_NFE, GERA_NOTAPEDIDO, RETORNA_IMPMOV, RETORNA_IMPRESSORAUSUARIO, RETORNA_NFSEQUENCIA, entre outras listadas no inventário.

Sem impacto direto identificado no código para essas rotinas em relação ao campo NR_ITENS.

Tabela Comparativa Resumida​

Valor de NR_ITENSComportamento
NULL / vazioSem limite de itens na NF
N (inteiro positivo)Máximo de N itens por NF; bloqueio na inserção e na geração