Ir para conteúdo
  • Cadastre-se

dev botao

Quebra de Linha - CCe de NFe


Ver Solução Respondido por Diego Foliene,

Recommended Posts

  • Consultores

Boa tarde.

Por favor:

  • Verifique se não tem nenhuma alteração local em seus fontes.
    • Caso tenha alguma pasta ou arquivo com uma bolinha vermelha indicando modificação local dê um revert.
  • Procure por .bpls/.dcus do ACBr que possam estar perdidos em seu ambiente, eles costumam ficam em C:\Users\Public\Documents\Embarcadero\Studio\VersaoDoSeuDelphi.
    • Se encontrar algum .bpls ou .dcu do ACBr neste local, apague.
  • Faça um update da pasta raiz dos fontes do ACBr.
  • Reinstale o ACBr com a opção "Apagar Arquivos Antigos" marcada no instalador.

Testando em meu ambiente e pedindo para outros colegas não ocorre o mesmo comportamento.

image.png

image.png

 

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 para o comentário
Compartilhar em outros sites

Testado novamente, apagada pasta do ACBr, baixada novamente, excluido bpls, dcus, marcado o apagar arquivos antigos... problema persiste.

 

image.png.4710c6b3be0b08f928f1f4f448f294d1.png

 

Concordo que deve ser algo no ambiente, mesmo testando em outros 2 computadores aqui o problema continua (temos o mesmo ambiente (versão do windows, delphi, componentes de terceiros...) ), por isso acredito que ocorra aqui o mesmo problema nos demais computadores

-=Ma®©oS=-

Link para o comentário
Compartilhar em outros sites

  • Consultores
On 9/24/2024 at 9:42 AM, MarcosRWeimer said:

Testado novamente, apagada pasta do ACBr, baixada novamente, excluido bpls, dcus, marcado o apagar arquivos antigos... problema persiste.

 

image.png.4710c6b3be0b08f928f1f4f448f294d1.png

 

Concordo que deve ser algo no ambiente, mesmo testando em outros 2 computadores aqui o problema continua (temos o mesmo ambiente (versão do windows, delphi, componentes de terceiros...) ), por isso acredito que ocorra aqui o mesmo problema nos demais computadores

Boa tarde.

Você informou anteriormente que utiliza o método Gravar nativo do componente.

Por favor:

  • Verifique qual é o conteúdo de LIsUTF8 no momento em que é feita a gravação.
  • Grave um arquivo passando o valor true e um arquivo passando o valor false para a parâmetro IsUTF8 do método Gravar.
  • Coloque as dlls deste LINK na pasta do executável durante seus testes.
  • Confirme por favor, qual é o valor que definiu nas configurações:
    • ACBrNFe.Configuracoes.Geral.SSLLib.
    • ACBrNFe1.Configuracoes.Geral.SSLCryptLib.
    • ACBrNFe1.Configuracoes.Geral.SSLHttpLib.
    • ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib.
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 para o comentário
Compartilhar em outros sites

Ola!

 

ACBrNFe.Configuracoes.Geral.SSLLib		= libCustom
ACBrNFe1.Configuracoes.Geral.SSLCryptLib	= cryWinCrypt
ACBrNFe1.Configuracoes.Geral.SSLHttpLib		= httpOpenSSL
ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib	= xsLibXml2

 

Passando FALSE para o Parâmetro de UFT8:

image.thumb.png.b3d967123fd042afd631cd9b53a41ee2.png

 

Passando TRUE

 

image.thumb.png.526508fc836927490bbb64523afc4b1f.png

 

Ambos os casos a acentuação no XML ficou incorreta.

 

Na impressão ficou correta das 2 formas:

image.png.cd33504878062277a2f45b32184960a9.png

 

procedure utilizada para gravar

 

procedure TNFeBase.SalvarXML;
var
  LCaminho: string;
  LXML: string;
  LIsUTF8: Boolean;
begin
  LCaminho := GetCaminhoXMLPDF(False);

  if FACBrNFe.EventoNFe.Evento.Count > 0 then
    LXML := String(FACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.XML)
  else if (not FACBrNFe.WebServices.Inutilizacao.XML_ProcInutNFe.IsEmpty) then
    LXML := FACBrNFe.WebServices.Inutilizacao.XML_ProcInutNFe
  else
    LXML := FACBrNFe.NotasFiscais.Items[0].XML;

  if LXML.IsEmpty then
    Exit;

  LIsUTF8 := LXML.ToLower.Contains('<signature'); //ACBrDFeUtil.XmlEstaAssinado
  FACBrNFe.Gravar(LCaminho + 'utf8', LXml, '', True);
  FACBrNFe.Gravar(LCaminho, LXml, '', False);
end;

 

Veja que não utilizei o IsUTF8, passei TRUE e FALSE para ter os 2 xmls

 

-=Ma®©oS=-

Link para o comentário
Compartilhar em outros sites

  • Moderadores
7 minutos atrás, MarcosRWeimer disse:
ACBrNFe.Configuracoes.Geral.SSLLib		= libCustom
ACBrNFe1.Configuracoes.Geral.SSLCryptLib	= cryWinCrypt
ACBrNFe1.Configuracoes.Geral.SSLHttpLib		= httpOpenSSL
ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib	= xsLibXml2

comece por aqui o que se faz necessário é só

o SSLLib como WinCrypt

e no Webservice.ssltype como tls 1.2

também note que tu no primeiro usar ACBrNFe e nos demais ACBrNFe1

  • Curtir 1
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 para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde.

Você mencionou anteriormente que o Delphi está configurado ANSI.

Por favor, coloque um break-point no local indicado pelo print e veja como fica o conteúdo da variável Texto.

DebugNFe.jpg

Em meus testes, na linha 3574, o conteúdo de Texto está:

<xCorrecao>Correção a ser considerada, texto livre. A correção mais recente substitui as anteriores.</xCorrecao>

Na linha 3575, depois de passar pela função ConverteXMLtoUTF8 ele fica:

<xCorrecao>Correção a ser considerada, texto livre. A correção mais recente substitui as anteriores.</xCorrecao>

O que no meu entendimento, faz sentido, visto que a paginação de código da minha IDE está como ANSI.

Outro teste também que reforça isso.

No momento de gravação do arquivo, faça um teste e salve um arquivo dessa forma:

var
  LXMLAnsi: String;
begin
  LXML := 'Recebe o conteúdo da propriedade normalmente como já é feito';
  //Faz o processo de gravação que já executa atualmente.
  LXMLAnsi := UTF8ToNativeString(LXML);
  FACBrNFe.Gravar('Caminho+NomeArquivo', LXMLAnsi, '', False); 
end;

Em meu ambiente, o LXMLAnsi ficou com o valor:

<xCorrecao>Correção a ser considerada, texto livre. A correção mais recente substitui as anteriores.</xCorrecao>

Se tento abrir o arquivo gerado com o conteúdo dele no navegador, o mesmo fica com a visualização quebrada e no notepad++ fica desta forma com a codificação em UTF-8:

CodificacaoUTF8.jpg

Se eu mudar a codificação para ANSI:

CodificacaoANSI.jpg

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 para o comentário
Compartilhar em outros sites

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.