_ps Postado 17 Outubro Postado 17 Outubro (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 17 Outubro por _ps
Moderadores Juliomar Marchetti Postado 18 Outubro Moderadores Postado 18 Outubro Bom dia tente não converter pois o que tu pode achar que está vindo UTF8 não está. não sei se é a mesma que questão de um outro usuário, mas se for a gravação no banco , que banco era, como o mesmo está configurado Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 18 Outubro Autor Postado 18 Outubro Bom dia. Não está sendo convertido. Eu também conferi antes. O conteúdo da string está perfeito, é inclusive validado em https://www.sefaz.rs.gov.br/nfe/nfe-val.aspx
Moderadores Juliomar Marchetti Postado 22 Outubro Moderadores Postado 22 Outubro Ok usou o que? firedac, dbx. etc e o banco que banco e qual o formato do campo Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 31 Outubro Autor Postado 31 Outubro 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');
Moderadores Juliomar Marchetti Postado 1 Novembro Moderadores Postado 1 Novembro sim porque o arquivo está gravado errado portanto tem que ajustar a gravação o que foi gravado possivelmente foi perdido, nisso é que temos que focar Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 1 Novembro Autor Postado 1 Novembro 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 Juliomar Marchetti Postado 1 Novembro Moderadores Postado 1 Novembro 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 1 Novembro Autor Postado 1 Novembro Bom dia. Sim, baixei diretamente na Sefaz, utilizando certificado digital. Quanto a versão do Delphi, no momento só disponho o 10.3.
_ps Postado 1 Novembro Autor Postado 1 Novembro 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.
Moderadores Juliomar Marchetti Postado 1 Novembro Moderadores Postado 1 Novembro Esse xml não foi emitido por você correto? e sim por terceiros? bom só pra confirmar é o xml acima direto do sefaz e com o erro certo? Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 4 Novembro Autor Postado 4 Novembro 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 Juliomar Marchetti Postado 4 Novembro Moderadores Postado 4 Novembro 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 4 Novembro Autor Postado 4 Novembro 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 Juliomar Marchetti Postado 4 Novembro Moderadores Postado 4 Novembro é 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 4 Novembro Autor Postado 4 Novembro 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 Juliomar Marchetti Postado 5 Novembro Moderadores Postado 5 Novembro 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 7 Novembro Autor Postado 7 Novembro 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.
Moderadores Juliomar Marchetti Postado 11 Novembro Moderadores Postado 11 Novembro Seu arquivo é formatado e não pode o erro é no seu arquivo e não no ACBr. e não tem o que fazer. ele não pode ser salvo com quebras de linhas e ele está salvando ainda com LF e não a quebra do windows, e mesmo assim não pode Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 12 Novembro Autor Postado 12 Novembro 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 Juliomar Marchetti Postado 12 Novembro Moderadores Postado 12 Novembro 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
_ps Postado 17 Novembro Autor Postado 17 Novembro 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 Juliomar Marchetti Postado 18 Novembro Moderadores Postado 18 Novembro 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora