Ir para conteúdo
  • Cadastre-se

dev botao

Como Pegar Todos Os Retorno Xml


Ver Solução Respondido por André Ferreira de Moraes,
  • Este tópico foi criado há 2390 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia,

 

Mais uma vez sei que muito tópicos são repetitivos, mais não identifiquei como pegar

todos os retornos assim que executo a função enviar ``ACBrNFe1.Enviar``

 

dentro desta funcao tem varias mensagens lote, lote recebido, e lote processado, 

existe uma path para salvar automaticamente esta mensagem mais não entendi

como pegar em tempo real para salvar algumas mensagem no banco de dados,

entendo que não posso mexer dentro do código do componente já que se houver 

alguma alteração no fonte vou perder este código, pelo menos é o que eu acredito,

alguém tem uma dica ou se este postagem já exista manda um link para que eu possa

entender, já fiz algumas busca mais nada do tipo que estou precisando.

 

Agradeço desde já.

 

Postado

Bom dia,

 

dentro da função enviar acontece vários procedimento que estão dentro da unit acbr, o que estou

com duvida para entender é o que não posso mexer neste código, mais como pegar o retorno do que esta acontecendo

para pegar os status e atualizar o meu banco. 

  • Moderadores
Postado

Vc viu o demo?

  ACBrNFe1.Enviar(vNumLote,True);

  MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);
  memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS);
  LoadXML(MemoResp, WBResposta);

 MemoDados.Lines.Add('');
 MemoDados.Lines.Add('Envio NFe');
 MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb));
 MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic);
 MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat));
 MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF));
 MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo);
 MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg));
 MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg);
 MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo);
 MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo);
// MemoDados.Lines.Add('cStat: '+ ACBrNFe1.WebServices.Retorno.NFeRetorno;

{ ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].tpAmb
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].verAplic
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].dhRecbto
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].digVal
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].cStat
 ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].xMotivo }
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado (editado)

Bom dia !

 

Quando ocorre o erro 403 sempre verifico as seguintes questões.

 

0) Verifique a empresa esta credenciada para emissão de NF-e. (Homologação e produção).

1) Verifique a validade do certificado

2) Desative ou remova o anti-virus. e FIREWALL

3) Desative o Firewall do WINDOWS.

4) Resete as configurações do internet explorer ( Opções > Avançado >Restaurar configurações avançadas ).

Editado por renatojosecampos
Postado

Desculpa amigo não consigo identificar no exemplo este procedimento, se for dentro da função enviar tudo que esta lá pertence a unit acbr posso alterar lá porque quando for atualizado o componete entendo que vai alterar a unit novamente.

 

Desculpe mais uma vez minha ignorância pois estou meio perdido, nesta parte de envio e retorno.

  • Moderadores
Postado

Desculpa amigo não consigo identificar no exemplo este procedimento, se for dentro da função enviar tudo que esta lá pertence a unit acbr posso alterar lá porque quando for atualizado o componete entendo que vai alterar a unit novamente.

 

Desculpe mais uma vez minha ignorância pois estou meio perdido, nesta parte de envio e retorno.

O demo é um exemplo de como utilizar o componente ACBrNFe, vc deve implementar no seu programa o componente. Se você copiar o demo e fizer qualquer alteração nele, logicamente qdo vc atualizar, poderá ter conflitos com suas alterações.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
  • Moderadores
Postado

Ok, entendi que o demo e um exemplo de como utilizar o componente o que eu não estou entendendo onde esta parte

de código no demo:

 

ShowMessage(ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].xMotivo);

Não tem....

No demo tem todas as linhas abaixo comentadas

{ ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].tpAmb
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].verAplic
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].dhRecbto
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].digVal
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].cStat
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].xMotivo }
Apenas coloquei um exemplo de como você poderia exibir a mensagem.
  • Curtir 1
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado
 É que guando da erro no enviar tudo em vermelho abaixo ele não faz.
 
  ACBrNFe1.Enviar(tbl_vNFe.FieldByName('NFE_B_NNF').AsInteger,True);
 
  rtfNFe.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);
  memo_RespWs.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS);
  LoadXML(rtfNFe, WBResposta);
 
  MemoDados.Lines.Add('');
  MemoDados.Lines.Add('Envio NFe');
  MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb));
  MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic);
  MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat));
  MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF));
  MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo);
  MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg));
  MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg);
  MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo);
  MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo);
 
  ShowMessage(ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].xMotivo);
 
  ACBrNFe1.NotasFiscais.Clear;

post-26067-0-16254300-1416857235_thumb.j

  • 1 mês depois ...
Postado

Boa tarde,

 

Estamos com um problema interno na função de envio que funciona em uma maquina porém em outra não. Mas não conseguimos ter acesso a mensagem de erro.

 

Como fazemos para ter acesso ao erro do evento enviar da nota fiscal eletrônica ?

  • 2 anos depois...
Postado
Em 24/11/2014 at 15:01, André Ferreira de Moraes disse:

 

Não tem....

 

No demo tem todas as linhas abaixo comentadas

 

 


{ ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].tpAmb
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].verAplic
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].dhRecbto
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].digVal
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].cStat
ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].xMotivo }

Apenas coloquei um exemplo de como você poderia exibir a mensagem.

Meu caro colega, aonde você coloca esses retornos, porque coloco após o enviar, conforme abaixo e ele sempre me dá um erro, que é: List index out of bounds, como se não existisse nenhum item.

  ACBrNFe1.NotasFiscais.Assinar;
  ACBrNFe1.NotasFiscais.Validar;
  ACBrNFe1.WebServices.Envia('1', true);
ShowMessage(ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].xMotivo);

Postado

OK já encontrei a resposta. Pra outros que possam passar pelo mesmo problema... se informar modo SINCRONO=TRUE não se recebe esses retorno.

  • 1 ano depois...
Postado (editado)

Bom dia a todos do Grupo. 

1 - Gostaria de saber qual das duas formas tenho que aplicar para receber o cstat? Depois que a Nfe foi autorizada.

    a -   ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat; 
    b -   ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].cStat; 

 

2 - Qual o cstat de retorno depois que a NFe foi aprovada  100 ou 104 ?

 

3 - Qual dos dois métodos estão corretos?depois da Nfe autorizada.

a -  ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].XMLprotNFe; 
b -  ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.XML_NFe;

 

Editado por FABRICIO DOS SANTOS BRITO
  • Este tópico foi criado há 2390 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.