Relatórios

Apresentando campos customizados no relatório

267 views 10/07/2018 10/07/2018 gian-pasqualini 0

Para o usuário poder utilizar os dados de um campo customizado em um relatórios, é necessária a instalação de um plugin na ferramenta de construção de relatórios Jasper Studio.

Instalação do plugin

Faça download do arquivo senior-jasperreports-functions-X.X.X.jar neste endereço aqui. Dê preferência para a maior versão disponível.
Após configurar a base de dados do report no Jasper Studio, na aba ‘Project Explorer’ clique com o botão direito sobre o projeto e vá em: Propriedades do projeto > Java Build Path> Libraries > Add External JARs.
Selecione o arquivo baixado anteriormente, clique em OK e reinicie a ferramenta.

 

Criando um relatório com campos customizados

Crie um novo relatório onde o dataset seja a base de dados de relatórios.
É importante sempre incluir na query do dataset a coluna que representa o campo customizado (normalmente a coluna ext) para que um campo do tipo field seja criado.

 

Extraindo campo customizado

Para extrair um campo customizado, utilizaremos as funções disponíveis em CustomFields. Estes métodos recebem como parâmetro o valor do campo customizado (o xml) e o nome da coluna que deseja-se extrair:

Método: Retorno

getInteger: Integer

getString: String

getDate: Date

getTime: Time

getTimeStamp: Timestamp

getBigDecimal: BigDecimal

getDouble: Double

getBoolean: Boolean

 

Exemplo:

CustomFields.getInteger($F{ext}, "codigoNcm")

O utilitário ainda possui um método getValue que recebe como terceiro parâmetro uma Function onde será possível realizar o parse de uma string para o tipo que desejar.
Exemplo:

CustomFields.getValue($F{ext}, "codigoNcm", str -> Integer.parseInt(str))

Para utilizar expressões lambda é necessário habilitar a compilação do relatório com Java na versão 8.
Dentro da pasta de instalação do Jasper Studio, deverá conter um arquivo na extensão .ini. Adicione estas linhas ao final do arquivo:

-Dorg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-Dorg.eclipse.jdt.core.compiler.compliance=1.8
-Dorg.eclipse.jdt.core.compiler.source=1.8

Incluindo a variável no relatório

 

Na implantação não é necessário empacotar o jar do plugin  juntamente com o relatório, ele estará disponível no classpath na execução do relatório automaticamente.

Este artigo foi útil para você?