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"