Ir para conteúdo
  • Cadastre-se

dev botao

Consulta de NFe não está atualizando


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

Recommended Posts

Postado

Olá pessoal

Apesar de encontrar vários tópicos sobre o assunto, não tive sucesso algum. Por isso venho através deste pedir ajuda aos mais experientes e entendidos sobre o assunto.

Pessoal, meu problema é o seguinte: a casos que enviamos uma NFe e a mesma retorna erro com o servidor, quando vou tentar novamente, recebo o retorno de duplicidade de NFe. Pesquisando aqui no fórum, vi que basta carregar o componente com o XML que foi salva e assinada e depois mandar consultar a mesma. Porem, se eu mando carregar o XML com esse comando: dmdados.ACBrNFe1.Consultar; da esse erro: Erro1.jpg.09a89ed4176e68e8e1b4f4a2ea63217f.jpg

se eu uso esse comando: dmdados.ACBrNFe1.Consultar(vChave); ou seja, passando a chave do XML, a consulta é feita com sucesso e recebo o retorno cStat = 100, falando que a consulta foi feita com sucesso. Porem, o XML não atualiza, e se mando imprimir não faz nada e se manda salvar o XML da esse erro: Erro2.jpg.d83c4ee972358c305baad1a64299f04e.jpg

 

Segue o Código que estou usando:

    dmdados.ACBrNFe1.NotasFiscais.Clear;
    dmdados.ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);
    dmdados.ACBrNFe1.Consultar(vChave);
    ShowMessage(dmdados.ACBrNFe1.WebServices.Consulta.Protocolo);
    dmdados.ACBrNFe1.NotasFiscais.Items[0].GravarXML;
    dmdados.ACBrNFe1.NotasFiscais.Imprimir;

Se alguém puder me ajudar ficarei muito grato.

Postado

Boa noite Juliomar, Obrigado pelo retorno!

acredito que não seja esse o problema. Pois, mesmo usando um xml autorizado pela sefaz apresenta as mesmas mensagens de erro. Ou sera que estou falando besteira? chequei a verificar data e hora e ambas estão iguais

Postado

Boa noite Juliomar

Valente, você tinha toda razão. Realmente era problema de data e hora. Problema resolvido, graças a sua grande ajuda.

Meu muito obrigado e felicidades para você.

  • Curtir 2
Postado

Bom dia!

Juliomar, a sequência de código que estou usando é essa:

 

Gerar e assinar XML

      if dmdados.GerarNFe(tbl_saidasSAI_ID.AsInteger, false, false) then
      begin
        // comandos para gerar arquivo XML
        dmdados.ACBrNFe1.NotasFiscais.Assinar;
        dmdados.ACBrNFe1.NotasFiscais.Items[0].GravarXML();
        sArquivoXML := dmdados.ACBrNFe1.NotasFiscais.Items[0].NomeArq;
        if sArquivoXML <> '' then
          sGerado := true;
        // grava o arquivo XML
        try
          if dmdados.Dados_Pedido(ds_saidas.DataSet.FieldByName('SAI_ID').AsInteger)then
          begin
            dmdados.GravaArquivoXML(Copy(dmdados.ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID,
              4,Length(dmdados.ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)),
            UTF8Encode(dmdados.ACBrNFe1.NotasFiscais.Items[0].xml),
            dmdados.tbl_saidas.FieldByName('NUMERO_DOC').AsString);
          end;
        finally
          dmdados.tbl_saidas.Close;
        end; 

Validar e Enviar XML

      // executa validação do arquivo
      dmdados.ACBrNFe1.NotasFiscais.Validar;
      ErroValidacao := false;
      // enviar ao portal
      dmdados.ACBrNFe1.Enviar(EdtNumLote.Text, false, true);
      //
      aChaveNfe := dmdados.ACBrNFe1.NotasFiscais[0].NFe.procNFe.chNFe;
      aProcolo  := dmdados.ACBrNFe1.NotasFiscais[0].NFe.procNFe.nProt;
      // grava chave NFe
      if aChaveNfe <> '' then
      begin
        if dmdados.Dados_Pedido(ds_saidas.DataSet.FieldByName('SAI_ID').AsInteger)then
        begin
          dmdados.GravaChaveNFEPedido(aChaveNfe, aProcolo, aRecibo,
            EdtNumLote.Text, dmdados.tbl_configFORMA_EMISSAO.AsInteger);
          // salva com protocolo de autorização
          dmdados.GravaArquivoXML(aChaveNfe, UTF8Encode(dmdados.ACBrNFe1.NotasFiscais.Items[0].xml),
            dmdados.tbl_saidas.FieldByName('NUMERO_DOC').AsString);
          //
          sArquivoXML := '';
          FechaMensagem;
          ShowMessage('NFe Enviada com sucesso:' + #13 + #10 + 'Chave: ' + aChaveNfe
            + #13 + #10 + 'Protocolo: ' + aProcolo);

Fazer Consulta da NFe pelo XML

      dmdados.ACBrNFe1.Consultar(vChave);
      if dmdados.ACBrNFe1.WebServices.Consulta.cStat = 100 then
      begin
        dmdados.ACBrNFe1.NotasFiscais[0].GravarXML;
        // grava o arquivo XML
        try
          if dmdados.Dados_Pedido(ds_saidas.DataSet.FieldByName('SAI_ID').AsInteger)then
          begin
            dmdados.GravaArquivoXML(Copy(dmdados.ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID,
              4,Length(dmdados.ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)),
            UTF8Encode(dmdados.ACBrNFe1.NotasFiscais.Items[0].xml),
            dmdados.tbl_saidas.FieldByName('NUMERO_DOC').AsString);
          end;
        finally
          dmdados.tbl_saidas.Close;
        end;

Eu já olhei os exemplos do SVN, aparentemente estou seguindo a mesma linha de raciocínio. 

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