Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado (editado)

Olá a todos,

Tenho um aplicativo de emissão de NFCe que preferencialmente tenta enviar a nota normalmente, mas ao detectar ausência de internet efetua o envio da mesma em contingência de forma automática.

O problema é que hoje observei em um dos meus clientes que a janela de tempo entre a tentativa de envio da NFCe normalmente e o momento em que o componente detecta tal perda de conexão é de mais ou menos 10 segundos, o que é muito nesse cliente que atende muitas pessoas nos horários de pico.

Pensei em diminuir o Timeout do ACBrNFE1, e observei que o mesmo estava configurado para 18000, o que já achei estranho, pois contei 10 segundos conforme falei, e não 18. De qualquer forma diminui o mesmo para 5000 achando que resolveria o problema, mas na prática continua demorando os mesmos 10 segundos.

Então gostaria de saber qual a função da propriedade TIMEOUT no componente e como devo fazer para efetivamente diminuir a janela de tempo mencionada?

Desde já agradeço a atenção 

Editado por doidopb
  • Moderadores
Postado
  // tempo de timeout
  ACBrNFeCS.Configuracoes.WebServices.TimeOut := 10000;

  // tempo padrão que vai aguardar para consultar após enviar a NF-e
  ACBrNFeCS.Configuracoes.WebServices.AguardarConsultaRet := 5000;

  // Intervalo entre as tentativas de envio
  ACBrNFeCS.Configuracoes.WebServices.IntervaloTentativas := 1000;

  // quantidade de tentativas de envio
  ACBrNFeCS.Configuracoes.WebServices.Tentativas := 10;

  // ajustar "AguardarConsultaRet" com o valor retornado pelo webservice (True/False)
  ACBrNFeCS.Configuracoes.WebServices.AjustaAguardaConsultaRet := True;

 

  • 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_Transparent-02.png
 

 

  • Membros Pro
Postado

Olá Juliomar,

Fiz alguns ajustes em meu código, e ao testar sem internet o tempo de resposta agora está obedecendo fielmente o TimeOut especificado.

Só que observei que independente da quantidade especificada em "ACBrNFeCS.Configuracoes.WebServices.Tentativas", ele só tenta enviar uma vez e dá erro.

Por exemplo, especifico o TimeOut em 5000 e as Tentativas em 3, desligo a internet e tento enviar, após 5 segundos dá erro de TimeOut. Dado a descrição, // quantidade de tentativas de envio, eu supus que em 5 segundos daria o erro de TimeOut e ele tentaria mais 2 vezes (total de 3 tentativas), totalizando 15 segundos no final. Não é assim que a propriedade Tentativas trabalha?

  • 2 semanas depois ...
  • Moderadores
Postado

bom dia

no caso ele só irá tentar se falhar o execute do webservice conforme o código abaixo!

 while (inherited Executar) and
      (Tentativas < FPConfiguracoesNFe.WebServices.Tentativas) do
    begin
      Inc(Tentativas);
      sleep(IntervaloTentativas);
    end;                                           

 

  • 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_Transparent-02.png
 

 

×
×
  • 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...