Ir para conteúdo
  • Cadastre-se

dev botao

Ultimo NSU Manifeste Dfe


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

Recommended Posts

  • Membros Pro
Postado

Boa tarde!

Estou implementando o método DistribuicaoDFe, Mas não tenho o ultimo NSU para eu realizar consulta,

posso passar como zero para ele na minha primeira consulta ou existe algum lugar que eu posso consultar?

Obrigado.

  • Solution
Postado (editado)

Use o método DistribuicaoDFePorUltNSU. Nele você passe o NSU = 0. Com isso, você terá como resposta os NSU's dos últimos 90 dias.

Detalhe: O DistribuicaoDFePorUltNSU retorna apenas 50 NSU's por vez. Então caso tenha mais do que 50 você terá que executar mais de uma vez. E a cada execução, você passa o último NSU que você recebeu.

Aí você me pergunta; como eu sei que tem mais do que 50 pra eu baixar? Simples, existe uma propriedade que consta o número máximo de NSU que tem no WebService.

Então resumindo a lógica seria mais ou menos assim: 

iUltimoNSUGravado := GetUltimoNSUGravado;    
repeat
  ACBrNFe1.DistribuicaoDFePorUltNSU(IdEstado, aCNPJ, iUltimoNSUGravado);
  cStat   := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat;
  if cStat = 138 then {Documentos encontrados}
  begin
    iMaxNSUWebService := StrToIntDef(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.maxNSU, 0);
    for i := 0 to Pred(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count) do
    begin
      {Aqui você processa NSU por NSU. Inclusive grava o NSU no banco de dados}
    end;
  end;
  iUltimoNSUGravado := GetUltimoNSUGravado;
until (iUltimoNSUGravado = iMaxNSUWebService);

 

Editado por Gabriel Franciscon
  • Curtir 3
  • Este tópico foi criado há 2043 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...