Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia a todos.

Estamos utilizando a função ACBrNFe.DistribuicaoDFePorChaveNFe para pegar o XML por chave. Porém existem determinadas chaves em que o retorno do cStat é sempre 137, "Nenhum documento localizado".

Eu consulto a chave no site do SEFAZ e ela existe, mas sempre me retorna essa mensagem. Não acontece com todas as chaves, é uma ou outra.

 

Minha rotina funciona da seguinte forma:

 1 - Chamo a função ACBrNFe.DistribuicaoDFePorChaveNFe passando a chave.

 2 - Depois verifico se a propriedade ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.cStat é igual a 138.

 3 - Se a propriedade ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema for igual a schresNFe, ele trouxe o resumo, ai mando o evento de ciência (infEvento.tpEvento := teManifDestCiencia;).

 4 - Depois executo o passo 1 novamente e verifico se a propriedade ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema é igual a schprocNFe, nesse caso, baixo o xml completo para a máquina.

 

Existe alguma explicação pra esse comportamento ou estou fazendo algo de errado?

 

Desde já agradeço.

  • Moderadores
Postado
18 minutos atrás, New Standard Software disse:

Existe alguma explicação pra esse comportamento ou estou fazendo algo de errado?

Se você executar o passo 4 imediatamente após o passo 3 pode ser que a NFe ainda não tenha sido disponibilizada pela SEFAZ.

O webservice de distribuição é bem instável e às vezes leva uns minutos, horas e até dias para que a NFe completa esteja disponível para download.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
2 horas atrás, BigWings disse:

Se você executar o passo 4 imediatamente após o passo 3 pode ser que a NFe ainda não tenha sido disponibilizada pela SEFAZ.

O webservice de distribuição é bem instável e às vezes leva uns minutos, horas e até dias para que a NFe completa esteja disponível para download.

Entendi.

Mas o problema já ocorre no primeiro passo, ele não localiza nada e retorna o cStat 137. Já chamei várias vezes a função, sempre vem o mesmo retorno.

Postado

Complementando a resposta do Big, o download é feito do portal nacional, não da SEFAZ, nesse caso, existe um lapso de tempo após a NFe ser autorizada e o XML ser disponibilizado para o download no portal nacional.

Postado
2 horas atrás, New Standard Software disse:

Mas o problema já ocorre no primeiro passo, ele não localiza nada e retorna o cStat 137

O ideal seria utilizar o método DistribuicaoDFePorUltNSU.

Pois o método DistribuicaoDFePorChaveNFe retorna informações apenas se a nota já estiver com um registro de manifestação pelo destinatário.

Então na teoria ficaria assim

  1. DistribuicaoDFePorUltNSU (trará: Nota resumida, Nota completa, Eventos resumido e Eventos completo)
  2. Realizar a manifestação
  3. Executar o método DistribuicaoDFePorUltNSU novamente (ou o DistribuicaoDFePorChaveNFe)
  • Curtir 1
  • Consultores
Postado

Detalhe importante:

Executando o DistribuicaoDFePorUltNSU você tem a lista de resumos das notas, de posse dessa lista é possível saber se existe alguma empresa emitindo nota contra o seu CNPJ sem você ter comprado nada dessa empresa.

Lembre-se também que devemos capturar o valor de UltNSU ao executar o DistribuicaoDFePorUltNSU, pois na próxima execução deveremos usar o numero capturado na execução anterior na próxima execução.

  • Curtir 1
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

Postado
2 horas atrás, Daniel Port disse:

Complementando a resposta do Big, o download é feito do portal nacional, não da SEFAZ, nesse caso, existe um lapso de tempo após a NFe ser autorizada e o XML ser disponibilizado para o download no portal nacional.

Entendi.

 

2 horas atrás, Italo Jurisato Junior disse:

Boa tarde New Standard,

Antes de executar o método DistribuicaoDFePorChaveNFe a nota foi previamente Manifestada?

Por favor leia esse artigo: Como obter o XML do Fornecedor

Então, não sei te dizer, estou consultando a nota no site do SEFAZ, consigo saber por lá, porque tenho dois exemplos de nota, as duas constam apenas como autorizadas, uma retornou normal e eu consegui realizar a ciência, a outra ocorre o problema de nem retornar nada. (Vou anexar a imagem do SEFAZ dessas notas).

 

NFe que retornou:

616307450_NFequeretornou.png.0b21c6d2db48b9cb967a6f0ac19ffe36.png

 

NFe que não retornou:

193222000_NFequenoretornou.png.76afd956cab5c9331a59d3321bd4a4a1.png

 

2 horas atrás, Gabriel Franciscon disse:

O ideal seria utilizar o método DistribuicaoDFePorUltNSU.

Pois o método DistribuicaoDFePorChaveNFe retorna informações apenas se a nota já estiver com um registro de manifestação pelo destinatário.

Então na teoria ficaria assim

  1. DistribuicaoDFePorUltNSU (trará: Nota resumida, Nota completa, Eventos resumido e Eventos completo)
  2. Realizar a manifestação
  3. Executar o método DistribuicaoDFePorUltNSU novamente (ou o DistribuicaoDFePorChaveNFe)

Certo, mas fica a mesma dúvida que escrevi acima, como vejo se foi manifestada, deveria ter um evento associado a ela? E outro detalhe, quem deve fazer a manifestação, o gerador da nota, ou o destinatário?

Postado
6 minutos atrás, New Standard Software disse:

Certo, mas fica a mesma dúvida que escrevi acima, como vejo se foi manifestada, deveria ter um evento associado a ela? E outro detalhe, quem deve fazer a manifestação, o gerador da nota, ou o destinatário?

A manifestação é feita pelo destinatário da nota fiscal.

E a SEFAZ não envia uma informação se foi realizado a manifestação ou não para o destinatário. Apenas para o emitente. Pois entende-se que como o destinatário realizou a manifestação. O mesmo não precisa saber, pois foi ele mesmo quem fez. Ou seja, quando o seu cliente realizar a manifestação você deverá armazenar essa informação.

E como citado acima o método DistribuicaoDFePorChaveNFe só retorna informação caso a nota em questão já tiver um registro de manifestação vinculado a ela.

  • Moderadores
Postado
15 minutos atrás, New Standard Software disse:

NFe que não retornou:

Essa NFe é muito antiga e não será retornada pelo DistribuicaoDFe.

Apenas notas com até 90 dias de emissão são disponibilizadas pelo método.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
20 horas atrás, Gabriel Franciscon disse:

A manifestação é feita pelo destinatário da nota fiscal.

E a SEFAZ não envia uma informação se foi realizado a manifestação ou não para o destinatário. Apenas para o emitente. Pois entende-se que como o destinatário realizou a manifestação. O mesmo não precisa saber, pois foi ele mesmo quem fez. Ou seja, quando o seu cliente realizar a manifestação você deverá armazenar essa informação.

E como citado acima o método DistribuicaoDFePorChaveNFe só retorna informação caso a nota em questão já tiver um registro de manifestação vinculado a ela.

Entendi, blza.

 

20 horas atrás, BigWings disse:

Essa NFe é muito antiga e não será retornada pelo DistribuicaoDFe.

Apenas notas com até 90 dias de emissão são disponibilizadas pelo método.

Legal, não sabia desse detalhe.

 

Blza galera, acho que isso resolve meu problema, muito obrigado a todos.

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