Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 268 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Prezado(a)(s),

Estou com um problema no método TACBrXmlDocument.LoadFromXml(AXmlDocument: string), da unit ACBrXmlDocument.pas, ao carregar alguns retornos de erro do município de Ananindeua/PA (Cód. IBGE 1500800, provedor Desenvolve).

Ao realizar o debug, é exibida a seguinte mensagem de erro:
Input is not proper UTF-8, indicate encoding ! Bytes: 0xE3 0x6F 0x20 0x61

Contornei a situação apenas trocando a linha 1257,

de: loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));
para: loadedDoc := xmlParseDoc(PAnsiChar(ansistring(UTF8Decode(AXmlDocument))));

Estou registrando aqui pois não sei se essa é a maneira correta de solucionar o problema.

Segue abaixo dois exemplos de retorno do provedor do município que provocam esse erro:

Exemplo 1:

<ns1:enviarLoteRpsSincronoEnvioResponse
	xmlns:ns1="http://ws.integracao.nfsd.desenvolve/">
	<return>
		<EnviarLoteRpsSincronoResposta
			xmlns="http://www.abrasf.org.br/nfse.xsd">
			<ListaMensagemRetorno>
				<MensagemRetorno>
					<Codigo>0005</Codigo>
					<Mensagem>Contribuinte não autorizado a utilizar o WEBSERVICE.</Mensagem>
				</MensagemRetorno>
			</ListaMensagemRetorno>
		</EnviarLoteRpsSincronoResposta>
	</return>
</ns1:enviarLoteRpsSincronoEnvioResponse>

Exemplo 2:

<ns1:enviarLoteRpsSincronoEnvioResponse
	xmlns:ns1="http://ws.integracao.nfsd.desenvolve/">
	<return>
		<EnviarLoteRpsSincronoResposta
			xmlns="http://www.abrasf.org.br/nfse.xsd">
			<ListaMensagemRetorno>
				<MensagemRetorno>
					<Codigo>0130</Codigo>
					<Mensagem>Para emissão de Nota Fiscal é necessário realizar a Declaração de Vendas de Mercadoria do(s) mês(es): 11/2023, 12/2023, 01/2024. Menu: Sistema - Minha Conta - Declaração Mensal Simples Nacional e MEI.</Mensagem>
				</MensagemRetorno>
			</ListaMensagemRetorno>
		</EnviarLoteRpsSincronoResposta>
	</return>
</ns1:enviarLoteRpsSincronoEnvioResponse>

Desde já agradeço a atenção.

Edit: Obs.: os testes foram realizandos usando o projeto de exemplo ACBrNFSeX em Delphi, usando o Delphi 11.3

Editado por João Paulo Alcântara
  • Consultores
Postado

Bom dia João,

Acabei de fazer um teste e não tive esse erro.

Você tem fontes do ACBr com alterações locais?
Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
Atualize todos os fontes de todas as pastas.
Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
Compile a aplicação com a opção Build.
Por fim repita os testes.
 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 268 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.