+1 voto
199 visitas

Ao tentar emitir um relatório na base do cliente, foi percebido que o stimulsoft está fazendo FULL ao executar um sql que foi definido numa subquery. Todos os parâmetros foram definidos: Parent/Child e depois as ligações pelo componente como Master / DataSource e Relation.

O problema é que não existe uma ordem para execução dos Data Sources. Caso contrário poderia ser fixado por exemplo no Where a condição {this.prestador.HANDLE} , mas nem isso é possível, pois os SQL são gerados sem uma ordem definida, acionando primeiramente a query filha para depois acionar a pai.

Em relatórios que a base tem poucos dados, talvez isso não seja perceptível, mas quando se tem grande massa de dados e não se consegue fazer o filtro pelo registro "pai", o erro retornado é "Falha ao obter os dados do relatório: Exceção do tipo 'System.OutOfMemoryException' foi acionada."

Aparentemente estamos com uma FERRARI podendo andar somente em primeira marcha.

 

 

fechada com o comentário: Não cabe resposta aqui. Virou um atendimento que será continuado via suporte tecnologia.
por (173 pontos)
fechada por | 199 visitas
Edivaldo conseguiu a solução? Estou precisando da mesma solução também. Vi na WIKI um exemplo disso, onde a query filha é executada a cada iteração da query pai. Baixei o exemplo da WIKI, importei aqui mas nada. Aconteceu igual você disse, ele executa primeiro a query filha...
O link da WIKI: http://wiki.benner.com.br/wiki/index.php?title=Relatorio_de_mestre_detalhe_com_passagem_de_parametros

Quando tiver a solução, penso ser relevante publicar aqui.
Crisley, a solucao sera a partir da versao 16 alguma coisa, nao me lembro o release. Vou te enviar a dll utilizada para que isso funcione, caso me esqueca me cobre.

1 Resposta

0 votos

Edvaldo,

Tudo bem?

Você tem essa situação simulada e acessível para a Tecnologia?

Você pode abrir um chamado no nosso suporte com indicando o ambiente com a situação descrita. Nesse caso anexe o maximo de informação possível (evidencia do full scan, etc). Quanto mais informação pra gente, melhor. smiley

por (865 pontos)
Tudo bem Paulo,

No servidor MGA-APL040 acessar a base CAIXAHOM com SYSDBA senha sup01. Acessar o relatório RELATORIOS_TESTE.  Já fiz colocando o subdetalhe dentro de um panel conforme orientação do Allan, mesmo assim sempre abre a query sem o parametro da query principal.

Já estou providenciando a abertura do chamdo.
Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários