Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado (editado)

Prezados.

Estou com problemas ao carregar um xml utilizando uma string, pelo método ACBrNFe.NotasFiscais.LoadFromString. Ao salvar o XML usando ACBrNFe.NotasFiscais.GravarXML, quando a string de entrada está no formato utf8, os caracteres não são codificados corretamente. 

Não sei exatamente quando começou, mas na versão do ACBrNFe com até 10 meses esse problema não ocorria.

Passos para reproduzir:

 var sl:TStringlist;
begin
 sl:=TStringList.Create;
 sl.LoadFromFile('C:\...\exemplo.xml', TEncoding.UTF8);

 ACBrNFe1.NotasFiscais.Clear;
 ACBrNFe1.NotasFiscais.LoadFromString(sl.Text);
 ACBrNFe1.NotasFiscais.GravarXML('C:\...\saída.xml');

Em anexo XML (modificado) para exemplo.

Obs.: Antes que alguém fale para não usar TEncoding.UTF8 em sl.LoadFromFile, no cenário real eu não leio o xml do arquivo, e sim, já recebo a string no formato utf8.

É estranho, pois em outros xmls que possui acentuação esse mesmo problema não ocorre.

exemplo.xml

Editado por _ps
  • 2 semanas depois ...
Postado

Boa noite. Desculpe a demora. Diversas atividades aqui. 

Para simplificar, vamos focar somente no arquivo enviado como exemplo. 

Se ler o arquivo e salvar em seguida, utilizando o TStringList, tudo fica certo, os caracteres não são trocados e o conteúdo é validado com sucesso. 

var sl:TStringlist;
begin
 sl:=TStringList.Create;
 sl.LoadFromFile('C:\...\exemplo.xml', TEncoding.UTF8);
 sl.SaveToFile('C:\...\teste.xml');

Ao utilizar o acbr, passo a ter o problema:

var sl:TStringlist;
begin
 sl:=TStringList.Create;
 sl.LoadFromFile('C:\...\exemplo.xml', TEncoding.UTF8);

 ACBrNFe1.NotasFiscais.Clear;
 ACBrNFe1.NotasFiscais.LoadFromString(sl.Text);
 ACBrNFe1.NotasFiscais.GravarXML('C:\...\saída.xml');

 

Postado

Mesmo baixando direto do Portal, o arquivo é gravado errado? Testei também dessa forma, e o erro ocorreu. TStringlist tudo ok, colocando no acbr gera erro. 

Abrindo no notepad++ ele mostra que o formato é UTF-8, e sem nenhum erro de exibição/codificação. 

Tenho inclusive um caso (que abrirei em outro chamado para não misturar), que ao submeter o conteúdo para o acbr e gravar, ele corta o final do arquivo (falta NFe></nfeProc>) .

  • Moderadores
Postado
Em 17/10/2024 at 17:28, _ps disse:

É estranho, pois em outros xmls que possui acentuação esse mesmo problema não ocorre.

exemplo.xml

Esse arquivo tem certeza que é o sefaz conforme tu fala aqui

7 horas atrás, _ps disse:

Mesmo baixando direto do Portal, o arquivo é gravado errado? Testei também dessa forma, e o erro ocorreu. TStringlist tudo ok, colocando no acbr gera erro. 

pois senão teriamos um erro com muitos posts , muitos tópicos

e veja não temos

traga um xml diretamente do sefaz e faço testes com Delphi 7 ao 12.2

e também em lazarus e posto aqui os resultados

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
 

 

Postado

Bom dia.

Sim, baixei diretamente na Sefaz, utilizando certificado digital. 

Quanto a versão do Delphi, no momento só disponho o 10.3.

Postado

Completando. São situações pontuais. E ocorrem mais com documentos emitidos antigos.

Com o exemplo anexado no início dará para ver o comportamento do componente. 

Postado

Boa tarde. 

Sim, emissão de terceiros (nota de compra). 

XML direto da Sefaz. Valida tudo certo. Só dá erro ao gravar usando acbr. 

  • Moderadores
Postado
20 minutos atrás, _ps disse:

Boa tarde. 

Sim, emissão de terceiros (nota de compra). 

XML direto da Sefaz. Valida tudo certo. Só dá erro ao gravar usando acbr. 

mas é que se tu tá emitido , tu não precisa gerar no ACBr. tu só carrega no ACBrNFe se tu for usar os objetos pra pegar os dados

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
 

 

Postado

Não estou emitindo.

O problema eu contornei de outra forma. Mas abri o post para informar que existe esse fato. Já tinha visto a mais tempo, mas só parei agora para informar. 

  • Moderadores
Postado

é ai que está o ACBr não faz mudanças. e se o xml foi devidamente gerado e tu pegou do site do sefaz carrega tranquilamente eles aqui e imprime.

anexe exatamente o xml que veio do sefaz, que possa pegar o mesmo e jogar no validador do sefaz e bater a assinatura para então poder testar e carregar

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
 

 

Postado

Posso enviar no privado?

Com o arquivo exemplo que enviei em anexo também é possível reproduzir o problema, seguindo os passos indicados no início do post. 

  • Moderadores
Postado
13 horas atrás, _ps disse:

Posso enviar no privado?

Com o arquivo exemplo que enviei em anexo também é possível reproduzir o problema, seguindo os passos indicados no início do post. 

o arquivo que anexou tu mesmo falou que mexeu nele.

quero o que baixa do sefaz direto e foi emitido para sim saber o que está ocorrendo. alterado localmente não adianta pois eu mudou enconding e tudo mais

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
 

 

Postado
Em 05/11/2024 at 09:29, Juliomar Marchetti disse:

o arquivo que anexou tu mesmo falou que mexeu nele.

quero o que baixa do sefaz direto e foi emitido para sim saber o que está ocorrendo. alterado localmente não adianta pois eu mudou enconding e tudo mais

Bom dia.

Enviei o arquivo no privado.

Postado

Estranho, veio assim da Sefaz. Além disso a assinatura digital dele é válida. Mas em quê essa quebra de linha interfere na acentuação em outras tags?

  • Moderadores
Postado
12 horas atrás, _ps disse:

Estranho, veio assim da Sefaz. Além disso a assinatura digital dele é válida. Mas em quê essa quebra de linha interfere na acentuação em outras tags?

é ela quem está quebrando

e não deveria vir. certeza absoluta que não vem. o sefaz manda tudo junto

pega qualquer xml diferente e vá ao sefaz baixar e vai notar que não tem nenhuma quebra

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
 

 

Postado

O pior que não é um caso isolado. Tenho milhares assim.

Mas resolvi de outra forma sem passar pelo acbr. Abri o post apenas para informar mesmo essa situação, pois talvez pudesse ser resolvido no acbr.

Agradeço pela atenção.

  • Moderadores
Postado
2 horas atrás, _ps disse:

O pior que não é um caso isolado. Tenho milhares assim.

Mas resolvi de outra forma sem passar pelo acbr. Abri o post apenas para informar mesmo essa situação, pois talvez pudesse ser resolvido no acbr.

Agradeço pela atenção.

No caso não sei como seria por nós resolver o problema de alterarem o padrão do xml que deve ser enviado ou recebido
 

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
 

 

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.