Tempo de leitura: 2 minutos
Olá, ao tentar fazer uma transmissão de notas fiscal pelo TSS no TOTVS Protheus o sistema apresentou apresentou o erro xmlParseEntityRef: no name. Esse problema está relacionado á algum caractere especial(&, <, >) que foi identificado no XML.

Geralmente esses caracteres especiais podem vir do nome ou endereço do cliente e foi informado nos campos de mensagem da nota no pedido de vendas(SC5), no campo C5_MENNOTA e no campo de mensagem da nota no campo F2_MENNOTA, assim subtitiua o caractere especial por um equivalente, por exemplo, o & por e, utilizando a função StrTran por exemplo.
Como solução paliativa você pode dar um REPLACE nos campos C5_MENNOTA e F2_MENNOTA para substituir o & por E conforme o exemplo:
Replace no no campo C5_MENNOTA:
UPDATE SC5010 SET C5_MENNOTA=REPLACE(C5_MENNOTA,’&’,’E’) WHERE C5_MENNOTA LIKE ‘%&%’ AND D_E_L_E_T_<>’‘
Replace no no campo F2_MENNOTA:
UPDATE SF2010 SET F2_MENNOTA=REPLACE(F2_MENNOTA,’&’,’E’) WHERE F2_MENNOTA LIKE ‘%&%’ AND D_E_L_E_T_<>”
Uma solução para correção definitiva é tratar em um ponto de entrada específico acrescentando os seguintes trechos de códigos utilizando a função StrTran em ADVPL para substituir um caractere por outro:
No campo C5_MENNOTA:
DBSelectarea("SC5")
DBSetOrder(1)
If DBSeek(xfilial("SC5")+cNumPed)
If SC5->C5_NUM==cNumPed
RecLock("SC5",.F.)
SC5->C5_MENNOTA := StrTran(mMsgfis,"&","e")
....
MsUnLock()
EndIf
EndIf
No campo F2_MENNOTA:
DBSelectarea("SF2")
DBSetOrder(1)
DBSeek(xFilial("SF2")+_nFiscal+_nSerie+_nCliente+_nLoja)
If(_nSerie+_nFiscal == SF2->(F2_SERIE+F2_DOC))
RecLock("SF2",.F.)
...
SF2->F2_MENNOTA := StrTran(mMsgfis,"&","e")
...
MsUnLock()
EndIf
Após fazer esses procedimentos exclua e refaça a nota e depois retransmita.
Bem, finalizamos mais um post aqui no blog ProtheusAdvpl. Espero que tenha lhe ajudado.
Nos ajude compartilhando esse conteúdo nas suas redes sociais do TOTVS Protheus.
Grande abraço e fica com Deus.
Link de referência:https://www.epvconsulting.com.br/post/xmlparseentityref-no-name-ao-transmitir-uma-nf-tss