Ir para conteúdo
  • Cadastre-se

dev botao

Web Service De Distribuição De Documentos Fiscais Eletrônicos


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

Recommended Posts

Só tirando duvidas:
 
Pergunta 1:
No antigo era assim: "for i := 0 to ACBrNFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Count -1 do"
 
No Novo fica assim: "for i := 0 to ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do"
 
Pergunta 2:
"if ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe <> '' then"
 
Aqui o chNFe retorna vazio, pois ainda não estamos descompactando o zip ou já estamos ? 
 
Grato.
Link para o comentário
Compartilhar em outros sites

shdw,

 

depende... se vc esta com os fontes do SVN não descompacta não.

 

Agora se pegou um dos fontes aqui to forum, que estamos tentando descompactar, sim, nesse caso ja estaria com o arquivo descompactado.

 

Tem soluções ai do Italo, do Gustavo, Lesf... Procura no forum senao me engano tem nas paginas, 7, 11 e 12 arquivos anexados com soluções.

 

Darlana

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

 

Estou em contato com os Administradores do Fórum para enviar para o SVN os fontes que contemplam a descompactação dos resumos e XML completo da NF-e.

 

Acredito que até o final desta semana já vai estar disponível.

  • 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

docZip.Items.resNFe.cSitNFe {snAutorizado,  snDenegado,  snCancelada }

 

Prezada Darlana,

Analisando a NT, com base no que eu vi na página 10, sob o item 2.10.1 "Leiaute Resumo da NF-e" (NT 2014/002 versão 1.01 ago/2014), cheguei à conclusão de que a tag cSitNFe não receberá mais a situação cancelada.

Isso ficará agora apenas por conta do evento.

Será que eu estou equivocado?

 

O que vocês acham?

Link para o comentário
Compartilhar em outros sites

Pessoal, quanto mais aprendo sobre automação comercial, mais intrigado eu fico.

 

Desabafos à parte, hoje eu eu recebi consumo indevido fazendo tudo certinho, só depois de várias iterações fazendo consulta e não foi a primeira vez.

Ao analisar os arquivos, vi que eu recebi o lote que eu esperava ANTES de consultá-lo. Então quando consultei, o WS entendeu que esse não era o último NSU (por que de alguma forma eu recebi sem consultar) e então me bloqueou.

Já é a terceira vez que isso acontece.

Será que eu tenho que dar algum tipo de sleep entre as consultas? O tempo de descompactar as informações do lote e passar para o banco de dados não é suficiente para fazer outra consulta?

 

Os arquivos estão em anexo, reparem bem na data e horário que estão no nome do arquivo.

 

 

 

Me ocorreu também que o mesmo pode estar acontecendo com o colega Douglas, que também parece estar fazendo tudo certo.

 

 

Estou executando as consultas no ambiente de produção, e em varios casos estou recebendo o retorno de Consumo Indevido. Porém, eu não estou repetindo a consulta informando o mesmo NSU.

 

Consumo indevido.rar

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia guilherme,

 

Exatamente, inicialmente o destinatário recebe o resumo da NF-e e caso esta NF-e possua eventos vinculados a ela, como por exemplo cancelamento Carta de Correção e até a emissão de CT-e e MDF-e (quando a carga vai ser transportada por uma transportadora) essa informação será apresentada ao destinatário através de um resumo de evento.

  • 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

  • Membros Pro

Pessoal, quanto mais aprendo sobre automação comercial, mais intrigado eu fico.

 

Desabafos à parte, hoje eu eu recebi consumo indevido fazendo tudo certinho, só depois de várias iterações fazendo consulta e não foi a primeira vez.

Ao analisar os arquivos, vi que eu recebi o lote que eu esperava ANTES de consultá-lo. Então quando consultei, o WS entendeu que esse não era o último NSU (por que de alguma forma eu recebi sem consultar) e então me bloqueou.

Já é a terceira vez que isso acontece.

Será que eu tenho que dar algum tipo de sleep entre as consultas? O tempo de descompactar as informações do lote e passar para o banco de dados não é suficiente para fazer outra consulta?

 

Os arquivos estão em anexo, reparem bem na data e horário que estão no nome do arquivo.

 

 

 

Me ocorreu também que o mesmo pode estar acontecendo com o colega Douglas, que também parece estar fazendo tudo certo.

é exatamente isto que está acontecendo comigo. FAzendo o loop certo, de repente vem o consumo indevido. Porém, eu não notei se eu recebi o lote seguinte conforme tu comentou. vou verificar isso e te respondo.  Mas é bem estranho.

 

Quanto ao seu post anterior, você está certo. No layout consta que a nota vira como Autorizada ou Denegada. Me parece que o cancelamento virá com um outro NSU, como um evento...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Guilherme,

 

é isso mesmo, Italo ja ate confirmou para você.

 

 

Agora, Pessoal,

 

Vai justificar o DFe retornar notas canceladas?

Não fiz tratamento nenhum disso? É necessário manifestar nota cancelada?

Estranho isso, pois o emissor pode ter cancelado a nota por inumeros fatores, o qual o destinatário não tem porque tomar ciencia disso, desconhecer e muito menos confirmar o cancelamento.

 

Aguardo.

 

Darlana Nogueira

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Guilherme,

 

é isso mesmo, Italo ja ate confirmou para você.

 

 

Agora, Pessoal,

 

Vai justificar o DFe retornar notas canceladas?

Não fiz tratamento nenhum disso? É necessário manifestar nota cancelada?

Estranho isso, pois o emissor pode ter cancelado a nota por inumeros fatores, o qual o destinatário não tem porque tomar ciencia disso, desconhecer e muito menos confirmar o cancelamento.

 

Aguardo.

 

Darlana Nogueira

Pelo que sei manifestação só em cima de NFe. 

Inclusive se tiver manifestado com Confirmação de Operação, o cliente não consegue cancelar a nota.

Link para o comentário
Compartilhar em outros sites

Pagina 7 do Manual v1.01:

 

A empresa deverá aguardar um tempo mínimo de uma hora para efetuar uma nova solicitação de
distribuição caso receba a indicação que não existem mais documentos a serem pesquisados na
base de dados do Ambiente Nacional. Se o NSU informado (tag:ultNSU) for igual ao maior NSU do
Ambiente Nacional (tag:maxNSU), então não existem mais documentos a serem pesquisados no
momento.

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde!

 

Com o ConsultaNFeDest, para eu saber se eu devia buscar mais NSUS, eu trabalhava dentro do seguinte laço:

 

     While (AcbrNFe.WebServices.ConsNFeDest.retConsNFeDest.indCont = icPossuiMaisDocumentos) do

     begin

          ...

     end;

 

Com o DistribuicaoDFe o laço que devo fazer é o seguinte?

 

     While (AcbrNFe.WebServices.DistribuicaoDFE.RetDistDFeInt.ultNSU <  AcbrNFe.WebServices.DistribuicaoDFE.RetDistDFeInt.MaxNsu) do

     begin

          ...

     end;

 
 
Grato!
Link para o comentário
Compartilhar em outros sites

  • Consultores

Thiago,

 

você terá a cSitNFe

 

docZip.Items.resNFe.cSitNFe {snAutorizado,  snDenegado,  snCancelada }

 

e,

 

docZip.Items.resEvento.tpEvento {

                  teCCe, teCancelamento, teManifDestConfirmacao, teManifDestCiencia,

                  teManifDestDesconhecimento, teManifDestOperNaoRealizada,

                  teEncerramento, teEPEC, teInclusaoCondutor, teMultiModal,

                  teRegistroPassagem, teRegistroPassagemBRId, teEPECNFe);

                  }

 

Ou seja, trabalhar de forma um pouco diferente.

 

Espero que ajude.

 

Darlana

 

Darlananogueira, tentei fazer o que voce sugeriu utilizar o TpEventoToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resEvento.tpEvento) só esta retornando o teCCe para todas as notas.

 

existe outra forma de verificar a situação do manifesto da nota, ou estou interpretando de forma errada a utilização deste evento?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Darlana,

 

No meu entendimento, não se faz necessário o destinatário realizar a manifestação de uma NF-e que foi cancelada, como você mesmo disse, o cancelamento pode ter ocorrido por diversos motivos.

 

Se esta dentro do prazo posso cancelar uma nota cuja quantidade do produto foi informado errado.

Neste caso não cabe uma CC-e, sendo assim devemos cancelar a nota e emitir uma nota com as informações corretas.

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

Blz Italo,

 

concordo contigo.

Mais uma vez obrigado.

 

Victor,

 

Percebi isso aqui, então comparo também se a chave esta preenchida. Não cheguei a depurar o componente, mas creio que seja ele que esta retornando padrão o teCCe

 

if (docZip.Items.resEvento.tpEvento = teCCe) and (docZip.Items.resEvento.chNFe <> '') then
    sNFE := 'CC-E';

Link para o comentário
Compartilhar em outros sites

Hoje eu eu recebi consumo indevido fazendo tudo certinho, só depois de várias iterações fazendo consulta e não foi a primeira vez.

Ao analisar os arquivos, vi que eu recebi o lote que eu esperava ANTES de consultá-lo. Então quando consultei, o WS entendeu que esse não era o último NSU (por que de alguma forma eu recebi sem consultar) e então me bloqueou.

Já é a terceira vez que isso acontece.

 

Pessoal, aconteceu novamente e, dessa vez, sem atropelamentos.

Estava tudo indo muito bem.

 

08:40:09 => UltNSU = 7150

08:40:09 Pesquisa: 7150

08:40:16 => UltNSU = 7200

08:40:17 Pesquisa: 7200

08:40:18 Rejeicao: Consumo Indevido (Deve ser utilizado o ultNSU nas solicitacoes subsequentes. Tente apos 1 hora)

 

Esses são os horários do nome do arquivo. No xml os horários são diferentes, mas não servem para comparação porque a consulta não tem tag com horário.

 

Contra minha vontade vou adicionar um sleep à iteração. Não vi essa recomendação nem na NT nem no manual do componente, o que torna essa solução ainda mais incômoda.

 

Se perceberem que estou fazendo alguma coisa errado, por favor, me avisem.

Consumo indevido.rar

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Guilherme,

 

Você chegou a verificar o valor retornado e cStat?

 

Lembre-se que devemos ler esse valor para saber se vamos realizar uma nova consulta ou não.

 

Se ele for 137, devemos interromper as consultas e aguardar 1 hora.

 

Veja item 2.5 da página 7 da NT.

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

Bom dia Ítalo,

 

Primeiramente, muito obrigado pela sua disposição.

Respondendo: a nota diz que o retorno será 137 quando não houver documentos a serem pesquisados, e em seguida diz que não haverá documentos a serem pequisados quando UltNSU = MaxNSU, logo, o retorno será 137 quando UltNSU = MaxNSU. Por essa razão a lógica da minha aplicação é verificar se UltNSU = MaxNSU antes de fazer uma nova pesquisa.

Por via das dúvidas e para desencargo de consciência, verifiquei todos os arquivos de retorno e confirmei que em todos constam 138 em cStat, inclusive no retorno que recebo imediatamente antes de fazer a consulta que retorna consumo indevido.

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

Ítalo era bem o que eu ia postar, aqui estou verificando o cStat e quando é 137 eu paro a rotina de consulta, e exibo uma mensagem para o usuário dizendo que "Não existem mais notas, por favor realize uma nova consulta em uma hora."

 

Pra mim solucionou o problema de consumo indevido.

 

Espero que te ajude

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia! 

Depois de muita briga e graças à ajuda dos colegas aqui, consegui baixar zlib, fontes alterados, ...

Consigo buscar as notas destinadas e manifestar já (a principio a manifestação em si não mudou correto?)

 

Minha única dúvida pendente é baixar o xml...

NFeDownloadNF  passando a chave como parametro ainda está me retornando o XML zipado aparentemente...

Este webservice tambem será descontinuado? Devo usar o nfedistr... para baixar o xml passando o NSU como parametro ao inves de usar este?

Grato,

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia Ítalo,

 

Primeiramente, muito obrigado pela sua disposição.

Respondendo: a nota diz que o retorno será 137 quando não houver documentos a serem pesquisados, e em seguida diz que não haverá documentos a serem pequisados quando UltNSU = MaxNSU, logo, o retorno será 137 quando UltNSU = MaxNSU. Por essa razão a lógica da minha aplicação é verificar se UltNSU = MaxNSU antes de fazer uma nova pesquisa.

Por via das dúvidas e para desencargo de consciência, verifiquei todos os arquivos de retorno e confirmei que em todos constam 138 em cStat, inclusive no retorno que recebo imediatamente antes de fazer a consulta que retorna consumo indevido.

 

Será que as consultas realizadas para o antigo serviço (ConsultaNFDest) não estão contando para a "conta" do Consumo excesivo do novo serviço DistribuicaoDFe? Eu acordei agora depois de muita briga durante a noite, e de cara levei um Consumo excesivo de bom dia. Porém,  eu tenho um serviço rodando nos serviço usando o método antigo também em base de produção.

Link para o comentário
Compartilhar em outros sites

Olá Daniel, a alteração proposta pelo Ítalo e que estamos aguardando ser liberada pelos administradores, está salvando os xmls que vem na tag <procNFe>, lembrando que só vem xmls de notas que já tiveram sua manifestação.

 

Se vc usar a chave para fazer o download pelo NFeDownloadNF, ele vai baixar normalmente, porém como o novo webservice também retorna os xmls de notas manifestadas é possível que o WS NFeDownloadNF deva ser descontinuado posteriormente, mas ainda não foi publicado nada referente a isso até onde sei.

 

Até

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

Bom dia! 

Depois de muita briga e graças à ajuda dos colegas aqui, consegui baixar zlib, fontes alterados, ...

Consigo buscar as notas destinadas e manifestar já (a principio a manifestação em si não mudou correto?)

 

Minha única dúvida pendente é baixar o xml...

NFeDownloadNF  passando a chave como parametro ainda está me retornando o XML zipado aparentemente...

Este webservice tambem será descontinuado? Devo usar o nfedistr... para baixar o xml passando o NSU como parametro ao inves de usar este?

Grato,

 

Primeiramente, não entendo por que o DownloadNFe está te retornando algo zipado. Eu consigo baixar o XML da nota normalmente, como sempre.

 

Quanto à sua outra pergunta, o fluxo exemplificado da NT, na página 11, item 8, diz:

"O destinatário consulta o WS NFeDistribuicaoDFe a partir do último NSU recebido e recupera a NF-e";

 

Não te garanto que isso esteja funcionando agora. Optei por continuar usando o DownloadNFE por garantia, por enquanto.

Mas minha conclusão é de que o novo WS é que será responsável por essa tarefa agora.

 

 

___

Não havia lido a resposta do Tiago Ravache antes. Desculpa.

Editado por guilherme_desordi
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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