Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá. Primeiramente gostaria de pedir desculpas caso o tópico esteja de alguma forma errado, tanto em teor como em localização.

Mesmo depois de pesquisar pelo fórum ainda não consegui entender o que pode estar causando o meu problema, por isso este novo tópico.

Minha dúvida é, como consigo fazer o download do XML com o DistribuicaoDFe?

Estou testando diretamente no exemplo do ACBr, para entender o funcionamento antes de passar para o meu sistema, mas esbarro sempre no mesmo problema, uso o método ACBrNFe1.EventoNFe.Evento.New passando os parâmetros necessários conforme mostra no exemplo, sendo que em infEvento.tpEvento está sendo passado teManifDestConfirmacao.

A parte da Manifestação corre ok, recebo a mensagem de que tudo correu bem e que a mesma já está vinculada à NF. Mas depois disso que vem o problema, pelo exemplo mesmo eu uso os metódos ACBrNFe1.DistribuicaoDFePorChaveNFe ou ACBrNFe1.DistribuicaoDFe e ambos me retornam um XML apenas me dizendo que o Documento foi localizado.

Nesse ponto que sempre paro, já tentei fazer isso outras vezes e acabei desistindo, dessa vez preferi abrir esse tópico para tentar entender e resolver isso.

Detalhes que talvez sejam importantes: 

Estou emitindo a NFe em ambiente de testes (2) e também alterei o sistema de exemplo do ACBr para funcionar em Homologação.

XML que recebo como retorno:

<retDistDFeInt xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<tpAmb>2</tpAmb>

<verAplic>1.2.0</verAplic>

<cStat>138</cStat>

<xMotivo>Documento localizado</xMotivo>

<dhResp>2020-12-23T13:03:36-03:00</dhResp>


-<loteDistDFeInt>

<docZip schema="procNFe_v4.00.xsd" NSU="000000000000048">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</docZip>

</loteDistDFeInt>

</retDistDFeInt>

Espero que possam me ajudar e desde já agradeço!

  • Moderadores
  • Solution
Postado

Não entendi a dúvida, parece tudo correto.

O cStat 138 indica que houve documento encontrado com o NSU ou chave da NFe informadas.

No caso houve retorno de uma nota na tag docZip, pelo schema é o XML completo da nota, com NSU 48.

O conteúdo do XML vem compactado e em base64 mas o componente já faz a extração.

Exemplo de código:

      NFE.DistribuicaoDFePorChaveNFe(UFtoCUF(UF), CNPJCPF, ChaveNFe);
      if (NFE.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138) and
        (NFE.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[0].schema = schprocNFe) then
      begin
        GravarXMLNoBD(ChaveNFe, NFE.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[0].XML);
        Inc(qtdDownload);
      end

 

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

Projeto ACBr

 

 

Postado

Obrigado pela resposta BigWings.

Era exatamente ai que estava me perdendo, não conhecia esse procedimento da nota sendo enviada compactada. Nem mesmo que o componente já faria essa extração. 

Minha dúvida agora fica para o "GravarXMLNoBD" eu passo a chave da nota e o valor do arquivo zipado. Depois disso ele me retorna diretamente o XML?

Explico, preciso do XML no formato padrão para o meu sistema poder fazer leitura dele na entrada via XML. Como consigo o XML no formato padrão?

Postado

Segui mexendo e entendi que os dados estão todos no *ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[0].XML*.

Com isso usei um TStringList para criar o arquivo .XML a partir da função "SaveToFile" do próprio TStringList.

Pra mim está tudo resolvido, muito obrigado!

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