Ir para conteúdo
  • Cadastre-se

dev botao

NFe Atualizar XML


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

Recommended Posts

Pessoal,

 

Verifiquei o seguinte problema (após alguns clientes reclamarem):

Algumas vezes o xml fica 'errado' (no Danfe aparece mar d'água avisando que a NFe não é válida) mesmo a NFe ter sido enviada, é bem raro acontecer, mas acontece - antes não tinha problema quando isso ocorria porquê eu clicava novamente na nota e pedia para consultar, a rotina automaticamente retornava o OK da consulta e já mudava o XML.

Depois da atualização isso não ocorre mais, imagino que seja um parâmetro mas não consegui encontrar, no DEMO tem um cbxAtualizarXML mas ele não é vinculado a nenhum parâmetro (pelo menos não consegui enxergar isso).

De antemão agradeço pela atenção.

 

Rogério

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Rogério,

Antes de executar o método Consultar você esta carregando o XML da NF-e?

Se sim, você poderia postar em anexo o arquivo: *-sit.xml ?

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

Oi Ítalo,

 

Boa tarde, obrigado por se dispor a me ajudar, o xml preciso pegar no cliente amanhã, mas abaixo segue a rotina do botão Consulta, como disse anteriormente não mexi em nada apenas atualizei.

 

procedure TFoGpl024_3.BiBtConsultarClick(Sender: TObject);
begin
   cds024_3.First;
   while not cds024_3.Eof do
   begin
      if not cds024_3GeraNFe.Value then
      begin
         cds024_3.Next;
         Continue;
      end;
      //
      if cds024_3NfeChave.Value = '' then
      begin
         ShowMessage('ATENÇÃO: Nota escolhida AINDA não foi enviada!');
         cds024_3.Next;
         Continue;
      end;
      //
      WcNomeNfe := PathWithDelim(ACBrNFe1.Configuracoes.Arquivos.PathSalvar) + cds024_3NfeChave.Value + '-nfe.xml';
      //
      ACBrNFe1.NotasFiscais.Clear;
      ACBrNFe1.NotasFiscais.LoadFromFile(WcNomeNFe);
      ACBrNFe1.Consultar;
      //
      ShowMessage(ACBrNFe1.WebServices.Consulta.Protocolo);
      //
      MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetWS);
      LoadXML(MemoResp, WBResposta);
      //
      cds024_3.Edit;
      cds024_3GeraNFe.Value := False;
      cds024_3.Post;
      //
      cds024_3.Next;
   end;
end;
 

 

Link para o comentário
Compartilhar em outros sites

Oi Ítalo,

 

Boa tarde, obrigado por se dispor a me ajudar, o xml preciso pegar no cliente amanhã, mas abaixo segue a rotina do botão Consulta, como disse anteriormente não mexi em nada apenas atualizei.

 

procedure TFoGpl024_3.BiBtConsultarClick(Sender: TObject);
begin
   cds024_3.First;
   while not cds024_3.Eof do
   begin
      if not cds024_3GeraNFe.Value then
      begin
         cds024_3.Next;
         Continue;
      end;
      //
      if cds024_3NfeChave.Value = '' then
      begin
         ShowMessage('ATENÇÃO: Nota escolhida AINDA não foi enviada!');
         cds024_3.Next;
         Continue;
      end;
      //
      WcNomeNfe := PathWithDelim(ACBrNFe1.Configuracoes.Arquivos.PathSalvar) + cds024_3NfeChave.Value + '-nfe.xml';
      //
      ACBrNFe1.NotasFiscais.Clear;
      ACBrNFe1.NotasFiscais.LoadFromFile(WcNomeNFe);
      ACBrNFe1.Consultar;
      //
      ShowMessage(ACBrNFe1.WebServices.Consulta.Protocolo);
      //
      MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetWS);
      LoadXML(MemoResp, WBResposta);
      //
      cds024_3.Edit;
      cds024_3GeraNFe.Value := False;
      cds024_3.Post;
      //
      cds024_3.Next;
   end;
end;
 

 

Talvez eu possa estar equivocado, mas, pelo menos aqui, quando vou imprimir eu coloco no Danfe o protocolo, independentemente de qualquer situação. 

Salvo melhor juízo, pode ser ser isso que esteja ocorrendo com você.

Att.

 

 

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

Eu faço assim

ACBrNFE1.NotasFiscais.Clear;
ACBrNFE1.NotasFiscais.LoadFromFile( Aqui você informa o xml salvo após envio );
ACBrNFE1.DANFE.ProtocoloNFe := ACBrNFE1.NotasFiscais.Items[0].NFe.procNFe.nProt + DateTimeToStr( ACBrNFE1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto);

Att.

 

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

Não.

O XML está atualizando tranquilamente, quando eu disse sobre o protocolo, eu quis mencionar que, ao receber o XML da SEFAZ, salvo no meu banco, tanto o XML quanto protocolo e recibo, dai quando vou imprimir informo isso para o DANFE.

No post anterior se você observar, vai ver que, o protocolo está saindo do próprio XML carregado, portanto, não há como este XML ir errado para o cliente. Existe um software da Microsoft denominado XML Notepad 2007, com este software você mesmo pode olhar o teu XML, vai estar sim com o protocolo e demais dados.

Att.

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

Boa Tarde Agnaldo, klimpvirtual e Italo, tudo bem?

Em alguns casos acontece isso para nós também, ou seja, xml autoriza, nfe encontra-se disponível para consulta e tudo certo, porém aparece a tarja de Nfe Não autorizada para...., temos a função de reprocessara a NFe, que também funciona direitinho, porem quanto tem algum evento posterior a autorização (Aceite do Cliente ou CCe) esta dando a seguinte mensagem: Autorizado o uso da NF-e: Autorizado o uso da NF-e135: Evento registrado e vinculado a NF-e135: Evento registrado e vinculado a NF-e.

 

Já presenciaram esta situação? Temos alguma orientação? 

Link para o comentário
Compartilhar em outros sites

Joel. boa noite.

O evento obrigatoriamente tem que estar relacionado/vinculado a uma NF-e, neste norte, eu até entendo o estado, não seria possível você enviar um evento sem que houvesse alguma situação tributária, você não concorda? Senão evento de que?

Por isso que a receita [Federal, Estadual] instituíram as notas fiscais eletrônicas. 

 

 

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

Tenho percebido isto agora na troca de servidores do RS.

Algumas vezes, a nota é salva sem o protocolo, mesmo sendo autorizada.

Então, consulto a nota e o xml é corrigido.

Pergunto apenas o que mudou? Os servidores? A forma de envio? O que posso mudar na minha rotina de envio de nfe, que é sempre por lote.

 

Link para o comentário
Compartilhar em outros sites

bom dia,

 

Já tive o mesmo problema de uma nf-e enviada não ter os recibos e protocolos, então acabamos aqui na empresa criando uma rotina para consultar a nota novamente.

 

Carrega_NFE; // Aqui faço o mesmo código de alimentação do componente que o de envio para a nota  

ACBrNFe1.NotasFiscais.GerarNFe;

  ACBrNFe1.NotasFiscais.Assinar;
  ACBrNFe1.NotasFiscais.Validar;
  ACBrNFe1.Consultar;
  if ACBrNFe1.WebServices.Consulta.cStat = 100 then
    begin
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.tpAmb    := ACBrNFe1.WebServices.Consulta.TpAmb; // cdsNFe.FieldByName('AMBIENTE').AsString;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe    :=  ACBrNFe1.WebServices.Consulta.NFeChave;//A chave de acesso que já foi enviada
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto :=  ACBrNFe1.WebServices.Consulta.DhRecbto;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt    :=  ACBrNFe1.WebServices.Consulta.Protocolo;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.digVal   := ''; //ACBrNFe1.WebServices.Consulta.TpAmb;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat    :=  ACBrNFe1.WebServices.Consulta.cStat;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.xMotivo  :=  ACBrNFe1.WebServices.Consulta.XMotivo;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.verAplic :=  ACBrNFe1.WebServices.Consulta.verAplic;
     

     // Aqui caso não tenha recebido os protocolos, tu podes colocar o codigo para salvar na base de dados os recibos e protocolos
      ACBrNFe1.NotasFiscais.ImprimirPDF;
    end
  else
    ShowMessage('Nota Fiscal não enviada para o SEFAZ!');

 

 

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

Oi Pessoal,

 

Obrigado pela tentativa de me ajudar, Rafael eu faço algo bem parecido com você também nas vezes (muito raro) de a NFe ser enviada e aceita e o sistema não conseguir gravar no banco (Firebird) os dados do protocolo, etc... MAS meu problema é no xml... a nota foi, no banco está tudo tudo gravado certinho, o pdf foi gravado corretamente MAS o xml ficou errado, quando imprime sai com a marca d'água, ANTES de atualizar era só pedir uma CONSULTA que o xml se arrumava sozinho, mas agora isso não ocorre mais... Em anexo segue os xmls (O ìtalo havia solicitado).

 

35151055560239000108550010000002131000002138-nfe.xml

35151055560239000108550010000002141000002143-nfe.xml

Link para o comentário
Compartilhar em outros sites

Pessoal, 

 

Consegui pegar agora no cliente uma NFe que está com o problema que relatei acima, uma coisa que me chamou a atenção é que na rotina da consulta a data do xml aparece atualizada para o momento da consulta, então ele continua a atualizar o xml (eu pensava inicialmente que não) MAS na hora de imprimir o xml continua errado, não sai a marca d'água, sendo que na consulta é apresentado a mensagem que de a NFe foi aceita.

Em anexo segue todos os xml relacionados com essa Nfe.

Reparem que no PDF (que foi gerado em 09/10) a NFe sai correta, mas qualquer motivo desconhecido o xml foi gravado com problema.

Antes dessa versão quando isso acontecia eu apenas clicava no botão para consultar novamente a NFe e o ACBR automaticamente atualizava o xml e ficava em ordem a NFe para impressão.

 

De antemão agradeço a atenção.

 

Rogério

 

35151004645433000155550010000017461000017466-nfe.pdf

35151004645433000155550010000017461000017466-nfe.xml

35151004645433000155550010000017461000017466-ped-sit.xml

35151004645433000155550010000017461000017466-ped-sit-soap.xml

35151004645433000155550010000017461000017466-sit.xml

35151004645433000155550010000017461000017466-sit-soap.xml

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Aqui, já consegui acertar. 

Antes no trunk1, eu enviava acbrnfe1.enviar(lote) - enviava e salvava o xml com os dados da autorização.

No trunk2, envia e imprimia, mas não salvava o xml com os dados da autorização. Depois de quebrar a cabeça

e estudando o componte, percebi que tinha que setar: AcbrNfe1.Configuracoes.Arquivos.Salvar:=true;

E beleza, está atualizando meus xml como antigamente.

Mas foi um parto, pois sempre funcionou do jeito anterior, somente percebi após clientes reclamarem 

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

  • 11 meses depois ...
Em 13/10/2015 at 08:49, Rafael Müler disse:

bom dia,

 

Já tive o mesmo problema de uma nf-e enviada não ter os recibos e protocolos, então acabamos aqui na empresa criando uma rotina para consultar a nota novamente.

 

Carrega_NFE; // Aqui faço o mesmo código de alimentação do componente que o de envio para a nota  

ACBrNFe1.NotasFiscais.GerarNFe;

  ACBrNFe1.NotasFiscais.Assinar;
  ACBrNFe1.NotasFiscais.Validar;
  ACBrNFe1.Consultar;
  if ACBrNFe1.WebServices.Consulta.cStat = 100 then
    begin
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.tpAmb    := ACBrNFe1.WebServices.Consulta.TpAmb; // cdsNFe.FieldByName('AMBIENTE').AsString;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe    :=  ACBrNFe1.WebServices.Consulta.NFeChave;//A chave de acesso que já foi enviada
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto :=  ACBrNFe1.WebServices.Consulta.DhRecbto;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt    :=  ACBrNFe1.WebServices.Consulta.Protocolo;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.digVal   := ''; //ACBrNFe1.WebServices.Consulta.TpAmb;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat    :=  ACBrNFe1.WebServices.Consulta.cStat;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.xMotivo  :=  ACBrNFe1.WebServices.Consulta.XMotivo;
      ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.verAplic :=  ACBrNFe1.WebServices.Consulta.verAplic;
     

     // Aqui caso não tenha recebido os protocolos, tu podes colocar o codigo para salvar na base de dados os recibos e protocolos
      ACBrNFe1.NotasFiscais.ImprimirPDF;
    end
  else
    ShowMessage('Nota Fiscal não enviada para o SEFAZ!');

 

 

Isso matou meu problema heheheh

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

  • 1 ano depois...
  • Consultores

Bom dia Leonardo,

O Recupera XML era uma aplicação que não faz mais parte das aplicações disponibilizadas pelo ACBr.

Se você pretende obter o XML da NF-e para o destinatário da mercadoria ou para o contador ou para a transportadora, o que você acha de estudar sobre o DistribuicaoDFe?

Trata-se um Web Services disponibilizado pela SEFAZ que faz o que o nome diz Distribui DF-e, ou seja, lhe permite a ter acesso ao XML de Documentos Fiscais Eletrônicos por exemplo a NF-e.

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

  • 5 meses depois ...

Descobri aqui que o método LoadFromString não atualiza o XML quando faço a consulta, porém quando usei o LoadFromFile, pra carregar o XML, funcionou perfeitamente.

Editado por ifcruz
Erros de português e escrita incoerente.

Programador Sr. (Delphi 7, RAD Studio 10.3, C#.NET, Visual Studio, Firebird)

2018-06-08.png

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Este tópico foi criado há 2067 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.