Open tavinus opened 7 years ago
Olá,
Tenho recebido feedback que nem todas as notas emitidas são recebidas. O código que eu adicionei em teoria não é pra afetar o recebimento, a não ser que eu tenha que sair sem salvar o NSU. Nos meus testes parece que ele salva o mesmo NSU na real.
Mas fora isso você consegue pensar em alguma forma de eu não receber todas as notas? Talvez tenha que processar algum outro numero $aResposta['cStat']
que está passando em branco?
Sinceramente eu não consigo pensar em possíveis motivos pra não receber somente algumas notas (mesmo recebendo a maioria).
Cheers!
Gus
Apenas no caso de não ter manifestado essas NFe's, se não manifestar (ou a manifestação der erro) não vai receber NUNCA essas NFe's
Roberto
Pra ser sincero, tá indo tudo automático.
Parece que não está manifestando nenhuma nota, mas recebe QUASE todas. Ao mesmo tempo eu não mudei muita coisa no seu script (uma instalação padrão faz igual). Ou seja, mesmo antes de manifestar ele baixa as notas (e sobe o NSU).
Estou confuso...
Volto a agradecer por ter postado o app teste.
Em alguns testes que eu fiz aqui recentemente, notei o curl pedindo sem parar mesmo para empresas que já tinham as últimas notas. Ainda estou em dúvida se tem algo a ser tunado na lógica de NSU, mas o fato é que coloquei uma checagem pelo
cStat = 137
que ocorre quando não tem nada novo e parece estar funcionando bem. Se retorna isso ele salva NSU e quebra o loop.Fica aqui minha pergunta se isso é o ideal e também se a forma que eu implementei é recomendada.
No arquivo
DFe.php
, segue a funçãogetNFe
inteira:Assim não fica martelando o WS à toa.
Porque notei os retornos todos com mesmo numero inicial quando isso estava ocorrendo.
E também notei o status 137 e fui procurar no manual.
Eu ACHO que o certo é salvar o NSU da resposta ali também, mas ainda tenho uma certa dúvida se está correto. Fato que a resposta com cstat=137 também retorna esses valores de ult e maxNSU, então achei certo salvar.
Além disso, em uma instalação que o ambiente de homologação nao tinha nenhuma nota a ser baixada, manteve o NSU=0 e ficou martelando com ele e fui rapidamente bloqueado por 1 hora. Eu tinha feito um teste com 10 iterações somente e fui bloqueado. A mensagem de erro dizia que pedidos seguidos deveriam usar o NSU anterior, pra tentar depois de 1 hora. Tendo o break no cStat-137 também previne esse problema.
Cheers!
Gus