Tipo de Relatório

Top  Previous  Next

Esta seção refere-se a criação de novos tipos de relatórios utilizando o Jasper Report e o iReport.

A definição de um tipo de relatório consiste em um diretório contendo os seguintes recursos:
 

reportdefinition.xml;
definição de relatórios de JasperReports (*.jrxml);
diretório strings, com as strings internacionalizadas, caso deseja-se suporte a localização de strings.

O tipo de relatório deve ser cadastrado no portal através da administração de tipos de relatórios, localizado em módulos.

O reportdefinition.xml é o principal arquivo de configuração. Nele deve ser definido o identificador do tipo de relatório, a interface de parâmetros de configuração (configParameters) e a interface de parâmetros em tempo de execução (runtimeParameters). Também deve ser definido o caminho para o JasperReport a ser utilizado para este relatório e os parâmetros que serão repassados para ele. Consultar o reportdefinition.xsd para detalhes.

E necessário configurar no ambiente de desenvolvimento o XSD do report, a URI: lumisdata\def\lumis\report e o Key http://www.lumis.com.br/lumisportal/xsd/report.

A interface de parâmetros de configuração permite configurar os parâmetros no momento em que um relatório de determinado tipo é criado/editado. A interface de parâmetros de tempo de execução permite configurar parâmetros no momento em que um relatório é visualizado.

Para auxiliar na definição de relatórios JasperReports (arquivos jrxml), pode-se utilizar o aplicativo gratuito iReport. Algumas dicas para configuração deste aplicativo:

 

Em Opções/Classpath incluir:

o JAR do driver JDBC que será utilizado, para poder criar a conexão ao banco de dados;
o JAR lumisportal_x.x.x.xxxxxx.jar, para poder referenciar e utilizar a classe lumis.report.ReportContext;
JAR ou diretório de classes do projeto, caso for utilizar alguma classe específica no relatório. Algumas classes com implementação complexa ou dependente do contexto do portal podem não funcionar na visualização dentro no iReport. Isto inclui a maior parte das classes do Lumis Portal. Mas tais relatórios devem funcionar quando visualizados por dentro do portal.

Uma instância da classe lumis.report.ReportContext é sempre enviada ao JasperReports como parâmetro com nome lumReportContext. Através deste objeto é possível executar operações de localização ou obter outras informações. Este parâmetro pode ter seu valor default configurado como new lumis.report.ReportContext() para o objeto estar disponível também na visualização interna do iReport. Quando executada fora do contexto do portal (na visualização dentro do iReport por exemplo), a classe lumis.report.ReportContext não efetua uma localização normal de strings, ao invés disto apenas substitui '_' por espaço. Mas quando o relatório for exibido dentro do portal, a localização de strings ocorrerá normalmente.

Tipos de relatórios padrão no produto estão implementadas em lumisdata/def/lumis/report. Os arquivos nestas pastas não devem ser alterados, mas podem ser copiados para serem utilizados como ponto inicial para customização do tipo de relatório.

Referências:

JasperReports - http://jasperforge.org/projects/jasperreports

iReport - http://www.jasperforge.org/projects/ireport

 


Lumis Portal 6.1.0.111014
Copyright © 2001-2007, Lumis. Todos os direitos reservados.