Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Membros Pro
Postado

Caros colegas,

 

O fluxo de minha aplicação exige que a cada NFe enviada para SEFAZ eu aguarde

o processamento da mesma. Então eu uso o seguinte código ao enviar a NFe:

 

***

      if (not NFe.Enviar(Dados.Codigo, False)) then begin
        raise Exception.CreateFmt('Nota fiscal eletrônica não foi autorizada!!!' +
          #13#13'Motivo: %s'#13#13'Mensagem: %s',
          [NFe.WebServices.Retorno.xMotivo, NFe.WebServices.Retorno.xMsg]);
      end;
 
      while (NFe.NotasFiscais.Items[0].NFe.procNFe.cStat = 105) do begin
        NFe.Consultar;
        if (NFe.NotasFiscais.Items[0].NFe.procNFe.cStat <> 105) then begin
          Break;
        end;
 
        Sleep(5000);
        Application.ProcessMessages;
      end;
      if (NFe.NotasFiscais.Items[0].NFe.procNFe.cStat <> 100) then begin
        raise Exception.CreateFmt('NFe não autorizada - Motivo: [%s] - Status: [%s]',
          [NFe.NotasFiscais.Items[0].NFe.procNFe.xMotivo,
            IntToStr(NFe.NotasFiscais.Items[0].NFe.procNFe.cStat)]);
      end;
***
 
O problema é que as vezes ele sai do loop sem erro mas o status não é 100 e quando consulto
na SEFAZ pela chave da nota, a mesma está autorizada. Más quando ele processou, não retornou
o status 100, más saiu do loop com um status diferente de 105.
 
1) Alguém sabe me dizer se após eu "Enviar" a NFe se tem algum status além do 105 no qual devo
continuar aguardando no loop até que o mesmo mude para 100 ou gere um erro?
 
2) O problema é que isso é aleatório, na maioria das vezes não acontece, então não consigo
simular o erro. Por exemplo, pode retornar status 104 e a nota ainda não estar liberada?
 
Obrigado.
  • 3 anos depois...
  • Este tópico foi criado há 2548 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...