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

Recommended Posts

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.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

pega o xml gerado e o xml que está no sefaz consultando!

quase certeza que a data e hora você não está gravando no banco ou está com diferença.

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution

anexe os dois

mas levem em consideração então estar alimentando errado o campo data / hora e gerando a assinatura

esse é com certeza o problema.

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

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. 

Link para o comentário
Compartilhar em outros sites

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