Ir para conteúdo
  • Cadastre-se

dev botao

erro para Consultar Duplicidade


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 1595 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Por favor,

Tenho o seguinte procedimento dentro do meu sistema, quando retorna erro de duplicidade de envio da NFe / CTe

  acbrct1.Conhecimentos.Clear;
  acbrct1.Configuracoes.Geral.ValidarDigest := false;

  acbrct1.Conhecimentos.LoadFromString(NFeControleXMLNfeAutorizado.AsString);
  acbrct1.Conhecimentos.GerarCTe; //( com ou sem essa linha o erro é o msm.)
  acbrct1.Conhecimentos.Assinar;
  acbrct1.Consultar();

  codigostatus    := acbrct1.WebServices.Retorno.CTeRetorno.ProtDFe.Items[0].cStat;
  numeroprotocolo := acbrct1.WebServices.Retorno.CTeRetorno.ProtDFe.Items[0].nProt;

mas estou com erro ''List index out of bounds'' e não retorna mais o xml completo.

Por favor o que estou fazendo de errado ?

 

=== * MARCEL HENRIQUE SCANDOLARA * ===
Analista de Sistemas/CEO de mim mesmo
[email protected] / Skype:Scandolara
[email protected] t:@mhscandolara
=======================================

 

  • Moderadores
Postado
22 minutos atrás, Scandolara disse:

  codigostatus    := acbrct1.WebServices.Retorno.CTeRetorno.ProtDFe.Items[0].cStat;
  numeroprotocolo := acbrct1.WebServices.Retorno.CTeRetorno.ProtDFe.Items[0].nProt;

Experimente usar o objeto ACBrCTe1.WebServices.Consulta pra obter o cStat e protocolo

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Consultores
  • Solution
Postado

Boa noite,

Se você envia o XML seja ele da NF-e ou do CT-e se ocorre algum erro de internet o mesmo fica sem o protocolo de autorização.

Primeiro não se deve enviar o XML novamente, pelo simples fato de você não saber onde o erro ocorreu, se foi no envio ou no retorno.

Portanto a atitude mais correta é realizar uma consulta.

Você já tem o XML assinado e validado, salvo em disco ou no banco de dados.

Os passos que devemos tomar após a ocorrência do erro são:

1. carregar o XML através dos métodos LoadFromFile (XML salvo em disco) ou LoadFromStream (XML salvo no DB).

2. executar o método Consultar.

Se o erro foi no retorno e o documento (NF-e ou CT-e) foi autorizado com o procedimento a cima você terá o XML com o protocolo de autorização.

Por outro lado se o erro foi no envio a SEFAZ vai retornar uma rejeição na consulta acusando que o documento não consta na base de dados dela.

Neste caso, ai sim você envia o documento novamente.

O correto com apenas 3 linhas:

  acbrct1.Conhecimentos.Clear;

  acbrct1.Conhecimentos.LoadFromFile(xArquivo); // xArquivo contem o Path e o nome do XML
  ou
  acbrct1.Conhecimentos.LoadFromStream(xCampo); // xCampo contem o XML salvo no DB

  acbrct1.Consultar;

 

  • Curtir 2
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
32 minutos atrás, BigWings disse:

Experimente usar o objeto ACBrCTe1.WebServices.Consulta pra obter o cStat e protocolo

muito obrigado, alterei a forma q consultava.

16 minutos atrás, Italo Jurisato Junior disse:

Boa noite,

Se você envia o XML seja ele da NF-e ou do CT-e se ocorre algum erro de internet o mesmo fica sem o protocolo de autorização.

Primeiro não se deve enviar o XML novamente, pelo simples fato de você não saber onde o erro ocorreu, se foi no envio ou no retorno.

Portanto a atitude mais correta é realizar uma consulta.

Você já tem o XML assinado e validado, salvo em disco ou no banco de dados.

Os passos que devemos tomar após a ocorrência do erro são:

1. carregar o XML através dos métodos LoadFromFile (XML salvo em disco) ou LoadFromStream (XML salvo no DB).

2. executar o método Consultar.

Se o erro foi no retorno e o documento (NF-e ou CT-e) foi autorizado com o procedimento a cima você terá o XML com o protocolo de autorização.

Por outro lado se o erro foi no envio a SEFAZ vai retornar uma rejeição na consulta acusando que o documento não consta na base de dados dela.

Neste caso, ai sim você envia o documento novamente.

O correto com apenas 3 linhas:


  acbrct1.Conhecimentos.Clear;

  acbrct1.Conhecimentos.LoadFromFile(xArquivo); // xArquivo contem o Path e o nome do XML
  ou
  acbrct1.Conhecimentos.LoadFromStream(xCampo); // xCampo contem o XML salvo no DB

  acbrct1.Consultar;

 

Resolvido @Italo Jurisato Junior , muito obr pela explicação.

 

  • Curtir 1
=== * MARCEL HENRIQUE SCANDOLARA * ===
Analista de Sistemas/CEO de mim mesmo
[email protected] / Skype:Scandolara
[email protected] t:@mhscandolara
=======================================

 

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