O que pode ser o erro EntityRef expecting ‘;’ na transmissão de nota no TSS?

Hoje vou mostrar o que pode causar o erro – EntityRef: expecting ‘;’ – na transmissão de notas no TSS.

Jovens, se por acaso, ao emitir uma nota fiscal, você perceber que ela não foi transmitida e se deparar com a seguinte mensagem:

Erro de EntityRef ;

Não se preocupe, para essa mensagem EntityRef: expecting ‘;’ , a solução é mais simples do que você imagina. Primeiro vamos entender a raiz do problema, sendo que na montagem do XML, vários caracteres especiais são transformados meio que em linguagem de programação compatível com a web (código HTML). Então apenas para um exemplo, por trás o TSS transforma caracteres levando em conta aquela famosa tabela de conversão HTML, abaixo um print dela extraído do site http://www.lsi.usp.br/~help/html/iso.html .

Tabela de caracteres em HTML

Vocês perceberam que todo o caractere especial tratado em HTML, começa com & e termina com ; ? É essa a raíz do problema. Provavelmente em algum cadastro que a informação vai para a nota, o usuário informou o caractere &, e assim na transmissão da NF, o sistema procura por um ponto e vírgula, mas ele não encontra para encerrar a expressão.

Para resolver, você pode procurar dentro do XML esse & , ou bater o olho nos cadastros de Cliente, Produto, etc… Eu vejo acontecer isso geralmente no campo de e-Mail da SA1, onde o usuário por exemplo, a empresa se chama Atilio & Cia, e o email é atilioecia@xxxx.com, o usuário acaba cadastrando como atilio&cia@xxxx.com. Ai no caso, é só alterar o cliente, retirando o & comercial do e-Mail e deixando o cadastro certo e retransmitir.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta