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á 3582 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde,

 

quando retorna evento de registro de CTe o componente não esta identificando o tipo do evento (610600) pois o mesmo não existe na unit pcnConversao, segue em anexo a unit alterado, se algum adm puder adicionar ao SVN ficaria grato.

<resEvento xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<cOrgao>91</cOrgao>
<CNPJ>33683111000107</CNPJ>
<chNFe>41141009610964000126550010000972021241634621</chNFe>
<dhEvento>2015-01-28T15:39:49-02:00</dhEvento>
<tpEvento>610600</tpEvento>
<nSeqEvento>1</nSeqEvento>
<xEvento>Registro de Autorização de CT-e para a NF-e</xEvento>
<dhRecbto>2015-01-28T15:39:49-02:00</dhRecbto>
<nProt>891150000170984</nProt>
</resEvento>

pcnConversao.pas

  • Consultores
Postado

Bom dia a todos,

 

Já encontra-se disponível a descompactação do retorno zipado ao consultar as notas usando o Web Services NFeDistribuicaoDFe.

 

Favor atualizar os fontes.

 

Antes de testar deve-se incluir o caminho abaixo no Library Path do Delphi.

 

...\Fontes\ZLibExGZ

 

Atenção esse caminho tem que ficar antes do:

 

...\Fontes\PCN2

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

Postado (editado)
for i := 0 to ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do
      begin
        if ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resNFe.chNFe <> '' then

O meu "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count" retorna 50.

 

Mas o meu "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe" fica sempre vazio.

 

Estou pegando as notas de maneira errada ?

 

Ok, consegui com "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.resNFe.chNFe <> ''".

 

Agora pego as Notas como antes, mas agora vem tambem eventos.

Notei que o que vem como "resEvento" não esta sendo carregado.

 

XML:

('000000000000075', 'procEventoNFe_v1.00.xsd', '<procEventoNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"><evento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe"><infEvento Id="

 

 

O Correto não seria pegar a tag <procEventoNFe> ao inves de <resEvento>  ? 

 

Editado por shdw
Postado

for i := 0 to ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do
      begin
        if ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resNFe.chNFe <> '' then
O meu "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count" retorna 50.

 

Mas o meu "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe" fica sempre vazio.

 

Estou pegando as notas de maneira errada ?

Voce decodificou e descompactou o conteúdo retornado antes de fazer essa verificação?

  • Membros Pro
Postado (editado)

Sim, já estou atualizado com a nova versão do SVN, que já faz a descompactação.

o docZip.Items[x].resNFe.chNFe só vai ter conteúdo se for um nsu de resumo de nfe. se for um evento você precisa ver o docZip.Items[x].resEvento.chNFe.

Editado por douglaswf
Postado

Boa tarde pessoal,

 

Alguém já conseguiu receber o retorno de eventos de MDF-e no serviço de Distribuição?

Estava fazendo testes com homologação e somente consegui obter somente o retorno de eventos de CT-e. Com MDF-e não obtive êxito de jeito algum.

 

Os testes que fiz foram basicamente estes:

- emiti uma NF-e com CNPJ "X"

- emiti um CT-e referenciando esta nota do primeiro teste

- ao consultar a distribuição de documentos para o CNPJ "X", obtive o evento de CT-e

 

- emiti uma NF-e com CNPJ "Y"

- emiti um MDF-e referenciando esta nota do primeiro teste

- ao consultar a distribuição de documentos para o CNPJ "X", não obtive o evento de MDF-e, nem mesmo após encerrar ou cancelar o mesmo (fiz diversos testes com MDF-es distintos)

 

Alguém já conseguiu retornar estes eventos? Desde já agradeço a ajuda.

 

Att,

Fábio Wagner

Postado (editado)

o docZip.Items[x].resNFe.chNFe só vai ter conteúdo se for um nsu de resumo de nfe. se for um evento você precisa ver o docZip.Items[x].resEvento.chNFe.

Isso mesmo, e ainda tem a chance de não ser nenhum dos dois, então teste vários.

Depure e teste a sua descompactação. Veja se ao ler o xml ele passa o valor correto, a resposta vai praticamente resolver o problema.

Editado por guilherme_desordi
Postado

o docZip.Items[x].resNFe.chNFe só vai ter conteúdo se for um nsu de resumo de nfe. se for um evento você precisa ver o docZip.Items[x].resEvento.chNFe.

 

Foi isso que eu fiz:

"ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.resEvento.chNFe"

 

Mas ele não pega os eventos.

Se eu olhar em "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip" o evento existe.

  • Membros Pro
Postado (editado)

for i := 0 to ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do
      begin
        if ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resNFe.chNFe <> '' then

O meu "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count" retorna 50.

 

Mas o meu "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe" fica sempre vazio.

 

Estou pegando as notas de maneira errada ?

 

Ok, consegui com "ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.resNFe.chNFe <> ''".

 

Agora pego as Notas como antes, mas agora vem tambem eventos.

Notei que o que vem como "resEvento" não esta sendo carregado.

 

XML:

 

O Correto não seria pegar a tag <procEventoNFe> ao inves de <resEvento>  ? 

 

 

O procevento ainda nao está tratado no PCN. Abra o pcnRetDistDFeInt.pas e note que só tem tratamento para resNFe, refEvento e nfeProc.

 

Eu fiz um "mini" tratamento para trazer o procEvento. Eu não uso ele pra nada, mas estou armazenamento pra nao furar a movimentação da tabela na sequencia de NSU.  (em anexo o arquivo caso queira testar - linhas 412 à 427). pretendo manter assim até o tratamento ser criado.

pcnRetDistDFeInt.pas

Editado por douglaswf
Postado

Caramba, então foi muita concidencia, não ter nenhum refEvento nas minhas consultas.

Então fica assim:

 

resNFe -> Resumo da NF-e a ser Manifestada

refEvento -> Eventos de que Notas ? 

nfeProc -> ???

procEventoNFe -> Eventos manifestados nas Notas que "EU" emiti

Postado

Caramba, então foi muita concidencia, não ter nenhum refEvento nas minhas consultas.

Então fica assim:

 

resNFe -> Resumo da NF-e a ser Manifestada

refEvento -> Eventos de que Notas ? 

nfeProc -> ???

procEventoNFe -> Eventos manifestados nas Notas que "EU" emiti

 

nfeProc é NF-e que você já manifestou.

  • Membros Pro
Postado

Caramba, então foi muita concidencia, não ter nenhum refEvento nas minhas consultas.

Então fica assim:

 

resNFe -> Resumo da NF-e a ser Manifestada

refEvento -> Eventos de que Notas ? 

nfeProc -> ???

procEventoNFe -> Eventos manifestados nas Notas que "EU" emiti

 

nfeproc é o xml das nfes. após vc se manifestar, vc vai receber ele sem ter que pedir o download. prontinho pr armazenar

  • Membros Pro
Postado

Amigos, bom dia!

 

Eu notei que não tenho nenhum evento de cancelamento de NFes emitidas contra mim. Embora tenha várias notas canceladas, não recebi os cancelamentos.

 

Verifiquei pra ver se não falta nenhum NSU, e tenho todos. Dentro dos XMLs só tenho resumos de NFe e eventos de cancelamento de CTe.

 

Segundo a nota técnica, eu deveria receber esse cancelamento, não deveria? (2.11 - visão geral do modelo de distribuição  (passo 9 - Emitente gera um evento (cancelamento ou CCe e isso força o Passo 10 -  Ambiente Nacional gera um NSU para o destinatário)))

 

Alguém consegue receber esses eventos?

Postado

Bom dia,

 

 

Fiz uma alteração no pcnRetDistDFeInt.pas incluindo uma checagem após a linha 394, porque quando a NFe é da versão 2.00 o parâmetro resNFe.FdhEmi esta ficando zerado.

 

Linha 394

          FdocZip.Items.FresNFe.FdhEmi    := oLeitorInfZip.rCampo(tcDatHor, 'dhEmi');
          
Incluir esse IF logo após a leitura da tag 'dhEmi:
          // Se for Versão 2.00 a data de emissão está na tag dEmi
          if FdocZip.Items.FresNFe.FdhEmi = 0 then
            FdocZip.Items.FresNFe.FdhEmi    := oLeitorInfZip.rCampo(tcDat, 'dEmi');
Postado

Pessoal bom dia!

 

Vi que algumas pessoas tiveram problemas com o 656 - consumo indevido no NFeDistribuicaoDFe e tivemos muitos comentários por aqui, vcs tem alguma conclusão sobre qual seria uma possível causa real do problema? De acordo com o trecho de xml abaixo eu teria ainda muitas  consultas pela frente até atingir o máximo, porém normalmente antes de atingir metade recebo o 656, estou passando corretamente o ultNSU na próxima consulta e apenas e não estou mais utilizando o NfeConsultaDest.

 

<tpAmb>1</tpAmb>
<verAplic>1.0.0</verAplic>
<cStat>138</cStat>
<xMotivo>Documento localizado</xMotivo>
<dhResp>2015-02-01T00:02:24</dhResp>
<ultNSU>000000000000834</ultNSU>
<maxNSU>000000000002247</maxNSU>

 

Os lotes vem corretamente de 50 em 50 documentos mas em algum momento eu recebo o 656, já tratei o código para fazer a próxima pesquisa dali há uma hora do ocorrido com o ultNSU retornado, mas não faz sentido receber este cStat no meu ponto de vista ... Se alguém teve passou por isso e teve alguma luz e puder compartilhar eu agradeço!

 

Muito Obrigado

  • Curtir 1
  • Membros Pro
Postado (editado)

Pessoal bom dia!

 

Vi que algumas pessoas tiveram problemas com o 656 - consumo indevido no NFeDistribuicaoDFe e tivemos muitos comentários por aqui, vcs tem alguma conclusão sobre qual seria uma possível causa real do problema? De acordo com o trecho de xml abaixo eu teria ainda muitas  consultas pela frente até atingir o máximo, porém normalmente antes de atingir metade recebo o 656, estou passando corretamente o ultNSU na próxima consulta e apenas e não estou mais utilizando o NfeConsultaDest.

 

<tpAmb>1</tpAmb>

<verAplic>1.0.0</verAplic>

<cStat>138</cStat>

<xMotivo>Documento localizado</xMotivo>

<dhResp>2015-02-01T00:02:24</dhResp>

<ultNSU>000000000000834</ultNSU>

<maxNSU>000000000002247</maxNSU>

 

Os lotes vem corretamente de 50 em 50 documentos mas em algum momento eu recebo o 656, já tratei o código para fazer a próxima pesquisa dali há uma hora do ocorrido com o ultNSU retornado, mas não faz sentido receber este cStat no meu ponto de vista ... Se alguém teve passou por isso e teve alguma luz e puder compartilhar eu agradeço!

 

Muito Obrigado

 

 

Cristiano, desde que parei de usar o serviço antigo (Consulta NFE Dest), não tive mais problemas. O código ficou como está. Eu trato se o ulNSU é igual ou maior que o MaxNSU e também teste se o retorno é 138.

 

A propósito, alguém  tem alguma notícia se WebService antigo foi desativado conforme previsto?

Editado por douglaswf
Postado

Na verdade, para mim o WS NOVO parou de funcionar!

Vejam o erro que estou recebendo ao Enviar Dados (anexo).. estou desconfiado que seja um erro meu, porque isso acontece na consulta do WS novo e ao fazer manifestação.

Fico confuso porque isso acontece no mesmo aplicativo que funcionava normalmente na sexta-feira.

Testei o Certificado e está OK.

Atualizei os fontes e recompilei e continua dando esse mesmo erro.

Acontece em homologação e em produção.

 

Não boto fé de que seja erro no WS, alguém tem alguma ideia do que possa ser? Parece que tem alguma configuração errada no componente, não sei.

post-25115-0-25588100-1422882285_thumb.p

  • Membros Pro
Postado

Na verdade, para mim o WS NOVO parou de funcionar!

Vejam o erro que estou recebendo ao Enviar Dados (anexo).. estou desconfiado que seja um erro meu, porque isso acontece na consulta do WS novo e ao fazer manifestação.

Fico confuso porque isso acontece no mesmo aplicativo que funcionava normalmente na sexta-feira.

Testei o Certificado e está OK.

Atualizei os fontes e recompilei e continua dando esse mesmo erro.

Acontece em homologação e em produção.

 

Não boto fé de que seja erro no WS, alguém tem alguma ideia do que possa ser? Parece que tem alguma configuração errada no componente, não sei.

 

Verifica o conteúdo do ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo

 

Lá deve ter a resposta do que aconteceu.

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