Geraçao dinamica de relatorios com o birt

2 respostas
C

Opa…

Estou tentando implementar o birt na minha aplicação jsf, e estou encontrando diversas dificuldades.

Preciso gerar os relatórios de maneira dinâmica, pois as minhas consultas são constantemente alteradas no sistema, e ficar modificando o arquivo de design do birt a cada alteração seria muito trabalhoso.

Ja tentei gerar o design em tempo de execução, mas o custo beneficio, tornou isso inviável. Pensei então em alterar o data set apenas, em tempo de execução, para inserir o novo sql que a consulta possui, mas também encontrei algumas dificuldades que me fizeram pesquisar outra forma.
Pensei também em passar toda a coleção de dados, que estaria no result set da minha pagina, tentando de alguma forma, importa-lo no relatório.

Gostaria de saber se alguém já tentou algo parecido, qual forma utilizou, e quais dificuldades encontrou?

2 Respostas

D

brother…
dá uma pesquisada no próprio site do birt sobre script…

vc pode sim! mudar a consulta de um dataset em tempo de execução…
selecione o dataset e clique na aba script…vc verá ali o método OnPrepare…vai ficar algo como:

this.queryText = "select * from "+params["paramtabela"]+" where "+params["paramcondicao"]

lembrando q. paramtabela e paramcondicao vc já deve ter criado…

t+

C

Obrigado.

Procurei um pouco mais e descobri um jeito que se encaixa ao que eu preciso:

design.getDesignInstance().getDataSet("Data Set").setQueryText(qry);

Dessa forma no meu servlet do birt, em tempo de execução eu altero o sql do data set.

Da forma que você citou, funcionaria, se nao fosse uma particularidade do sistema, o pessoal suporte tem a liberdade de alterar as formulas dos campos do sql que iria gerar o data set, então ficaria meio estranho eu passar parâmetros para os campos também (nem sei se seria possível).

Muito Obrigado pela ajuda.

Criado 21 de fevereiro de 2007
Ultima resposta 21 de fev. de 2007
Respostas 2
Participantes 2