Ir para conteúdo
  • Cadastre-se

dev botao

Lentidão ao imprimir quando múltiplos CTes carregados


Ver Solução Respondido por Juliomar Marchetti,

Recommended Posts

  • Membros Pro

Problema do protocolo resolvido!

Porém, a lentidão ao imprimir muitos documentos (normais, xmls de 8kb) ainda continua, fiz um teste com 73 ctes, levou um tempo consideravel..

Se coloco uns 30/40 vai rapido, notei que essa demora é quando excede 50.

Link para o comentário
Compartilhar em outros sites

  • Consultores
22 minutos atrás, luisclaudio_jr disse:

Porém, a lentidão ao imprimir muitos documentos (normais, xmls de 8kb) ainda continua, fiz um teste com 73 ctes, levou um tempo consideravel..

Estes são XMLs que não tem 1800 ocorrências do grupo emiDocAnt, correto?

Você carrega múltiplos conhecimentos na lista e manda imprimir tudo de uma vez?

Esse tempo considerável seria de quanto sendo mais preciso? Entenda que ao carregar uma quantidade considerável de CTes, é compreensível que a rotina tenda a ficar um pouco mais lenta, são múltiplos Conhecimentos, cada conhecimento tendo seus próprios grupos de informações que são impressos.

Agora se é uma lentidão muito grande, é sim um ponto de atenção a ser analisado.

 

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Sim, são xmls que são de 1 a 2 notas, normal. pequenos de 7 a 9kb.
Populo o componente e depois chamo a rotina de impressão.(via fast)

Abaixo é o tempo que levou cada teste que eu fiz, note que de 50 pra 100 mudou drasticamente o tempo.

100 ctes: 8:30s
50 ctes 1:27s

45ctes :58s

35 ctes - 36s

25ctes : 22 s

Link para o comentário
Compartilhar em outros sites

  • Consultores
24 minutos atrás, luisclaudio_jr disse:

Sim, são xmls que são de 1 a 2 notas, normal. pequenos de 7 a 9kb.
Populo o componente e depois chamo a rotina de impressão.(via fast)

Abaixo é o tempo que levou cada teste que eu fiz, note que de 50 pra 100 mudou drasticamente o tempo.

100 ctes: 8:30s
50 ctes 1:27s

45ctes :58s

35 ctes - 36s

25ctes : 22 s

Por favor, apenas para separarmos, pode fazer um teste com usando a rotina de leitura antiga do CTe e verificar se o problema também ocorre?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
3 minutos atrás, Diego Foliene disse:

Por favor, apenas para separarmos, pode fazer um teste com usando a rotina de leitura antiga do CTe e verificar se o problema também ocorre?

Ocorre sim, era algo que eu tinha notado há muito tempo, até esperei estar o novo componente pra ver se isso resolvia. Vou ver se consigo debugar aqui pra ver onde exatamente está a lentidão e comunico

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Criada a #TK-5263 para análise do caso e parecer da equipe de consultores.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Pelo meu entendimento, ao analisar a lentidão pode ser algo do fast..

Na unt acbrCtedacteFR, ao passar no prepareReport, depois de uns 40 itens, começa a demorar muito, causando o gargalo de minutos que eu comentei acima.

Não sei se existe algo que possa ser feito, os itens de carregar dados, é bem rapido, quando chega no PrepareReport que está com muitos itens que começa a lentidão.

Na nova rotina de FPDF é possivel imprimir cte já? Nunca usei, mas posso tentar utilizar pra ver se resolve.

 

  if Assigned(ACBrCTe) then
    begin
      for i := 0 to TACBrCTe(ACBrCTe).Conhecimentos.Count - 1 do
      begin
        FCTe := TACBrCTe(ACBrCTe).Conhecimentos.Items[i].CTE;
        CarregaDados;

        if (i > 0) then
          Result := frxReport.PrepareReport(False)
        else
          Result := frxReport.PrepareReport;
      end;
    end
    else
      raise EACBrCTeDACTEFR.Create('Propriedade ACBrCTe não assinalada.');

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Postado (editado)
21 minutos atrás, Daniel InfoCotidiano disse:

@luisclaudio_jr
Se vc gerar pdf e enviar o pdf para impressão ele demora tbm a impressão ?

Se for de um em um não demora, digamos carrego e ja imprimo.. tanto que na rotina que tenho de exportar um a um aqui é rapido, o problema é quando junta tudo em um pdf só, que eu carrego o componente com 100xmls e ai chega no preparereport ele vai gargalando depois de uns 40 itens

 

Editado por luisclaudio_jr
Link para o comentário
Compartilhar em outros sites

  • Consultores

@luisclaudio_jr
Boa tarde verifiquei o post,mas a unit q ele enviou estava desatualizada e por isso nao foi comitada;
Agora para efeito de testes, chegou a testar com o FortesReport para ver se melhora do desempenho comparado com o Fast?

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
1 hora atrás, Daniel InfoCotidiano disse:

@luisclaudio_jr
Boa tarde verifiquei o post,mas a unit q ele enviou estava desatualizada e por isso nao foi comitada;
Agora para efeito de testes, chegou a testar com o FortesReport para ver se melhora do desempenho comparado com o Fast?

Não cheguei, porque não tenho o fortes aqui.. mas onde gargala é justamente onde coloquei, pode ser que com fortes até resolva, mas não tenho nem ideia de como ele funciona. o FPDF tem impressão pra cte?

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Vou verificar com o time sobre fpdf, referente ao fortes, vc so precisa ter ele instalado.
fazer download , segue link caso queira testar

Basta rodar o instalador e no cte, apontar para o fortes.

image.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Testei no Fortes. A lentidão não ocorre, com 101 ctes, levou 01:22 segundos, bem mais rapido em relação ao fast.

 

O gargalo no fast ocorre aqui nessa linha abaixo... esse prepareReport... Não teriamos outra estratégia talvez?

 

if Assigned(ACBrCTe) then
    begin
      for i := 0 to TACBrCTe(ACBrCTe).Conhecimentos.Count - 1 do
      begin
        FCTe := TACBrCTe(ACBrCTe).Conhecimentos.Items[i].CTE;
        CarregaDados;

        if (i > 0) then
          Result := frxReport.PrepareReport(False)
        else
          Result := frxReport.PrepareReport;
      end;
    end
    else

Link para o comentário
Compartilhar em outros sites

  • Consultores

@luisclaudio_jr
Boa noite estamos analisando o caso.
Uma pergunta o fast que o sr utiliza é completo ou aquele addon do Getit da ide do Delphi?
Qual versão está usando?

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @luisclaudio_jr
Em meu teste, como não tenho fast, baixei do GetIt do gerenciador de pacotes do Delphi e não funcionou.
Ele instala uma versão antiga:
image.png

 

Testando em um ambiente de outro consultor, com a versão Enterprise, 300 CTes demorou praticamente 1 Minuto.

 

image.png

 

image.png

 

image.png


Foi testado com o programa que contem na pasta exemplos:
..\ACBr\Exemplos\ACBrDFe\ACBrCTe

Não sei se já testou com o programa exemplo, mas se puder testar por favor.
E gostariamos de saber qual versão o sr utiliza ai em seu ambiente

 

 

 


 

 

 

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Consultores

@luisclaudio_jr
Estamos tentando reproduzir esta anomalia em nosso ambiente. mas aqui esta normal. mas utilizamos outra versao do fast e nosso Delphi 12.1
qual é a versao do seu Delphi por favor?

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Postado (editado)
7 minutos atrás, Daniel InfoCotidiano disse:

@luisclaudio_jr
Estamos tentando reproduzir esta anomalia em nosso ambiente. mas aqui esta normal. mas utilizamos outra versao do fast e nosso Delphi 12.1
qual é a versao do seu Delphi por favor?

Versão do delphi é  a 10.2 architect

 

Editado por luisclaudio_jr
Link para o comentário
Compartilhar em outros sites

  • Consultores
6 minutos atrás, luisclaudio_jr disse:

Versão do delphi é  a 10.2 architect

Infelizmente não tenho esta versão para testes.
O Sr consegue realizar um teste para nós por favor.
Testar com uma versao demo/trial do fast atualizada?
https://www.fast-report.com/en/download/fast-report-vcl/
 

Se puder fazer o favor e reportar aqui o resultado.

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Vou tentar instalar ela.. problema que mexer com fast as vezes da umas trabalheiras danadas de conflito... então preciso de um tempo pra poder realizar isso sem comprometer as outras atividades.

 

Desde ja agradeço

 

Em 01/04/2024 at 16:36, Daniel InfoCotidiano disse:

Vou verificar com o time sobre fpdf, referente ao fortes, vc so precisa ter ele instalado.
fazer download , segue link caso queira testar

Basta rodar o instalador e no cte, apontar para o fortes.

image.png

Tentei instalar o fortes, eu consegui, ele aparece pra mim, mas quando coloco no componente pra instalar ele não acha o frce... estranho que ele tá na minha library path...

Required package 'frce' not found

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution

bom dia

a questão do fast report dar problemas é somente senão usar o instalador.

após instalar ele deve de rodar o recompiler nas versões antigas, na mais nova não precisa.

então abrir o delphi e fechar ele para que veja as configurações do fast report e então rodar o acbr

já o fortes reclamando é somente se ele o instalador não adicionou o path onde está o bpl por isso da mensagem de erro

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link para o comentário
Compartilhar em outros sites

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