Ir para conteúdo
  • Cadastre-se

dev botao

Erro De Timeout Ao Consultar Lotes De Notas Fiscais Para Relatório


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

Recommended Posts

Olá amigos. Há muito tempo venho, uma ou duas vezes ao mês, consultando no site da SEFAZ as notas emitidas durante determinado período, e a partir dessa consulta emito um relatório de notas de entrada, bonificações, vendas interestaduais, etc.    Acontece que de um ou dois meses para cá, não consigo mais fazer a consulta mensal (aproximadamente 800 notas ) , sendo que tenho optado por fazer a cada 10 dias .

O erro retornado é o abaixo descrito :

Project.exe raised exception class ESOAPHTTPException  with message 'A conexão com o servidor foi 
ortalfiscal.inf.br/nfe/wsd/NfeConsulta2'.  Process stopped. Use Step or Run to continue.

 

Acredito que se eu aumentasse o tempo para meu socket aguardar resposta da conexão, resolveria o problema. Gostaria de uma sugestão, se alguem já passou por esse problema. Obrigado.

Se quiserem, posso postar o codigo que utilizo para as consultas.

 

Link para o comentário
Compartilhar em outros sites

Aqui a rotina que estou utilizando para consultar as notas :

Interessante que há uns tres ou quatro meses eu consultava média de 1000 notas por vez e funcionava corretamente. Alguma sugestão ??

Em tempo  : obrigado pela resposta

//////////

procedure TForm1.Button6Click(Sender: TObject);
 
{ Coloquei um Filelistbox para conter os XMLs a serem consultados }
 
var
          {i = contador para os itens da Lista de xmls..
           s = string contendo nome dos arquivos a consultar }
 
  I : Integer;
  S, NomeArq : string;
begin
                 { Consulta o status de cada nota, separadamente
                    e refaz o arquivo p/envio cliente -- -procNfe.xml ...}
 
  ACBRNfe1.Configuracoes.Certificados.NumeroSerie := 'FICTICIO-4c192799-FICTICIO' ;
  FileListBox1.Directory := 'D:\ConfereNumeroNotas\Copiadas\';
  For i := 0  to FileListBox1.Items.Count -1 do
  begin
    S := '';
    S := S + FileListBox1.Items ;
    if uPPERCASE (Copy (S, 45, 8)) = '-NFE.XML' then // chave tem 44 digitos
    begin
      ACBrNFe1.NotasFiscais.Clear;
      ACBrNFe1.NotasFiscais.LoadFromFile(S);
      ACBrNFe1.Consultar;
      MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetWS);
      memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetornoWS);
      LoadXML(MemoResp, WBResposta);
    NomeArq := 'D:\Usando ACBR para relatorios NF-e\Conferidas\' + S;
    if pos(UpperCase('-nfe.xml'),UpperCase(NomeArq)) > 0 then
       NomeArq := StringReplace(NomeArq,'-nfe.xml','-procNfe.xml',[rfIgnoreCase]);
    ACBrNFe1.NotasFiscais.Items[0].SaveToFile(NomeArq);
 
    { apenas para verificar se não " trava "  }
 
      Label2.Caption := 'Nota Nr. '+ S + ' consultada.' ;
 
{Faz a gravação dos dados da Nf-e num componenente ClientDataSet }
 
    ClientDataSet1.Append;
    ClientDataSet1.FieldByName('Protocolo').AsString :=
      ACBrNFe1.WebServices.Consulta.Protocolo;
    ClientDataSet1.FieldByName('Numero').AsString :=
      InttoStr(AcBrNfe1.NotasFiscais.Items[0].NFe.Ide.nNF);
    ClientDataSet1.FieldByName('Emissao').AsDateTime :=
      AcBrNfe1.NotasFiscais.Items[0].NFe.Ide.dEmi;
    ClientDataSet1.FieldByName('Cliente').AsString :=
      AcBrNfe1.NotasFiscais.Items[0].NFe.Dest.xNome;
    ClientDataSet1.FieldByName('Valor').AsFloat :=
      AcbrNfe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF;
    ClientDataSet1.FieldByName('Icms').AsFloat :=
      AcbrNfe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS;
    ClientDataSet1.FieldByName('CFOP').AsInteger :=
      StrtoInt(AcbrNfe1.NotasFiscais.Items[0].NFe.Det.Items[0].Prod.CFOP);
    ClientDataSet1.FieldByName('Status').AsInteger :=
      AcbrNfe1.NotasFiscais.Items[0].NFe.procNFe.cStat;
    ClientDataSet1.FieldByName('CNPJ').AsString :=
      AcBrNfe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF;
 
 
{ Se a nota foi cancelada , "marca '  para constar no relatorio ...(cancelada=status 101)}
 
    if InttoStr (AcbrNfe1.NotasFiscais.Items[0].NFe.procNFe.cStat) = '101' then
    begin
      ClientDataSet1.Edit;
      ClientDataSet1Obs.AsString := 'CANCELADA';
      ClientDataSet1.Post;
      ClientDataSet1.Close;
      ClientDataSet1.Active := True;
    end;
  if (InttoStr(AcbrNfe1.NotasFiscais.Items[0].NFe.procNFe.cStat) <> '100') and
    (InttoStr (AcbrNfe1.NotasFiscais.Items[0].NFe.procNFe.cStat) <> '101') then
  begin
    ClientDataSet1.Edit;
    ClientDataSet1Obs.AsString := 'INUTILIZADA';
    ClientDataSet1.Post;
    ClientDataSet1.Close;
    ClientDataSet1.Active := True;
  end;
  end;
  Application.ProcessMessages;
  end;
  ShowMessage ('Todas as notas foram consultadas');
end;
 

//

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3998 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...
The popup will be closed in 10 segundos...