Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Prezados,

 

Após atualizarmos uma nova versão do sistema, onde haviamos atualizado o acbr, alguns clientes nos reportaram uma lentidão ao enviar a NFe, coisa que não acontecia nas versões anteriores.

Após mapeamento chegamos na linha de codigo onde esta o gargalo, porém não conseguimos descobrir o que esta ocorrendo.

Algum colega esta passando pela mesma situação?

 

segue dados de nossa pesquisa sobre o problema:

 

 

IMPORTANTE: LENTIDÃO NO RETORNO/LIBERAÇÃO DO PROTOCOLO PARA EMISSÃO DO DANFE.

PROJETO: Atualizado em 25/04/2013 as 10:00h

UNIT: ACBrNFeWebServices - Linha: 1540

IMPORTANTE: Se cometarmos o bloco em negrito retorna ao tempo aceitável.

 

function TWebServices.Envia(ALote: String; const ASincrono: Boolean): Boolean;

begin

//retirado por recomendação do documento disponível em

http://www.nfe.fazenda.gov.br/PORTAL/docs/Consumo_Indevido_Aplicacao_Cliente_v1.00.pdf

{ if not(Self.StatusServico.Executar) then

begin

if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then

TACBrNFe( FACBrNFe ).OnGerarLog(Self.StatusServico.Msg);

raise EACBrNFeException.Create(Self.StatusServico.Msg);

end; }

self.Enviar.FLote := ALote;

self.Enviar.FSincrono := ASincrono;

if not(Self.Enviar.Executar) then

begin

if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then

TACBrNFe( FACBrNFe ).OnGerarLog(Self.Enviar.Msg);

raise EACBrNFeException.Create(Self.Enviar.Msg);

end;

if (FConfiguracoes.Geral.ModeloDF = moNFe) or (not ASincrono) then

begin

Self.Retorno.Recibo := Self.Enviar.Recibo;

if not(Self.Retorno.Executar) then

begin

if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then

TACBrNFe( FACBrNFe ).OnGerarLog(Self.Retorno.Msg);

raise EACBrNFeException.Create(Self.Retorno.Msg);

end;

end;

Result := true;

end;

 

Desde já agradecemos a sua atenção,

 

 

 

Postado

Amigo, essa linha em negrito que você diz comentar e a velocidade voltar ao normal, não é nada mais nada menos que um evento sendo disparado, sendo assim tenho uma pergunta, veja se você tem algum código no evento GerarLog do seu componente  ACBrNFe?

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Prezado Isaque,

 

No evendo gerarLog do componente esta em branco.

 

Fizemos os mesmos testes no demo do acbr e também apresentou a mesma lentidão entre 15 a 20 segundos. Antes a resposta era em torno de 3 a 5 segundos. Quando  a gente volta a versão anterior fica rapido novamente. Entre esta versão do sistema que esta rapida e a nova não fizemos nenhuma alteração na NFe, somente a atualização do componente ACBR o qual demos um build no projeto, e alguns clientes começaram a nos retornar que estava lento ao enviar a nfe, dai simulamos em nosso ambiente de homologação e constatamos que realmente tem uma diferença consideravel.  

Esta lentidão ocorre em produção e também no ambiente de homologação.

Postado

Bom, o vento em branco é estranho essa lentidão, na versão anterior esse código era diferente ?

 

Pelo que vejo ele tem que passar por vários IFs para chegar a esse que vc colocou em negrito, e se chegar é gerado um exceção, sua aplicação ta tratando essa exceção na chamada de enviar a NFe ?

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

A versão anterior (a rapida 3 segundos), tem exatamente o mesmo código da versão atual (versão lenta 15 segundos). Compilamos o demo do acbr e enviamos por ele, onde também apresentou a mesma lentidão.

 

Estamos usando o delphi 7.

Postado

Certo, mas não acredito que a lentidão seja nesse ponto colocado por você, é algo em outro lugar coloquei umas observações no post anterior de uma lida.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Nos testes que fizemos não esta entrando em nenhuma  exception, tanto que estamos conseguindo imprimir o danfe sem receber nenhuma mensagem de exceção.

raise EACBrNFeException.Create(Self.Retorno.Msg);

Postado

Por este motivo digo acreditar que a lentidão não esteja nesse ponto, de uma debugada mais detalhada tenta encontrar o ponto correto para que possamos ajuda-lo modificando o código se preciso, e tb vamos esperar alguém se manifestar que está com o mesmo problema, mas até o momento só você fez este questionamento, comente se fonte como havia dito, e vamos acompanhar o post ok?

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

obrigado Isaque. Vamos continuar em nossos testes, até descobrirmos o problema. Se algum colega estiver passando por esta situação, favor relatar, pois pode nos ajudar a encontrar o problema.

 

Assim que tivermos uma conclusão iremos postar aqui.

  • Solution
Postado

Problema Resolvido.

 

No parametro aguardarconsultaret estava com 15000 por isto estava demorando 15 segundos, colocamos 0 e voltou a ficar rapido.

 

 

Isaque, obrigado pela sua atenção.

  • Curtir 1
Postado

Opa, obrigado você pelo retorno da solução do problema, estamos ai para tentar ajudar no que for preciso, grande abraço, e salve o Projeto ACBr :)

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

  • 3 anos depois...
Postado
Em 25/04/2013 at 12:19, tradeone disse:

Problema Resolvido.

 

No parametro aguardarconsultaret estava com 15000 por isto estava demorando 15 segundos, colocamos 0 e voltou a ficar rapido.

 

 

Isaque, obrigado pela sua atenção.

Boa noite a todos estou tendo o mesmo problema de lentidão, onde eu altero este parametro?

Postado
1 hora atrás, Francisjs254 disse:

Boa noite a todos estou tendo o mesmo problema de lentidão, onde eu altero este parametro?

Francis, você pode alterar no componente ACBRNfe via propriedade do objeto inspector em tempo de projeto clicando no componente ACBRNfe depois indo em Configurações > WebServices > AguardarConsultaRet e setar o valor.

Ou pode em tempo de execução via codigo, por exemplo no create do form:

ACBrNFe1.Configuracoes.WebServices.AguardarConsultaRet:=0;

 

  • Curtir 1
  • 2 meses depois ...
  • Este tópico foi criado há 2898 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.