Ir para conteúdo
  • Cadastre-se

dev botao

Alguns clientes não conseguem pesquisar documento na sefaz - Rejeição 656 Rejeicao: Consumo Indevido (Deve ser aguardado 1 hora para efetuar nova solicitacao caso nao existam mais documentos a serem pesquisados. Tente apos 1 hora)


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

Recommended Posts

Postado

Bom dia.
Alguns clientes meus dá rejeição 656 - Consumo Indevido.

Alguém poderia me ajudar.
Desde já agradeço.

Segue os Logs (anexo) e o Código usado.

20240708160446-con-dist-dfe.xml 20240708160446-dist-dfe.xml 20240708171519-con-dist-dfe.xml 20240708171520-dist-dfe.xml

Segue o codigo:

 

var
 CNPJ, Impresso, sChave,  sCNPJ, sNome, sNumero, sSerie,
 sIEst, sNSU, sTipoNFe ,  sMotivo , sUltimoNSU ,sTemMais, sNsuMensagem, cUFAutor,sStat ,
 sProtocolo, xEvento, AtpEvento, TipoArquivo: String;
 Valor: Double;
 i, j, k : integer;
 DataEvento ,sEmissao : TDateTime;


 begin
    sTemMais := EmptyStr;
    
    if (frmSenha.Database.InTransaction=false) then
          frmSenha.Database.StartTransaction;
   try
       cUFAutor := IntToStr(Nfe.Configuracoes.WebServices.UFCodigo);
       sUltimoNSU := UltimoNsu;

       k := 0;
       repeat
          inc(k);

          if sTemMais = 'N' then
             break;


          NFe.DistribuicaoDFePorUltNSU( StrToInt(cUFAutor),
                                        qryEmpresaNOSSOCGC.Value,
                                        sUltimoNSU);

       sStat   := IntToStr(NFe.WebServices.DistribuicaoDFe.retDistDFeInt.cStat);
       sMotivo := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo;

       if NFe.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137
       then sTemMais := 'N'
       else sTemMais := 'S';

       sNsuMensagem:= NFe.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU;
       atualizaNsu(sNsuMensagem);


       if NFe.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138 then
       begin
          j := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1;

          for i := 0 to j do
          begin
             sSerie   := '';
             sNumero  := '';
             sCNPJ    := '';
             sNome    := '';
             sIEst    := '';
             sNSU     := '';
             sTipoNFe := '';
             Valor    := 0.0;
             Impresso := ' ';

             if NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.chDFe <> '' then
             begin
                // Conjunto de informações resumo da NF-e localizadas.
                // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada.

                sChave := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.chDFe;

                sSerie  := Copy(sChave, 23, 3);
                sNumero := Copy(sChave, 26, 9);

                sCNPJ := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.CNPJCPF;
                sNome := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.xNome;
                sIEst := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.IE;

                case NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.tpNF of
                   tnEntrada: sTipoNFe := 'Entrada';
                   tnSaida:   sTipoNFe := 'Saída';
                end;

                sNSU  := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].NSU;
                sEmissao := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.dhEmi; //DateToStr(NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.dhEmi);
                Valor := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.vNF;

                case NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.cSitDFe of
                   snAutorizado : Impresso := 'Autorizada';
                   snDenegado   : Impresso := 'Denegada';
                   snCancelado  : Impresso := 'Cancelada';
                   snEncerrado  : Impresso := 'Encerrada';
                end;
             end;

             sProtocolo := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resEvento.nProt;
             xEvento    := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resEvento.xEvento;
             DataEvento := NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resEvento.dhEvento;
             AtpEvento := TpEventoToStr(NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resEvento.tpEvento);

             if (AtpEvento = '-99999') and (xEvento = EmptyStr) then
             begin
                xEvento   := 'NÃO MAPEADO';
             end;

             // Registra no Banco de Dados as Notas Retornadas pela Consulta
             qryManifestacao.Close;
             qryManifestacao.Params[0].AsString:= frmSenha.empresa;
             qryManifestacao.Params[1].AsString:=sChave;
             qryManifestacao.Open;

             if not ((qryManifestacaoEMPRESA.AsString = frmSenha.empresa) and
                    (qryManifestacaoCHAVE_NFE.AsString = sChave)) then
             begin

                qryInsereManifestacao.SQL.Clear;
                qryInsereManifestacao.SQL.Add('Insert into MG_MANIFESTACAO');
                qryInsereManifestacao.SQL.Add('(Empresa, CHAVE_NFE, CNPJ, RAZAO_SOCIAL, IE, DATA_EMISSAO, TIPO, VALOR,');
                qryInsereManifestacao.SQL.Add('SITUACAO, CONFIRMACAO, NSU, DATAEVENTO, PROTOCOLO,NOTA,SERIE,DESCRICAO_CONFIRMACAO)');
                qryInsereManifestacao.SQL.Add('Values (:xEmpresa, :xChave, :xCNPJ, :xNome, :xIE, :xEmissao, :xTipo,');
                qryInsereManifestacao.SQL.Add(':xValor, :xSituacao, :xConfirmacao, :xNSU, :xDataEve, :xProtocolo,:xNOTA,:xSERIE,:xDESCRICAO_CONFIRMACAO)');
                qryInsereManifestacao.Params[0].AsString:= frmSenha.empresa;
                qryInsereManifestacao.Params[1].AsString:=sChave;
                qryInsereManifestacao.Params[2].AsString:=sCNPJ;
                qryInsereManifestacao.Params[3].AsString:=sNome;
                qryInsereManifestacao.Params[4].AsString:=sIEst;
                qryInsereManifestacao.Params[5].AsDateTime:=sEmissao;
                qryInsereManifestacao.Params[6].AsString:=sTipoNFe;
                qryInsereManifestacao.Params[7].AsFloat:=Valor;
                qryInsereManifestacao.Params[8].AsString:=Impresso;
                qryInsereManifestacao.Params[9].AsInteger:= StrToInt(AtpEvento);
                qryInsereManifestacao.Params[10].AsString:=sNSU;
                qryInsereManifestacao.Params[11].AsDateTime:=DataEvento;
                qryInsereManifestacao.Params[12].AsString:=sProtocolo;
                qryInsereManifestacao.Params[13].AsString:= sNumero;
                qryInsereManifestacao.Params[14].AsString:= sSerie;
                qryInsereManifestacao.Params[15].AsString:= xEvento;
                qryInsereManifestacao.ExecSQL;
             end;

          end; //fim for
       end
       else
       begin
          if NFe.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then
          begin
             MessageDlg(' Nenhum Documento Localizado para o Destinatário' +#13+#13+
                        ' Utilizar o número que esta no campo: Último NSU'+#13+#13+
                        ' Para uma nova pesquisa ('+sNsuMensagem+').',mtInformation,[mbOk],0);
             sTemMais := 'N';
       end
       else
       begin
          MessageDlg(' Falha ao realizar a consulta.' +#13+#13+
                     '  ' + sStat + ' - ' + sMotivo,mtInformation,[mbOk],0);

       end;
    end;


   until sTemMais = 'S';

   if sTemMais = 'S'
   then   MessageDlg(IntToStr(k) + ' Consultas Realizadas e tem mais Documentos.',mtInformation,[mbOk],0)
   else MessageDlg(IntToStr(k) + ' Consultas Realizadas e não tem mais Documentos.',mtInformation,[mbOk],0);

   frmSenha.Database.Commit;
   except
      on e : Exception do
      begin
         frmSenha.Database.Rollback;
         Messagedlg('Falha na abertura do sistema. (Data de Login)'+#13+e.Message,mtInformation,[mbOk],0);

      end;
   end;

  • Membros Pro
Postado

Ola,

Esta respeitando os prazos de consulta, como por exemplo se não tiver mais doc.  só voltar a consultar depois de 1 hora, sempre controlando as NSU sequenciais para consulta?

  • Moderadores
Postado
1 hora atrás, Leonardo Goncalves Moreira disse:

Boa tarde, não tem não eu trouxe o certificado para minha máquina e acontece o mesmo erro.
A empresa em questão está usando o nosso sistema, ela não tinha outro jeito de baixar os xml's automaticamente.

no caso trouxe para seu micro e somente nele tem o certificado ou em mais locais pois o contador dele pode ter acesso, chegou a conversar pra saber?

11 minutos atrás, lucimauro disse:

Ola,

Esta respeitando os prazos de consulta, como por exemplo se não tiver mais doc.  só voltar a consultar depois de 1 hora, sempre controlando as NSU sequenciais para consulta?

Sim aguardar 1 hora

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

  • Moderadores
Postado
1 hora atrás, Leonardo Goncalves Moreira disse:

Bom dia!

Lucimauro e Juliomar. 
Estou respeitando o prazo e trocando o NSU no banco, mas sempre retorna o mesmo erro com outro ultimo NSU no log.

então alguém está usando seu certificado de toda a certeza!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

  • Moderadores
  • Solution
Postado
3 horas atrás, Leonardo Goncalves Moreira disse:

Boa tarde Juliomar, o problema é com mais de uma empresa e uma delas acabou de fazer outro certificado por causa de problemas externos.
Certificado novinho que testamos

Então será necessário abrir chamado no sefaz. algo lá

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

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

The popup will be closed in 10 segundos...