Ir para conteúdo
  • Cadastre-se

dev botao

[DistribuicaoDFe] Não baixa XML completo


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

Recommended Posts

Boa tarde,

Tem um cliente do Pará (UFDest = 15), que manifestou hoje (27/abril) uma NF de 26/03/2017, só que mesmo manifestado não consigo baixar o XML dela. Quando consulto novamente só vem:

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[iDoc].Schema = schresNFe

O que pode estar acontecendo?

Editado por Eptus
Link para o comentário
Compartilhar em outros sites

14 horas atrás, Eptus disse:

Boa tarde,

Tem um cliente do Pará (UFDest = 15), que manifestou hoje (27/abril) uma NF de 26/03/2017, só que mesmo manifestado não consigo baixar o XML dela. Quando consulto novamente só vem:

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[iDoc].Schema = schresNFe

O que pode estar acontecendo?

Qual comando usou? já tentou DistribuicaoDFePorChaveNFe ?

Att

Ricardo

Link para o comentário
Compartilhar em outros sites

Aconteceu a mesma coisa com um cliente do RS ontem. Consultando pela Chave de acesso através do método DistribuicaoDFePorChaveNFe o resultado sempre era 138, ou seja, documento não era localizado, porém, se entrava no portal a nota esta la autorizada e com manifesto do destinatário incluído no ambiente nacional.

EL Soluções em Informática

Desenvolvimento  e Suporte (ERP, NF-e, Sped Fiscal, EFD Contribuições, Emissor de Cupom Fiscal)
Ronda Alta - RS

(54)3364-1588
www.elinfo.com.br

 

Link para o comentário
Compartilhar em outros sites

Bom dia,

Estou utilizando exatamente este : DistribuicaoDFePorChaveNFe

Primeiro eu manifesto, gravo o evento e depois consulto pela chave, o resultado é 138 "documento localizado", mas o Schema está como schresNFe, ou seja, só o resumo está disponível. E é uma nota fiscal emitida a mais de 1 mês. Em tese, já teria que estar no ambiente nacional.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
32 minutos atrás, Eptus disse:

Primeiro eu manifesto, gravo o evento e depois consulto pela chave, o resultado é 138 "documento localizado", mas o Schema está como schresNFe, ou seja, só o resumo está disponível. E é uma nota fiscal emitida a mais de 1 mês. Em tese, já teria que estar no ambiente nacional.

Tem tópicos aqui relatando problemas com a DistribuicaoDFe, um tempo atrás, onde o XML não era disponibilizado mesmo horas e até dias depois da manifestação.

Sugiro que consulte no portal se a NFe está mesmo manifestada, e tente novamente mais tarde.

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Acho que descobri o problema, só não sei a solução:

- O cliente tinha apenas essa nota fiscal (NSU = 1), aí fomos e efetuamos a manifestação (NSU = 2), logo após a manifestação eu dou o comando: DistribuicaoDFePorChaveNFe, o sistema da SEFAZ localiza o Documento (cstat = 138) só que pega apenas o primeiro lançamento (com o NSU = 1) e por esse motivo ele vem apenas o resumo. Eu achava que o comando DistribuicaoDFePorChaveNFe retornaria todos os NSU com essa chave, mas pelo jeito ele só retorna o primeiro registro encontrado (e nele não consta manifestação).

Identifiquei esse problema pois em um teste que fui fazer, mandei buscar tudo de novo (NSU = 0) aí veio 2 registros. o primeiro com o registro da NF e o segundo com a manifestação (e com o XML completo)

Alguém já passou por isso?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Eu ainda não testei o DistribuicaoDFePorChaveNFe, logo não sei lhe informar se o que esta ocorrendo esta correto ou não.

Mas você não esta fazendo da forma correta.

Primeiramente quando for usar o método DistribuicaoDFe utilize o apresentado abaixo:

DistribuicaoDFePorUltNSU(AcUFAutor: integer; ACNPJCPF, AultNSU: String): Boolean;

A sua aplicação tem que armazenar o último NSU retornado pelo método acima, pois ele será utilizado na próxima execução.

Exemplo da primeira execução:

sUltimoNSU := '0';

bRetorno :=ACBrNFe.DistribuicaoDFePorUltNSU(35, '00111222000133', sUltimoNSU);

Note que foi informado zero como sendo o último NSU.

sUltimoNSU := ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU;

Com a linha acima obtemos o valor do último NSU retornado pelo método.

Devemos manifestar todas as notas (resumos) retornadas.

Quando formos executar novamente o método devemos garantir que a variável sUltimoNSU contenha sempre o último NSU retornado pela ultima execução do método.

Na primeira execução o valor de sUltimoNSU é zero, se tivermos como retorno o valor 35, a próxima execução o valor de sUltimoNSU tem que ser 35, se o retorno agora for 73, devemos garantir que a próxima execução do método o valor a ser passado em sUltimoNSU é 73.

Só dessa forma você vai conseguir ler todos os resumos e os XML completos.

Lembrando que para obter o XML completo há necessidade de realizar a manifestação do destinatário.

Aconselho você acessar o Portal Nacional da NF-e e baixar a Nota Técnica 2014/002 versão 1.02, tem apenas 15 páginas, garanto que muitas duvidas serão sanadas.

Se algumas delas persistirem pode postar aqui no fórum.

 

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

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Quando eu digo, manifestação do destinatário, estou me referindo a, ser for o caso, ciência da operação, não necessariamente a manifestação conclusiva. Até onde sei, essa operação é pré-requisito para baixar o xml.

E minha aplicação, já armazeno o sUltimoNSU, só que de acordo com o exemplo que citei, se eu manifestar uma NF e utilizar o método que sugeriu ACBrNFe.DistribuicaoDFePorUltNSU(35, '00111222000133', sUltimoNSU);

o Sistema vai retornar a NF manifestada e se tiver novas NF vai vir junto também.

O que eu preciso é apenas ter acesso ao XML da NF que eu manifestei no momento e não todas as operações a partir do sUltimoNSU armazenado...

Pela atenção, obrigado...

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Segundo a NT mencionada na minha postagem anterior na página 9 (se não me falha a memória) diz que se a nota foi manifestada ao consultar pela chave é para ser retornado o XML completo da nota.

Lembrando que o emitente da nota não tem direito ao XML completo de uma nota emitida, pelo simples fato que o mesmo tem que possuir o XML e realizar a guarda do mesmo pelo período legal.

Já o destinatário tem o direito ao XML completo desde que realize a manifestação.

Por outro lado a Transportadora e Terceiros (informados em <autXML>) tem direito ao XML completo sem a necessidade de realizar a manifestação, pelo simples fato de não serem o destinatário da mercadoria.

Agora se isso não esta ocorrendo com certeza é uma falha no Ambiente Nacional.

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

Link para o comentário
Compartilhar em outros sites

Em 2017-4-28 at 16:34, Eptus disse:

Boa tarde,

Acho que descobri o problema, só não sei a solução:

- O cliente tinha apenas essa nota fiscal (NSU = 1), aí fomos e efetuamos a manifestação (NSU = 2), logo após a manifestação eu dou o comando: DistribuicaoDFePorChaveNFe, o sistema da SEFAZ localiza o Documento (cstat = 138) só que pega apenas o primeiro lançamento (com o NSU = 1) e por esse motivo ele vem apenas o resumo. Eu achava que o comando DistribuicaoDFePorChaveNFe retornaria todos os NSU com essa chave, mas pelo jeito ele só retorna o primeiro registro encontrado (e nele não consta manifestação).

Identifiquei esse problema pois em um teste que fui fazer, mandei buscar tudo de novo (NSU = 0) aí veio 2 registros. o primeiro com o registro da NF e o segundo com a manifestação (e com o XML completo)

Alguém já passou por isso?

Boa noite Eptus.

Estou passando pelo mesmo problema também, idêntico ao seu. Infelizmente tive que retornar para o método antigo até que seja resolvido. É muito estranho, pois em uma relação de +/- 6 mil arquivos XML, apenas 5 vieram com resumo mesmo tendo a ciencia da operação. Para resolver de imediato (sei que foi descontinuado) utilizei o DownloadNFe e vou ir testando ao decorrer do tempo se volta ao normal. Já tentei analisar o xml mas não achei nada que pudesse diferenciar.

Caso encontre algo, postarei aqui.

 

Link para o comentário
Compartilhar em outros sites

Em 05/05/2017 at 16:35, Eptus disse:

Boa tarde,

Tá bom... é possível que seja uma falha no Ambiente Nacional... Obrigado!

Bom dia,

Por acaso não marcou esta propriedade SepararPorNome com True?

ACBrNFe1.Configuracoes.Arquivos.DownloadNFe.SepararPorNome := True;

Sobre uma propriedade que permite salvar os arquivos XML separando em pastas pelo nome do Fornecedor, e daí dava um erro quando o nome do fornecedor continha barra, por exemplo, "S/A". Valor padrão desta propriedade é FALSE.

Att

Ricardo

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Gostaria de pedir ajuda para o DistribuicaoDFe, DistribuicaoDFePorNSU e para o ConsultaNFeDest (sei que este último será desativado, mas estou testando com todos para ver se tenho resultados diferentes).

Para o DistribuicaoDFe e DistribuicaoDFePorNSU ficou assim:

UF (GO) = 52
CNPJ do Cliente
ultNSU = 0
ANUS = ''

 

Para o ConsultaNFeDest ficou assim:

CNPJ di Cliente
IndNFe = 0
IndEmi = 0
ultNSU = 0

Mas todos eles retornam: 137 "Nenhum documento localizado".

Quando realizei a consulta pelo Espião NF-e, ele me retornou 51 NF-es.

Gostaria de entender onde estou errando!

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
14 minutos atrás, Igor Bastos disse:

Gostaria de pedir ajuda para o DistribuicaoDFe, DistribuicaoDFePorNSU e para o ConsultaNFeDest (sei que este último será desativado, mas estou testando com todos para ver se tenho resultados diferentes).

Para o DistribuicaoDFe e DistribuicaoDFePorNSU ficou assim:


UF (GO) = 52
CNPJ do Cliente
ultNSU = 0
ANUS = ''

DistribuicaoDFePorNSU retorna um NSU específico, se quer buscar todas as notas, use DistribuicaoDFePorUltNSU.

E veja se está passando o CNPJ sem formatação.

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

 

14 minutos atrás, BigWings disse:

DistribuicaoDFePorNSU retorna um NSU específico, se quer buscar todas as notas, use DistribuicaoDFePorUltNSU.

E veja se está passando o CNPJ sem formatação.

Mesmo resultado: 137 "Nenhum documento localizado".

 

Confirme se entendi direito: Como estou enviando o 'NSU = 0', obrigatoriamente ele teria que me retornar NFs dos últimos 15 dias? Pois eu fiz a consulta hj mais cedo no Espião NF-e e pelo que percebi, ele não retorna mais nada pois já fiz a consulta. Isso interfere na consulta pelo ACBr com NSU = 0?

Sobre a questão da formatação do CNPJ: estou enviando somente os número, sem formatação.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
2 minutos atrás, Igor Bastos disse:

Confirme se entendi direito: Como estou enviando o 'NSU = 0', obrigatoriamente ele teria que me retornar NFs dos últimos 15 dias? Pois eu fiz a consulta hj mais cedo no Espião NF-e e pelo que percebi, ele não retorna mais nada pois já fiz a consulta. Isso interfere na consulta pelo ACBr com NSU = 0?

Se usar o DistribuicaoDFePorUltNSU, sim, vai retornar, segundo a NT 2014.002, as NFe dos últimos 90 dias.

Se chamar DistribuicaoDFePorNSU com NSU 0, o retorno será 137 mesmo.

Se passar CNPJ formatado, pelo que testei, também retornará cStat 137.

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, BigWings disse:

Se usar o DistribuicaoDFePorUltNSU, sim, vai retornar, segundo a NT 2014.002, as NFe dos últimos 90 dias.

Se chamar DistribuicaoDFePorNSU com NSU 0, o retorno será 137 mesmo.

Se passar CNPJ formatado, pelo que testei, também retornará cStat 137.

Olha, não sei o que é, talvez o CNPJ que estava utilizando não tinha nenhuma NFe para baixar, pois peguei outro cliente e deu certo, consegui o retorno até dar 137, ao todo vieram 50 resultados (que pelo que li é o limite).

Vou dar uma lida na Nota Técnica 2014/002 para entender melhor o procedimento de download das NFes.

Muito obrigado pela ajuda @BigWings

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
2 minutos atrás, Igor Bastos disse:

@BigWings, corrija-me se estiver errado,

o procedimento para fazer download corretamente da Distribuição DFe seria assim:

  1. Pesquisar por UltNSU;
  2. Pegar os NSUs retornados;
  3. Fazer a manifestação de cada NSU;
  4. No retorno da manifestação já tem o XML da NFe.

Seria esse o procedimento?

O retorno do XML vem na chamada ao DistribuicaoDFe, e não na manifestação. Na manifestação gera apenas o XML do evento de manifestação, salvo engano.

Então o procedimento:

1. Pesquisar pelo último NSU armazenado pela sua aplicação, virá o retorno com no máximo 50 documentos, o último NSU da consulta, e a indicação se existem mais documentos a localizar. Grave o último NSU.

2. Faça um loop nos documentos retornados, entre eles pode haver XML completo de nota, XML resumo de nota, XML completo de evento ou XML resumo de evento. Para saber o tipo, você testa pela propriedade schema do documento.

3. Para os documentos retornados apenas como resumo de NFe, fazer a manifestação.

4. Chamar novamente o DistribuicaoDFePorUltNSU informando o NSU gerado no passo 1 para obter o XML completo das notas manifestadas no passo 3.

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Em 2017-5-29 at 10:39, BigWings disse:

O retorno do XML vem na chamada ao DistribuicaoDFe, e não na manifestação. Na manifestação gera apenas o XML do evento de manifestação, salvo engano.

Então o procedimento:

1. Pesquisar pelo último NSU armazenado pela sua aplicação, virá o retorno com no máximo 50 documentos, o último NSU da consulta, e a indicação se existem mais documentos a localizar. Grave o último NSU.

2. Faça um loop nos documentos retornados, entre eles pode haver XML completo de nota, XML resumo de nota, XML completo de evento ou XML resumo de evento. Para saber o tipo, você testa pela propriedade schema do documento.

3. Para os documentos retornados apenas como resumo de NFe, fazer a manifestação.

4. Chamar novamente o DistribuicaoDFePorUltNSU informando o NSU gerado no passo 1 para obter o XML completo das notas manifestadas no passo 3.

Muito obrigado @BigWings, depois de muitos testes, consegui baixar o XML da NF seguindo a sua dica.

:-D

Link para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
Em 30/05/2017 at 17:38, Igor Bastos disse:

Muito obrigado @BigWings, depois de muitos testes, consegui baixar o XML da NF seguindo a sua dica.

:-D

Bom dia. Seria possível indicar aqui o exemplo do método que estão utilizando? Já tentei de tudo e agora aparece a mensagem: "Sessão NFCE_AN_H" não encontrada no arquivo ACBrNFEServicos.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
28 minutos atrás, MERCIO MEDINA GOMES disse:

Bom dia. Seria possível indicar aqui o exemplo do método que estão utilizando? Já tentei de tudo e agora aparece a mensagem: "Sessão NFCE_AN_H" não encontrada no arquivo ACBrNFEServicos.

Verifique a configuração do componente:

ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFe;

Não existe manifestação para NFCe, mas se o componente estiver configurado nesse modelo pode ocorrer esse erro.

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

30 minutos atrás, BigWings disse:

Verifique a configuração do componente:


ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFe;

Não existe manifestação para NFCe, mas se o componente estiver configurado nesse modelo pode ocorrer esse erro.

Obrigado pela dica mas eu caí de paraquedas nesta implementação e não conheço a legislação. O problema é q o cliente precisa urgente baixar XMLs que foram gravados zerados no ambiente dele e se recusa a ir no site da secretaria porque o volume é alto e de um único dia.

Estou usando a função abaixo para tentar baixar:

ACBrNFCe.NotasFiscais.Clear;
ConfigACBr(cds.FieldByName('venda_codigo').AsString, cds.FieldByName('pdvname').AsString, cds.FieldByName('nfe').AsString = 'S');
ACBrNFCe.Configuracoes.Geral.ModeloDF := moNFCe;
ACBrNFCe.WebServices.Consulta.Executar;
sUltimoNSU := ACBrNFCe.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU;
ACBrNFCe.DistribuicaoDFePorUltNSU(51, cds.FieldByName('cnpj').AsString, sUltimoNSU);

Link para o comentário
Compartilhar em outros sites

  • Moderadores
44 minutos atrás, MERCIO MEDINA GOMES disse:

Obrigado pela dica mas eu caí de paraquedas nesta implementação e não conheço a legislação. O problema é q o cliente precisa urgente baixar XMLs que foram gravados zerados no ambiente dele e se recusa a ir no site da secretaria porque o volume é alto e de um único dia.

O método DistribuicaoDFe não retorna as notas emitidas, nem mesmo NFe. Ele serve para listar e baixar as NFe, CTe e MDFe de interesse do autor, seja por ele ser o destinatário da nota, transportador, terceiro listado na tag <autXML> e outros papeis, no caso do CTe, do documento.

Se houve a perda do XML no momento do envio, a única coisa que você pode fazer, usando o ACBr é:

1-Alimentar o componente com os dados da venda, lembrando de informar exatamente os mesmos dados, inclusive o campo cNF (Código Numérico) da nota.

2-Executar o método ACBrNFe1.NotasFiscais.GerarNFe para gerar novamente o XML.

3-Executar o método ACBrNFe1.Consultar para obter e atualizar o XML com o protocolo de autorização.

Qualquer informação diferente no XML pode gerar a rejeição "Digest Value do documento não confere" o que quer dizer que o XML não tem os mesmos dados do XML autorizado.

 

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2463 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...
The popup will be closed in 10 segundos...