Jump to content

dev botao

Erro ao carregar XML NFSe : Input is not proper UTF-8, indicate encoding !Bytes: 0xC3 0x3F 0xC2 0xA9


Go to solution Solved by Diego Foliene,
  • Este tópico foi criado há 563 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde a todos.
Vi que esse problema foi corrigido no método LoadFromFile do componente NFSeX.
Já no método LoadFromString o problema ainda persiste.

Ou existe outro método que não ocorra esse probelema.

Att

Souza.

Link to comment
Share on other sites

  • Moderadores
31 minutos atrás, Souza disse:

Boa tarde a todos.
Vi que esse problema foi corrigido no método LoadFromFile do componente NFSeX.
Já no método LoadFromString o problema ainda persiste.

Ou existe outro método que não ocorra esse probelema.

Att

Souza.

boa tarde

estranho pois se notarmos o loadfromfile usa o loadfromstring

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link to comment
Share on other sites

  • Consultores

Boa tarde.

Por favor, pode compartilhar o XML que está usando para testes?

Caso julgue que tenha informações sensíveis e não possa colocar aqui, por favor, siga as orientações deste tópico: 

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores

Boa tarde Souza,

Esse XML foi retornado pelo webservice do provedor ou você baixou ele do site da prefeitura?

Se XML foi retornado pelo webservice do provedor o mesmo não foi salvo em disco e sim no banco de dados?

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

Link to comment
Share on other sites

  • Membros Pro

Boa tarde Itálo.
Utilizei o comando "ConsultaNFSeporNumero". do ACBRNFSeX.
O Mesmo xml se eu utilizar o comando LoadFromFile, ele carrega normalmente sem erro.

Essa NFSe não foi gerada pelo ACBr, e sim pelo site da prefeitura.
Não sei se respondi sua pergunta.

Link to comment
Share on other sites

  • Consultores
  • Solution

Nem sempre o XML gerado pelo Site da prefeitura está nos padrões do XML gerado pelo WebService(que é o esperado pelo componente).

Por isso o questionamento.

Quanto ao seu problema em questão.

Por favor, seus fontes estão atualizados? Pode fazer um teste com o programa exemplo?

Fiz um teste com o XML que disponibilizou e o programa exemplo usando o botão Imprimir DANFSe.

Primeiro assim: 

if OpenDialog1.Execute then
begin
  ACBrNFSeX.NotasFiscais.Clear;
  ACBrNFSeX.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False);
  ACBrNFSeX.NotasFiscais.Imprimir;
end;

E depois assim:

var
  XML: TStrings;
begin
  if OpenDialog1.Execute then
  begin
    ACBrNFSeX1.NotasFiscais.Clear;
    XML := TStringList.Create;
    try
      XML.LoadFromFile(OpenDialog1.FileName);
      ACBrNFSeX1.NotasFiscais.LoadFromString(XML.Text, False);
    finally
      XML.Free;
    end;
    ACBrNFSeX1.NotasFiscais.Imprimir;
  end;
end;

Em ambos os casos mostrou o preview da impressão.

IMPORTANTE citar que antes de fazer a leitura do XML, você precisa configurar a cidade no componente.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Membros Pro

No meu cenário, eu envio o arquvio xml em txt via API.
No servidor da API, estava carregando a string no componente, e deu o erro acima.

Fiz um teste, Carreguei a string do xml em um TMemo, salvei na unidade c:\, e o problema continua..

image.thumb.png.0b640b9c560bf3bb74088c36d2eebc0d.png

Link to comment
Share on other sites

  • Consultores
12 horas atrás, Souza disse:

Boa noite Diego, se eu entendi .
sempre terei de carregar o arquivo xml para dentro do componente ?


Att

Souza.

Bom dia.

Antes de carregar seja usando o método LoadFromString ou o LoadFromFile, você precisa configurar a cidade no componente.

No seu caso, considerando o XML de exemplo que disponibilizou, precisa configurar:

  with ACBrNFSeX1.Configuracoes.Geral do
  begin
    LayoutNFSe := TLayoutNFSe(cbLayoutNFSe.ItemIndex);
    CodigoMunicipio := CodIBGEdeSaoPaulo;
  end;  

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores

Bom dia Souza,

Se você abrir o código do componente, mais precisamente o que se refere ao LoadFromFile, vai notar que o mesmo se utiliza do LoadFromString.

Se você tem o XML salvo em disco, devemos usar o LoadFromFile, mas se você tem ele salvo no banco de dados deve-se usar o LoadFromString ou LoadFromStream.

Não faz sentido você pegar o XML do banco de dados, salvar em disco, depois carregar ele para um TStringList para usar o LoadFromString.

Encurta esse processo, já passa direto para o LoadFromString o XML lido do banco de dados.

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

Link to comment
Share on other sites

  • Membros Pro

Bom dia Italo, 
Estou fazendo esse processo, utilizar o LoadFromString, só salvei em disco para fazer um teste, conforme orientado pelo Diego, (não sei se entendi direito o que ele quis dizer).
Vou seguir os testes por aqui, 
por enquanto obrigado a todos.


 

Link to comment
Share on other sites

  • Consultores
13 minutos atrás, Souza disse:

Bom dia Italo, 
Estou fazendo esse processo, utilizar o LoadFromString, só salvei em disco para fazer um teste, conforme orientado pelo Diego, (não sei se entendi direito o que ele quis dizer).
Vou seguir os testes por aqui, 
por enquanto obrigado a todos.


 

Os trechos de código que coloquei foram apenas sugestão de teste.

Do que eu disse, a orientação mais importante é que você deve configurar a cidade no componente antes de fazer a leitura do XML.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Membros Pro

Bom dia Diego.
Sim, antes de qualquer operação com o componente, faço alimentação das propriedades.
Inclusive a cidade, 
estou continuando com os testes, mais uma vez obrigado.
Assim que descobrir , posto aqui.

  • Like 1
Link to comment
Share on other sites

  • Este tópico foi criado há 563 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...