Tempo aproximado para leitura: 00:10:00 min
Dúvida
Como posso desenvolver relatórios na plataforma?
Ambiente
TOTVS Fluig Plataforma - Documentos - A partir da versão 1.6.5 (Liquid)
Solução
Para desenvolver relatórios é necessário ter o ambiente de desenvolvimento configurado com o BIRT Report Designer. Caso não tenha, consulte o item Ambiente de desenvolvimento na documentação de Desenvolvimento de relatórios.
Quando o ambiente estiver configurado, é necessário seguir os passos abaixo. Faremos um exemplo extraindo um relatório de usuários da plataforma.
1. Criar um novo projeto e um novo relatório: Abra a ferramenta na qual instalou o plugin do BIRT, no projeto fluig previamente criado, clique com o botão direito do mouse na pasta reports, e em seguida em Novo → Relatório fluig.
Em seguida basta informar o Nome do Relatório e clicar em Concluir.
2. Configurar o acesso aos dados: Selecione a perspectiva Report Design e em seguida a aba Data Explorer, clique com o botão direito do mouse sobre o item Data Source em seguida selecione a opção New Data Source.
Ao abrir a janela New Data Source, selecione a opção Scripted Data Source e define o nome dsColleague como Data Source Name em seguida clique no botão Concluir.
Na aba Data Explorer clique com o botão direito do mouse sobre o item Data Sets em seguida clique na opção New Data Set conforme figura 4. Data Set é uma tabela temporária do BIRT no qual os dados são armazenados do Data Source e renderizados no relatório.
Ao abrir a janela New Data Set defina colleagueDataSet como Data Set Name, clique no botão Next em Output Columns, clique no botão Add e adicione todas os registros do Data Set. Em seguida clique no botão Concluir.
3. Incluir parâmetros no relatório: Selecione a aba Data Explorer, em seguida clique com o botão direito do mouse no item Report Parameters, selecione a opção New Parameter. Ao abrir a janela New Parameter inclua os seguintes parâmetros: matrícula, mostra usuários e ordenar por.
Matrícula
|
Campo
|
Valor
|
|---|---|
| Name | Matricula |
| Prompt text | Matrícula do Usuário ou "*" para mostrar todos |
| Data type | String |
| Display type | Text Box |
| Is Required | true |
Mostra Usuários
|
Campo
|
Valor
|
|---|---|
| Name | paramEnable |
| Prompt text | Mostrar usuários |
| Data type | String |
| Display type | List Box |
| Is Required | true |
Selection Values
|
Value
|
Display Text
|
|---|---|
| * | Todos |
| true | Ativos |
| false | Inativos |
Ordenar Por
|
Campo
|
Valor
|
|---|---|
| Name | paramSort |
| Prompt text | Ordenar por |
| Data type | String |
| Display type | List Box |
Selection Values
|
Value
|
Display Text
|
|---|---|
| c.colleaguePK.colleagueId | Matrícula |
| c.collegueName | Nome |
| c.login | Login |
4. Popular o Data Set: O BIRT renderiza o relatório através da execução de seus eventos, são muitos os eventos disponibilizados pelo BIRT, nesse exemplo serão utilizados:
- initialize: Selecione a aba Script na página do relatório e em seguida selecione o evento initialize, inclua o seguinte código:
importPackage(Packages.com.datasul.technology.webdesk.dataset.service);
importPackage(Packages.com.datasul.technology.webdesk.dataset);
importPackage(Packages.com.datasul.technology.webdesk.search.controller);
importPackage(Packages.java.util);
var count = 0;
var dataset = null;
- beforeOpen: Selecione a aba Data Explorer, expanda o item Data Sets e clique no colleagueDataSet em seguida clique na aba Script então selecione o evento beforeOpen e inclua o seguinte código:
try{
var factory = DatasetFactory.getInstance(${WKCompany});
var constraints = new Array();
var sortingFields = new Array();
var i = 0;
//Filtra somente pela matricula do colaborador informado
if(params["Matricula"].value != null && params["Matricula"].value != "*") {
constraints[i] = factory.createConstraint("colleaguePK.colleagueId", params["Matricula"].value, params["Matricula"].value, ConstraintType.MUST);
i++;
}
//Filtra ativos caso selecionado
if(params["paramEnable"].value != null && params["paramEnable"].value != "*"){
constraints[i] = factory.createConstraint("active", params["paramEnable"].value, params["paramEnable"].value, ConstraintType.MUST);
i++;
}
//Ordena conforme seleção
if(params["paramSort"].value != null && params["paramSort"].value != "*"){
sortingFields[0] = params["paramSort"].value;
}
//Dataset
dataset = factory.getDataset("colleague", null, constraints, sortingFields);
}catch (e) {
}finally {
}
- fetch: Para incluir o resultado da consulta no Data Set e formatar os dados do relatório, selecione o evento fetch na área de Script e inclua o seguinte código:
if (dataset != null) {
if (count < dataset.rowsCount){
//monta o objeto da linha
row["colleagueId"] = dataset.getValue(count, "colleaguePK.colleagueId");
row["login"] = dataset.getValue(count, "login");
row["colleagueName"] = dataset.getValue(count, "colleagueName");
row["mail"] = dataset.getValue(count, "mail");
if(dataset.getValue(count, "active") == true){
row["active"] = "Sim";
}else{
row["active"] = "Não";
}
//Atualiza o contador
count++;
return true;
}
}
return false;
5. Formatar a visualização do relatório: É necessária a inclusão dos componentes de renderização do relatório. Clique na aba Layout para visualizar a página do relatório que está em branco e em seguida selecione a aba Palette. Nessa aba é possível incluir vários componentes de visualização e renderização de dados.
- Arraste um componente Image no relatório, ao abrir a janela Edit Image Item, selecione a opção Image file in shared resources, selecione um arquivo da imagem (de preferência uma logomarca) na opção Enter resource file e em seguida clique no botão Insert.
- Arraste um componente Text no relatório, ao abrir a janela Edit Text Item selecione a opção HTML e na área de texto inclua a informação abaixo e acione OK.
<br>
<a href="http://www.fluig.com/">http://www.fluig.com/</a>
<br><b>E-mail:</b> <a href="mailto:contato@fluig.com">contato@fluig.com</a>
<br><b>Telefone:</b> 0800 882 9191
<br>
- Arraste um componente Label no relatório, clique duas vezes sobre o componente incluído e digite Relatório de Usuários, na aba Property Editor - Label -> General defina a formatação da label.
- Arraste um componente Table, ao abrir a janela Insert Table defina 6 colunas e 1 detalhe e clique no botão OK.
- Na tabela adicionada ao relatório inclua um componente Label para cada coluna da linha Header Row defina os seguintes valores: Matrícula, Nome, Login, E-mail, Ativo e Administrador. Formate as labels incluídas definindo cor da fonte e cor de fundo.
6. Renderizar dados do Data Set: Selecione a aba Data Explorer e expanda o colleagueDataSet criado anteriormente e em seguida arraste cada item do Data Set para a coluna Detail Row da tabela criada anteriormente.
Após o desenvolvimento do relatório, é necessário realizar a publicação dele na plataforma. As instruções para publicação estão no artigo Como publicar relatório.
Saiba Mais
Para melhor detalhamento dos passos, consulte a documentação de Desenvolvimento de relatórios.
0 Comentários