Correção de erro na emissão de NFC-e – Campo "Código de Fábrica" NT 0430/2025

Resumo da Nota Técnica

A partir desta versão, foi corrigido um problema identificado no aplicativo [0009] FACILITE - Venda Balcão, que impedia a emissão da NFC-e em determinadas situações.

Detalhes da Nota Técnica

O erro ocorria quando o parâmetro 4.18.307 - INFORMAR CÓDIGO FÁBRICA NA NFE estava com o status "Sim", e o parâmetro 4.18.683 - MÓDULO DE NF-E / NFC-E ATIVO estava configurado com o valor "TDPNFEXE8.BPL".

Nessa configuração, o sistema utilizava o Código de Fábrica do produto em substituição ao Código do Produto durante a emissão da NFC-e.

Quando o produto possuía um Código de Fábrica com mais de 7 caracteres, o sistema apresentava a seguinte mensagem:

NOTA FISCAL DO CONSUMIDOR ELETRÔNICA TRANSMITIDA COM SUCESSO, MAS O SEGUINTE ERRO OCORREU APÓS A CONFIRMAÇÃO:
[FireDAC][Phys][FB]-345. Data too large for variable [PRODUTO]. Max len = [7], actual len = [8]. Hint: Set the TFDPARAM.SIZE to a greater value.


Apesar da mensagem indicar que a nota havia sido transmitida, ela permanecia com o status "A" (Aguardando Retorno) no Gerenciamento de Notas, sendo necessário reenviá-la manualmente.

Durante a análise, foi identificado que o erro ocorria logo após a transmissão da NFC-e, no momento em que o sistema realizava a gravação das informações na tabela NFISCALTOTAISITENS.

O problema acontecia porque, com o parâmetro 4.18.307ativo, o sistema gravava o Código de Fábrica na tabela, e esse valor excedia o limite de caracteres permitido pelo campo, gerando o erro de banco.

O produto utilizado no teste foi o 0007690 – ANEL GUARDANAPO AMBAR, cujo código de fábrica contém 8 caracteres (exemplo: AG1629AB).

Foi verificado também que esse erro ocorria apenas quando o parâmetro 4.18.683 - MÓDULO DE NF-E / NFC-E ATIVO estava configurado com o valor "TDPNFEXE8.BPL".

Quando o parâmetro estava com o valor "NFEFACILITE.EXE", a emissão da NFC-e ocorria normalmente, mesmo com o código de fábrica contendo mais de 7 caracteres.

Foi realizado um ajuste no processo de gravação da tabela NFISCALTOTAISITENS para que, durante a emissão da NFC-e, o sistema grave o Código do Produto em vez do Código de Fábrica.

Com isso, o problema foi corrigido sem alterar o funcionamento do parâmetro 4.18.307, mantendo o comportamento esperado na geração do XML (onde o código de fábrica é utilizado quando configurado).

Questões:

1) Em quais condições o erro de emissão da NFC-e ocorria?
a) Quando o campo “Código de Fábrica” estava vazio.
b) Quando o parâmetro 4.18.307 - INFORMAR CÓDIGO FÁBRICA NA NFE estava “Sim” e o código possuía mais de 7 caracteres.
c) Quando o produto não tinha código cadastrado.
d) Quando o parâmetro 4.18.307 estava “Não”.

2) Em que momento o erro ocorria durante o processo de emissão da NFC-e?
a) Antes da transmissão para a SEFAZ.
b) Durante a validação dos itens.
c) Logo após a transmissão, ao gravar a tabela NFISCALTOTAISITENS.
d) Na geração do XML da nota.

3) Qual foi o ajuste realizado para corrigir o problema?
a) Aumentar o tamanho do campo “Código de Fábrica” no banco de dados.
b) Remover o parâmetro 4.18.307 do sistema.
c) Passar a gravar o Código do Produto na tabela NFISCALTOTAISITENS em vez do Código de Fábrica.
d) Substituir o módulo TDPNFEXE8.BPL por NFEFACILITE.EXE.

Parâmetros Envolvidos

4.18.307 - INFORMAR CÓDIGO FÁBRICA NA NFE = "Sim"

4.18.683 - MÓDULO DE NF-E / NFC-E ATIVO = "TDPNFEXE8.BPL"

» Nota Técnica