Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Regys, obrigado pela resposta.

 

Consegui resolver me baseando no codigo que vc postou mesmo, muito bem escrito por sinal.

 

O real problema foi devido ao codigo citar apenas o retorno 135 como condição de homologado, que é a homologação com sucesso mas há também a possibilidade de retornar com 155 - cancelamento homologado fora do  prazo.

Implementei a alteração e voltou a funcionar normalmente.

 

Resolvido!

 

Mais uma vez obrigado!

Reverson Nogueira Tricoletti

http://www.maxsofttecnologia.com.br

  • 2 meses depois ...
Postado (editado)

Estou com o mesmo problema do TiagoF, poderia nos ajudar com o retorno do XML no evento ?

 

Agradecido

 

 

Só lembrando a pesquisa agora funciona perfeitamente, estando integrada ao google.

Esse é um assunto antigo mas vai novamente.

 

Nesse link tem um exemplo completo: http://www.regys.com.br/como-enviar-um-evento-de-cancelamento-utilizando-o-acbrnfe/

 

No fórum tem a discussão sobre como ler.

 

O componente está funcionando normalmente.

 

Eu também me deparei com essa situação agora. Veja bem Régis, não é o retorno do evento que não traz o XML, mas sim o retorno da consulta da NFe que não esta trazendo os XMLs dos eventos.

Exemplificando: houve queda de comunicação durante a emissão de uma Carta de correção, sendo que a mesma chegou a ser homologada na Receita mas apenas a máquina do cliente não recebeu o retorno. A solução é consultar a NFe pelo componente, cujo retorno agora traz junto as informações da carta de correção que eu não consegui pegar no momento de sua homologação: nProt, xStat, nSeqEvento, etc. Todos os campos estão preenchidos, menos o NFe.WebServices.Consulta.procEventoNFe.itens.RetEventoNFe.retEvento.itens[0].RetInfEvento.XML.

Ressaltando de novo: é o retorno da Consulta da NFe.

Editado por Astrogildo82
Postado

Astrogildo82,

 

Me deparei com a mesma situação sua, só que no meu caso foi com o evento de Cancelamento, então o que fiz foi pegar o arquivo de resposta da Consulta (o arquivo que está em disco nome: "chave-sit.xml") e removi as tags que não interessavam e deixei o arquivo exatamente igual ao Evento de Cancelamento quando é efetivado diretamente. Um exemplo do que fiz seria algo do tipo:

 

var
  Leitor: TLeitor;
  str: String;
begin
  Leitor := TLeitor.Create;
 
  Leitor.CarregarArquivo('52130704429915000178550000000000821000000305-sit.xml');
  str := Leitor.rExtrai(1, 'procEventoNFe', 'retConsSitNFe');
 
  Memo1.Text := '<?xml version="1.0" encoding="UTF-8" ?>' + str;
 
  Leitor.Free;
end;
 
Para usar a classe TLeitor, basta dar uses na pcnLeitor. No exemplo acima deixei no Memo1 apenas o conteúdo do Evento de Cancelamento homologado, bastaria salvar em disco ou armazenar no banco.
 
Não sei se essa é a maneira mais correta de se fazer, mas é a que utilizo atualmente. Se algum colega fizer de forma menos acochambrada gostaria de saber. :-)
 
Fabrício Gomes Araújo
  • Curtir 1
Postado

Boa tarde Fabrício, inicialmente quero agradeçer a tua ajuda.

Fiz alguns testes aqui com a tua dica e consegui montar o XML da correção que eu precisava, apenas tive que fazer alguns tratamentos da string que recebe o evento, para que ficasse igual ao xml original:

 

Str:= StringReplace(str, '<evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">', '<evento versao="1.00">', [rfReplaceAll]);
Str:= StringReplace(str, '<retEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">', '<retEvento versao="1.00">', [rfReplaceAll]);
Str:= StringReplace(str, '</SignatureValue>',#13#10'</SignatureValue>', [rfReplaceAll]);

 

Acredito que dessa forma funciona com 1 evento apenas - não testei ainda com uma NFe com mais eventos registrados, mas num primeiro momento resolveu o que eu precisava aqui.

Volto a reforçar a sugestão de alguém com mais experiência no componente tentar colocar esse xml dos eventos no retorno da consulta, na propriedade ACBrNFe.WebServices.Consulta.procEventoNFe.itens.RetEventoNFe.retEvento.itens[0].RetInfEvento.XML, da mesma forma que ocorre com ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.XML no retorno da homologação do evento propriamente dito.

  • 1 ano depois...
  • Este tópico foi criado há 3532 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.