Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - Limpando Quebra de Linha do retorno da Prefeitura de Maringá/PR


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

Recommended Posts

Bom dia.

Estou enviando quebra de linha no campo "ItemListaServico", e está ocorrendo tudo perfeitamente.

Se pego a visualização da NFSe pelo site da prefeitura de Maringá/PR, está voltando corretamente:

imagem_02.thumb.jpg.8ac65262467e2e4bda93c3e2d7ecda32.jpg

Se baixo o XML pelo site da prefeitura, também está correto (simplifiquei o XML):

<?xml version="1.0" encoding="UTF-8"?>
<ConsultarNfseServicoPrestadoResposta><Discriminacao>Cod.: 002734 - Descricao: PRESTACAO DE SERV. PARA DESENV. DE SOFTWARE - Qtde.: 1 - Vlr. Unit.: 2,43 - Vlr. Desc.: 0
Obs.:
Linha 1
Linha 2
Linha 3
Linha 4
</Discriminacao>

Conforme dá para notar, a prefeitura retorna as quebras de linha normalmente.

Fiz um debug no ACBr, e notei que no retorno SOAP também é retornado as quebras de linha.

O problema é que o ACBr está removendo as quebras de linha do retorno. Encontrei este código no arquivo ACBrXmlBase.pas:

function TratarXmlRetorno(const aXML: string): string;
begin
  Result := StrToXml(aXML);
  ...
end;
...
function StrToXml(const AXML: string): string;
begin
  ...
  Result := FaststringReplace(Result, ''#$A'', '', [rfReplaceAll]); //AQUI ESTÁ REMOVENDO A QUEBRA DE LINHA
  Result := FaststringReplace(Result, ''#$A#$A'', '', [rfReplaceAll]);
end;

Se eu usar o XML antes de enviar ( _xml := FObjNFSeX.NotasFiscais.Items[0].GerarXML; ), não tenho os dados da NFSe gerada, então teria de pegar do retorno.

Usando desta forma:

retorno := FObjNFSeX.Emitir(IntToStr(idlote));

Se eu pegar o "retorno.EnvelopeRetorno" e fizer eu mesmo a limpeza do SOAP, eu acredito que consiga o resultado.

Alguns outros problemas:

- FObjNFSeX.NotasFiscais.Items[0].XMLNFSe - não retorna nada (no ACBrNFSe voltava)

- FObjNFSeX.NotasFiscais.Items[0].NFSe.Protocolo - não retorna nada (o XML tem o protocolo)

 

Hoje estou pegando o retorno de FObjNFSeX.NotasFiscais.Items[0].XMLOriginal

Estou gerando um RPS.

Exemplo que pode ser visto online no site da prefeitura:

https://api.hom-ecity.maringa.pr.gov.br/v1/print/nfe/05112399000116/206/EDBDEBD81

 

Tem alguma solução/sugestão para isso?

 

NFSe_xmls.zip

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Valter,

Realmente o componente faz uma limpeza no XML retornado e uma delas é remover as quebras de linha.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 993 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.