Ir para conteúdo
  • Cadastre-se

dev botao

Ultimo NSU Manifeste Dfe


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

Recommended Posts

  • Solution

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
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Udenilson,

Para mais informações sobre o Distribuição DF-e, por favor leia: Como obter o XML do Fornecedor.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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