Dúvida com Jasper Report e iReport

28 respostas
D

Fala galera…

Tô com um problema meio chato com Jasper…

Na minha aplicação web tem um módulo de geração de Contratos, onde alguns ítens são dinâmicos mas a maioria é estática…

o problema está na páginação … pois usar sub reports ferra a organização do contrato… alguem tem alguma idéia para me dar…

28 Respostas

A

Dê uma olhada… talvez a gambiarra o atenda…

http://www.guj.com.br/posts/list/80280.java

Só não entendi porque usar subreports é ruim pra você.

Abraço.

guilhermetonetto

coloca a parte dinamica na banda detail , e a estatica nas outras bandas :smiley:

e se tiver que fazer mais que uma query dae sim vc não ira escapar de ter SR.

[]'s

D

AdrianoPalm:
Dê uma olhada… talvez a gambiarra o atenda…

http://www.guj.com.br/posts/list/80280.java

Só não entendi porque usar subreports é ruim pra você.

Abraço.

cara o problema é que não to gerando relatórios simples e sim um contrato… ao usar subreports ele vai deixar espaços em braco entre páginas … por exemplo… se a página um do contrato, que possui uma descrição variável, passar de uma página, o excedente irá para a próxima… sendo que o 1° subreport só entrara na terceira… deixando uma lacuna entre parte da segunda página e a terceira… em contratos isso não é aceito…

A

Mas o primeiro subreport não entrará na 3a página não, ele entra automaticamente embaixo do texto, uma vez que as propriedades estejam devidamente setadas.

Dá pra fazer com subreport, eu acho.

D

guilhermetn3:
coloca a parte dinamica na banda detail , e a estatica nas outras bandas :smiley:

e se tiver que fazer mais que uma query dae sim vc não ira escapar de ter SR.

[]'s

é meu amigo… o problema é que em um contrato vc tem partes dinâmicas e estáticas misturadas… não é como um relatório com partes bem distintas…

guilhermetonetto

mas essas partes dinâmicas que vc fala , todas precisaram do FOR do detail??

A

Tem um relatório aqui com 4 subreports de tamanhos dinâmicos e tudo funciona perfeitamente.

São listas que alimentam meus subreports.

D

na verdade o for do detail para mim esta sendo indiferente… pois os dados vem direto de um manager como HashMap de parametros que são impressos na tela mesclados com clausulas do contrato e outras informações fixas… na verdade é somente um contrato por vez… com dados unicos portanto não tenho query ou repetições de tipos de informação…

guilhermetonetto

então sinceramente não sei qual é a tua dificuldade

derrepente explica melhor isso

D

AdrianoPalm:
Tem um relatório aqui com 4 subreports de tamanhos dinâmicos e tudo funciona perfeitamente.

São listas que alimentam meus subreports.

entendi… em algum desses subreports seu tem texto fixo?

A

Sim, mas sempre trabalho com a banda Details deles.

D

guilhermetn3:
então sinceramente não sei qual é a tua dificuldade

derrepente explica melhor isso

cara deixa eu tentar explicar … pô sei que ta chato… mas

por explemplo é um contrato com 7 páginas, onde o começo do contrato tem alguns textos que são iguais a todos… mas os nomes das empresas e dados básicos do contrato variam, podendo ter uma ou cinquenta linhas… mas as clausulas são a mesmas… voltando a ter textos dinamicos no final do contrato… como nomes,rg… e outros…

o problema é que eu tentei usar sub report e quando os campos dinamicos da primeira página ultrapassaram geraram um buraco entre a segunda e terceira páginas…

espero ter conseguido melhorar a compreensão…

D

e como vc faz se por exemplo a seu primeiro relatório ultrapassa uma página… o subreport continua na segunda onde a primeira parou???

feltraco

talvez isso ajude…

crie o sub-relatorio normal…
no relatorio principal clique com o botao direito no sub-relatorio, e vá em propriedades,
na aba todos, tem uma opção “TIPO DE POSIÇÃO”, selecione flutuante

isso fara com que ele so imprima os dados sem espaço em branco no final…
ai basta vc trabalhar com as bandas inferiores para nao deixarem espaços em brancos
pq o sub-relaorio nao vai deixar…

Boa sorte…

D

Galera realmente deu uma boa clareada com todas as dicas… agora me restou uma dúvida que parece pequena…

um dos meu subreports entra no fim do report principal, que pode variar de tamanho…

o problema é que esse subreport tem o conteúdo de um A4 full… e caso o conteúdo do relatorio principal varie para menos de uma página cheia o subreport sempre usa a próxima página do inicio ao fim… nunca começando na primeira e terminando na segunda.

Isso causa um buraco no fim da primeira página que é um contrato…

Esse é meu problema no momento… lembrando que meu contrato ao todo tem 7 páginas… to tentando resolver o problema da segunda…rs pois o resto e replicar configurações… eu acho :?

guilhermetonetto

o conteudo do SR sempre será um A4 full?

feltraco

coloque o conteúdo do relatorio principal
como flutuante também

pode ser que resolva

D

o problema é que como é um contrato terá clausulas fixas … que gerariam umas 4 páginas de informações fixas…

eu tô tentando juntar uma só por enquanto… :cry:

A

Checou a propriedade Split Allowed da Banda details do subreport?

D

feltraco:
coloque o conteúdo do relatorio principal
como flutuante também

pode ser que resolva

pô botei ja…mas não resolveu não

D

a questão é que como não tenho dados e sim texto fixo se eu botar na details não aparece nada… portanto estou usando header… sendo que e marquei a propriedade sim…

A

Será que se você passar um empty datasource pra esse seu subreport ele, mesmo só com dados fixos, não vai aparecer não?

D

tentei retirando parte do conteudo… o subreport ficou com mais ou menos 30% de A4… foi para a proxima página ainda… em vez de dividir o sub em duas págias

feltraco

esse “texto físico” vc esta passando por parametro ?

D

hoje não… passo algumas variáveis do contrato… mas clausulas e outras coisas fixas já vão no template

variaveis que podem ser strings grandes…

feltraco

se vc passar inclusive essas string “grandes”, por parametro
vc consegue aplicar akele “flutuante” que foi dito… eu acredito que sim…

se vc puder enviar os JRXML eu posso dar uma olhada pra ver se
encontramos uma solução…

FLwS…

D

feltraco:
se vc passar inclusive essas string “grandes”, por parametro
vc consegue aplicar akele “flutuante” que foi dito… eu acredito que sim…

se vc puder enviar os JRXML eu posso dar uma olhada pra ver se
encontramos uma solução…

FLwS…

ja tive essa ideia até estou tentando implementar… o fo#* é que o contrato tem umas frescurinhas como alguns itens itálicos ou negritos que num da para botar num mesmo textfield… to tendo que organizar grande parte do layout do Contrato na mão… :evil: … não sei se vai ficar legal… mas acho que resolve o problema…

PS: infelizmente não posso mandar os arquivos por se tratar de contratos… confidencialidade entende… :frowning:

feltraco

sem problemas…

quanto a formatação, vc realmente vai ter que fazer
em cada FIELD, italico, negrito ou o que for…

se funcionar avisa…

Criado 28 de janeiro de 2008
Ultima resposta 29 de jan. de 2008
Respostas 28
Participantes 4