Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia a todos! 

Estava verificando o método de DistribuicaoDfe e está funcionando corretamente, mas fiquei com uma dúvida: é possível acessar a nota completa?

Eu verifiquei em outro tópico e vi essa reposta: 

"Em resNFe temos apenas um resumo da nota e neste resumo temos a data e hora de emissão da nota e para obter essa informação basta ler a propriedade dhEmi da seguinte forma:
dhEmissaoNFe :=  DistribuicaoDFe.retDistDFeInt.docZip.Items[ X ].resNFe.dhEmi;

Em nfeProc temos a nota completa inclusive com a assinatura e protocolo de autorização e para obter a data e hora de emissão basta ler a propriedade dhEmi da seguinte forma:
dhEmissaoNFe :=  DistribuicaoDFe.retDistDFeInt.docZip.Items[ X ].resNFe.dhEmi;"

Me corrijam se estiver errada, mas pelo que entendi eu estou acessando apenas o resumo nesse segundo método?

 

Enfim, obrigada pela ajuda!  

  • Consultores
Postado

Natalia,

Procure ter em mãos a Nota Técnica 2014/002 versão 1.01 que trata sobre a Distribuição de DF-e, vai lhe ajudar muito.

Não sei de onde você extraiu aquelas informações, mas o segundo esta errado.

Par obter o XML completo da nota temos que ler a propriedade:

sXML :=  DistribuicaoDFe.retDistDFeInt.docZip.Items[ X ].XML;

Se tratando do destinatário da mercadoria para obter o XML completo é preciso seguir os seguintes passos:

1. Executar o método DistribuicaoDFe para obter a lista de resumos de notas emitidas contra o CNPJ do destinatário.

2. Realizar a manifestação de cada uma das notas (vide Nota Técnica 2012/002 versão 1.02)

3. Executar novamente o método DistribuicaoDFe para obter uma nota lista onde poderá conter novos resumos e notas completas.

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

  • 2 meses depois ...
Postado

Italo só para eu entender, quando eu executo o método  DistribuicaoDFe e informo o ultimo NSU 0 (zero), e o ANSU em branco porque eu quero baixar todos os XML, isso já baixa o XML em uma pasta especifica ou eu tenho que salvar XML um por um manualmente?

Para eu fazer o procedimento acima eu tenho que manifestar todos os XML, seu eu já tenho todos eles manifestado eu posso usar o método DistribuicaoDFe para baixar mais de uma vez todos os XML?

Cada lugar do fórum eu vejo alguém falando de uma forma de como baixar o xml ou em partes, não consigo ver com clareza e completa de como baixar os XML utilizando o ACBrNFe.

Eu não sei se o XML baixa automático ou eu tenho que pegar o XML de uma propriedade do componente e salvar manualmente o MXL.

Eu não sei quais opções do ACBrNFe precisa configurar para ele salvar os XML.

Teve uma hora que eu fiz um teste o métido DistribuicaoDFe e foi criado uma pasta chamada Down dentro da pasta do PathNFe que eu configurei no componente, e em outro momento eu usei o ACBrNFe1.ConsultaNFeDest( ) ai foi criado a mesma pasta Down só que na pasta de Envio e Respostas, os arquivos gerados na pasta Down tem o final como resNFe.xml somente com o resumo da NFe e não ela completa.

  • Consultores
Postado

Boa tarde Carlos,

O método DistribuicaoDFe a principio retorna um resumo da NF-e emitida contra o seu CNPJ.

Porque digo a principio, pois se você realizar a manifestação do destinatário as notas emitidas contra o seu CNPJ o DistribuicaoDFe vai retornar o XML completo.

O método ConsultaNFeDest só serve para retornar um resumo e nada mais.

Antes tínhamos trio ( ConsultaNFeDest, Manifestação do Destinatário e DownloadNFe) para obter o XML completo da NF-e.

A SEFAZ simplificou a coisa, uniu o ConsultaNFeDest e DownloadNFe no DistribuicaoDFe.

Resumindo:

Executando o DistribuicaoDFe pela primeira vez - Retorna os resumos das notas.

Executando o DistribuicaoDFe pela segunda vez - Retorna os XML completos das notas manifestadas nesse meio tempo e resumos de novas notas.

Se na primeira execução retornou 50 resumos e você realizou a manifestação sobre 30 dessas, ao executar o DistribuicaoDFe pela segunda vez teremos os 30 XML completos salvos automaticamente pelo componente se assim o componente estiver configurado: Configuracoes.Arquivos.Salvar := True.

  • Curtir 3
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

  • 4 semanas depois ...
  • Membros Pro
Postado

Bom dia Ítalo,

Caso eu queria manter a forma antiga de fazer o download apenas das notas que eu marcar:

Nesse caso, eu posso executar o DistribuicaoDFe dessa forma: ACBrNFe.DistribuicaoDFe(Cod_UF_IBGE(UF), CNPJ, '', NSUEspecifico)?

Informando apenas o NSU específico que ele trará o XML completo?

Obs: logicamente estou levando em consideração que já fiz a manifestação.

Postado (editado)

Efetuar o download depende da aplicação. Depois da manifestação de ciência o utilizador fica com essa possibilidade em aberto ao efetuar nova pesquisa do nsu (primeiro vem o resumo do documento e depois o mesmo completo), assim ele poderá dar prosseguimento ao processo.
Caso o mesmo ja possua o xml em seu poder, se foi enviado pelo emitente, então ele não precisa efetuar o download e passa ao passo seguinte (confirmar,cancelar ou desconhecer)

tudo isto para dizer que não é obrigado a fazer o download e sim, informando o nsu relativo ao xml completo podes efetuar o download do mesmo.
 

Editado por 3Soft Sistemas
  • Membros Pro
Postado

Boa tarde 3Soft Sistemas,

Eu venho tentando fazer esse teste a algum tempo mas sempre vem o retorno "Nenhum documento localizado".

ACBrNFe.DistribuicaoDFe(Cod_UF_IBGE(UF), CNPJ, '', NSUEspecifico) .

Vocês sabem informar quanto tempo após o manifesto o download pode ser realizado?

  • Membros Pro
Postado

Bom dia Pessoal,

Minha dificuldade é a seguinte: Como faço para realizar o download de apenas uma NF-e selecionada?

Atualmente estou procedendo da seguinte forma:

ACBrNFe.DistribuicaoDFe(UF, CNPJ, NSUEspecifico, NSUEspecifico);

também já tentei assim:

ACBrNFe.DistribuicaoDFe(UF, CNPJ, '', NSUEspecifico);

E sempre retorna a seguinte mensagem:

"Nenhum documento localizado"

Obs.: Lembrando que já realizei o manifesto antes.

Postado

Josenildo já aconteceu comigo aqui de logo após a manifestação, na próxima consulta ao DistribuicaoDFe o XML completo já vir, e tbm acontece de demorar, aí como disse o amigo acima melhor é perguntar diretamente a sefaz...

 

Sobre tua consulta vc faz o controle dos nsu's? ACBrNFe.DistribuicaoDFe(UF, CNPJ, '', NSUEspecifico);  esse cara é só pra quando tu sabe o nsu que está faltando na tua base nunca tentei usar esse : ACBrNFe.DistribuicaoDFe(UF, CNPJ, NSUEspecifico, NSUEspecifico);

No meu caso aqui uso: ACBrNFe.DistribuicaoDFe(UF, CNPJ, ultNSU, '');  e tenho uma rotina que permite o usuário procurar pelos nsu ausentes e pesquisar cada um deles(pelo que percebo é raro ser usada por que o webservice tem trabalhado mto bem quanto a distribuição)

  • Membros Pro
Postado

Beleza Thiago,

Eu consigo trabalhar fazendo a manifestação normal e o download, mas o que eu queria era poder fazer um segundo download com o NSU Específico já que guardo essa informação no meu banco de dados.

Pelo que entendi nos testes, a Sefaz só disponibiliza para download apenas uma vez, na segunda tentativa ela não retorna o XML completo e sim apenas um resumo, se eu estiver errado alguém me corrija.

Obrigado pelas informações.

Postado

Não observei se a sefaz disponibiliza o download apenas uma vez...consultando pelo nsu específico isso não tem muito sentido já que cada df-e tem seu nsu definido na base da sefaz, então vou ficar devendo se é realmente só um download ou não, creio que não mas não testei aqui em detalhe pra confirmar.

Bom dia!

Postado

Bom dia pessoal. Sou novato em termos de Distribuição DFe, e o problema é o seguinte. Queria saber se existe alguma forma para consultar todos os resumo dos DF-e emitidos contra um CNPJ. Sei que o webservice da SEFAZ retorna os dos últimos 3 meses (se não possuir o NSU) e de no máximo 50 xmls. Geralmente em 3 meses um único CNPJ de cliente possui mais de 3 mil DF-e emitidas para ele. Minha dúvida é de como recuperar esses resumos das DF-e de forma adequada para não fazer mal uso do serviço. Pensei em consultar do último NSU até o Max NSU, só que iria demorar uma eternidade até buscar todas as DF-e. Alguém tem uma sugestão?

Postado
17 horas atrás, Tiago Ravache disse:

É ssim que faço @Robson Sousa, não encontrei outra maneira e nesse caso dos 3k de documentos minha rotina tem funcionado em clientes com volume semelhante

Então vou fazer essa rotina para buscar todas as DF-e do cliente (em torno de 3k) e salvar no banco de dados para que na próxima vez não demore tanto, irei consultar do último NSU que eu salvei até o MAX NSU da SEFAZ. Na primeira vez que for rodar essa funcionalidade no cliente irá demorar mesmo :(

  • Curtir 1
Postado


Boa tarde, estou iniciando a pesquisa sobre como obter uma lista de notas emitidas contra um CNPJ.

Vi que o pessoal aqui recomenda a utilização do método DistribuicaoDfe.

A pergunta é, existe algum pré-requisito para esta chamada? pois não importa o que eu coloque nunca retorna documento algum...

Estou utilizando o projeto de exemplo do ACBR, ACBR_Nfe_demo do Trunk2.
Ao clicar no botão "Distribuição Documentos Fiscais"... => ACBrNFe1.DistribuicaoDFe(StrToInt(cUFAutor),CNPJ,ultNSU,ANSU);
tentei a chamada ...DistribuicaoDFe(41, 0, 0) ou NFe.DistribuicaoDFe(41, 1, 1) .. tanto faz não traz nada..
 
  <cStat>137</cStat>
  <xMotivo>Nenhum documento localizado</xMotivo>
  <dhResp>2016-06-10T15:12:15</dhResp>
  <ultNSU>000000000000051</ultNSU>
  <maxNSU>000000000007459</maxNSU>
 
 
Alguma dica para quem esta iniciando?
 
Abraço,
 
Sandro.
 

 

Postado
Consegui o retorno... Informando 0 ou 1 no ultimo dsu não trazia nada. Efetuei uns 30 testes e nada.
Tentei com numeros maiores > 5000 até que de repente trouxe.
 
 
Vai a dica para quem esta iniciando.
 
 
  <?xml version="1.0" encoding="UTF-8" ?>
  <tpAmb>1</tpAmb>
  <verAplic>1.1.7</verAplic>
  <cStat>138</cStat>
  <xMotivo>Documento localizado</xMotivo>
  <dhResp>2016-06-10T16:26:18</dhResp>
  <ultNSU>000000000006310</ultNSU>
  <maxNSU>000000000007462</maxNSU>
- <loteDistDFeInt>
  <docZip NSU="000000000006310" schema="resNFe_v1.00.xsd">H4sIAAAAAAAEAIWS226CQBCGX4VwLzvLcpKMm1DE1EbBKm28RVgFo0CAVh+/K9hGr5ps5pRv5p9MFhvRhjOhXM+nsnWvbTZR866rXUIul4t2YVrVHIgOQMl2udikuTgn6h9c/A+PirLtkjIVqvItmjapJirVAO4znvrrqumS075o0+SkFeVe2zWk3AuVY5rLFblBqQWMgs6YYYxBypjMNKWTIegOtcdUZ47FqGMzJEMP+uHqjT/3IOmLeA2rs+B+FMbROowUP1oGa38eKdNA8T7iSFkFvrdRFvHUQzKwOA/4GAyTmoZjmkhkilkenAuuA7VGwEbUiAHc/slUWiQDgF0dzjhF0nv8lkY3QbsBtxiz4vCZnPgmfpk36RG+Iu+1hm0myvx9LVbJ0VlO5KgBkpprke666lGWGi44Ln2QvTNYrpqq47Q/HxhgW3RsS2AoY7oputul5Gq/IZLhU/AfjoXCvx0CAAA=</docZip>
  </loteDistDFeInt>
  </retDistDFeInt>
Postado (editado)
1 hora atrás, Sandro Felipe Adad disse:


Boa tarde, estou iniciando a pesquisa sobre como obter uma lista de notas emitidas contra um CNPJ.

Vi que o pessoal aqui recomenda a utilização do método DistribuicaoDfe.

A pergunta é, existe algum pré-requisito para esta chamada? pois não importa o que eu coloque nunca retorna documento algum...

Estou utilizando o projeto de exemplo do ACBR, ACBR_Nfe_demo do Trunk2.
Ao clicar no botão "Distribuição Documentos Fiscais"... => ACBrNFe1.DistribuicaoDFe(StrToInt(cUFAutor),CNPJ,ultNSU,ANSU);
tentei a chamada ...DistribuicaoDFe(41, CNPJAQUI, 0, 0) ou NFe.DistribuicaoDFe(41, CNPJAQUI, 1, 1) .. tanto faz não traz nada..
 
  <cStat>137</cStat>
  <xMotivo>Nenhum documento localizado</xMotivo>
  <dhResp>2016-06-10T15:12:15</dhResp>
  <ultNSU>000000000000051</ultNSU>
  <maxNSU>000000000007459</maxNSU>
 
 
Alguma dica para quem esta iniciando?
 
Abraço,
 
Sandro.
 

 

Use ACBrNFe1.DistribuicaoDFe(CUF, CNPJ, '0', ''); na sua primeira consulta e vc obterá o retorno esperado não passe os dois ultimos parametros, faça ou um ou outro.

Editado por Tiago Ravache
erro de digitação
  • Este tópico foi criado há 1823 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...