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,