Académique Documents
Professionnel Documents
Culture Documents
Guia de Desenvolvimento de
Relatrios
ndice
Objetivo............................................................................................... 4
Ambiente de Desenvolvimento ......................................................... 4
Segurana Ambiente SaaS ................................................................ 5
Desenvolvendo um relatrio de Colaboradores .............................. 5
Criando um novo projeto................................................................................ 5
Criando o Relatrio ........................................................................................ 7
Configurando o acesso aos dados ................................................................ 8
Incluindo parmetros no Relatrio ............................................................... 12
TAGs ........................................................................................................... 14
Populando o Data Set .................................................................................. 15
Obtendo dados via conexo JDBC .............................................................. 20
Formatando a visualizao do Relatrio ..................................................... 26
Renderizando dados do Data Set ................................................................ 31
Visualizador de Relatrios............................................................... 35
Opes do visualizador................................................................................ 36
Objetivo
O objetivo deste documento descrever o desenvolvimento, publicao e
visualizao de relatrios no TOTVS | ECM, para facilitar a compreenso ser
detalhado um exemplo de relatrio de colaboradores.
Ambiente de Desenvolvimento
Para o desenvolvimento de relatrios necessrio possuir o Java
JDK/JRE superior a 1.6. Endereo para download:
http://java.sun.com/javase/downloads/index.jsp.
O TOTVS | ECM utiliza o BIRT como motor de execuo de relatrios,
por esse motivo para o desenvolvimento de relatrios deve-se utilizar o
padro e a metodologia do BIRT.
Recomenda-se o uso BIRT Report Designer para o desenvolvimento
de relatrios para o TOTVS | ECM. Atravs do endereo
http://download.eclipse.org/birt/downloads/ possvel baixar a sua verso
atual. recomendado utilizar a verso All-in-One do, pois j conta com o
Eclipse e o plugin do BIRT instalado por padro
O BIRT Report Designer conta com vrias funcionalidades que
auxiliam no desenvolvimento de relatrios. Entre elas destacam-se: ajuste de
layout, configurao de acesso a dados e formatao do relatrio.
Desenvolvendo um relatrio de
Colaboradores
Atravs do BIRT Report Designer possvel criar vrios relatrios
para o TOTVS | ECM, acessar dados do banco de dados do produto via
consulta JPA, JDBC. possvel acessar os dados de outros produtos por
conexo JDBC, Web Service ou arquivos XML.
Para facilitar a compreenso a respeito do desenvolvimento de
relatrios para o TOTVS | ECM, ser demonstrado um exemplo de criao de
relatrios. A seguir os passos necessrios para a criao do relatrio de
colaborador, sendo este com dados providos do TOTVS | ECM atravs da
consulta JPA. O fonte do exemplo citado neste documento encontra-se em:
Documentos
de
Customizao\Arquivos
Adicionais\Template
de
Relatorio\Colleague Report
Criando o Relatrio
Aps a criao do projeto na rea Navigation clique com o boto
direito do mouse sobre o projeto colleague_report e selecione New -> Report,
conforme a figura 3.
10
Column Name
Data Type
Column Alias
Display Name
colleagueId
String
Vazio
Vazio
Login
String
Vazio
Vazio
colleagueName
String
Vazio
Vazio
String
Vazio
Vazio
active
String
Vazio
Vazio
adminuser
String
Vazio
Vazio
11
12
Matrcula
Name: Matricula;
Is Requered: true.
13
Mostrar Usurios
Name: paramEnable;
Is Requered: true.
Selection Values
Value
Display Text
Todos
true
Ativos
false
Inativos
Ordenar Por
Name: paramSort;
Selection Values
Value
Display Text
c.colleaguePK.colleagueId
Matrcula
c.colleagueName
Nome
c.login
Login
TAGs
O TOTVS | ECM disponibiliza TAGs de substituio que auxiliam no
desenvolvimento e na segurana da gerao das informaes do relatrio,
so elas:
14
15
importPackage(Packages.java.io);
importPackage(Packages.com.datasul.technology.webdesk.data
set.service);
importPackage(Packages.java.util);
var query = null;
var resultSet = null;
var rowMap = null;
var count = 0;
var sqlJpa = "";
16
Packages.com.datasul.technology.webdesk.dataset.service: biblioteca
disponibilizada pelo TOTVS | ECM para consulta ao banco de dados
do produto via consula JPA;
try {
query = new QueryDelegate();
sqlJpa = "SELECT c from Colleague c";
sqlJpa = sqlJpa + " WHERE c.colleaguePK.companyId =
${WKCompany}";
if(params["Matricula"].value != null) {
if (params["Matricula"].value != "*") {
sqlJpa = sqlJpa +
" AND c.colleaguePK.colleagueId = '" +
params["Matricula"].value + "'";
17
(params["paramEnable"].value
!= "*") {
c.active = " +
sqlJpa = sqlJpa
params["paramEnable"].value;
}
}
"
AND
}
else {
if(params["paramEnable"].value != null)
{
if
(params["paramEnable"].value
!= "*") {
c.active = " +
sqlJpa = sqlJpa
params["paramEnable"].value;
}
}
"
AND
"
}
}
sqlJpa
=
sqlJpa
params["paramSort"].value;
"
ORDER
BY
resultSet = query.getResultQuery(sqlJpa);
}
catch (e) {
}
finally {
}
18
if (resultSet != null) {
if(count < resultSet.size()){
var rowMap = resultSet.get(count);
row["colleagueId"]
rowMap.get("colleagueId");
row["login"] = rowMap.get("login");
row["colleagueName"]
rowMap.get("colleagueName");
row["mail"] = rowMap.get("mail");
var active = rowMap.get("active");
if (active == "true") {
19
=
=
20
21
22
23
24
25
26
27
<H1><B>TOTVS S/A</B></H1>
Av. Santos Dumont, 831 Bom Retiro
<br>
CEP 89.222-900 Joinville SC Brasil
<br>Telefone: +55 (47) 2101-7000
<br>
Fax: +55 (47) 2101-7070
</br>
28
29
Matrcula;
Nome;
Login;
E-mail;
Ativo;
Administrador
30
31
Publicando Relatrios
Publicao
Aps a concluso do desenvolvimento do relatrio, necessria a
autenticao no TOTVS | ECM com um usurio vlido para realizar a sua
publicao. Selecione a opo Navegao de Documentos, escolha a pasta
de publicao, em seguida selecione a opo Novo Relatrio, conforme a
figura 28.
32
Anexos
O BIRT Report Designer gera um arquivo em formato XML com a
extenso rptdesign, necessrio public-lo no TOTVS | ECM e defini-lo como
Principal para que o relatrio seja executado. Os demais arquivos utilizados
devem ser publicados e definidos como Anexo.
33
34
Visualizador de Relatrios
Aps concluir a publicao, para visualiz-lo, clique sobre ele no GED
do TOTVS | ECM.
Uma nova janela dever abrir, para iniciar a execuo do relatrio de
colaboradores desenvolvido anteriormente necessria a incluso de
parmetros, defina os seus valores e em seguida clique no boto OK
conforme a figura 32.
35
Opes do visualizador
A ferramenta de visualizao de relatrio do TOTVS | ECM possui
vrias funcionalidades:
36
Tabela de entidades
Cdigo dataset
AccessLog
ActivityDim
advancedProcessProperties
businessPeriod
colleague
colleagueGroup
destinationArea
document
documentSecurityConfig
FactActivityCost
FactFlowVolume
FactProcesCost
FactProcesVolume
FlowDim
globalCalendar
group
knowledge
processAttachment
processDefinition
processDefinitionVersion
processHistory
processState
processTask
ProcesVersionDim
TimeDim
topic
UserDim
workflowColleagueRole
workflowProcess
workflowRole
Entidade JPA
AccessLog
ActivityDim
AdvancedProcessProperties
BusinessPeriod
Colleague
ColleagueGroup
DestinationArea
Document
DocumentSecurityConfig
FactActivityCost
FactFlowVolume
FactProcesCost
FactProcesVolume
FlowDim
GlobalCalendar
Group
Knowledge
ProcessAttachment
ProcessDefinition
ProcessDefinitionVersion
ProcessHistory
ProcessState
ProcessTask
ProcesVersionDim
TimeDim
Topic
UserDim
WorkflowColleagueRole
WorkflowProcess
WorkflowRole
37
Exemplo de utilizao
importPackage(Packages.com.datasul.technology.webdesk.data
set.service);
importPackage(Packages.java.util);
var qd = null;
var rs = null;
var rowMap = null;
var sqlJpa = "";
qd = new QueryDelegate();
sqlJpa
=
"SELECT
count(d.documentPK.documentId),
d.publisherId from Document d WHERE d.documentPK.companyId
= ${WKCompany} GROUP BY d.publisherId";
rs = qd.getResultQuery(sqlJpa);
var rowMap = rs.get(0);
//Busca o valor do Count
rowMap.get("d.publisherId");
//Busca o Codigo do documento
38
importPackage(Packages.com.datasul.technology.webdesk.data
set.service);
importPackage(Packages.com.datasul.technology.webdesk.data
set);
importPackage(Packages.com.datasul.technology.webdesk.sear
ch.controller);
39
"1",
"5",
null,
40
41
null,
42