...
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
O objetivo deste documento é descrever o desenvolvimento, publicação e visualização de relatórios no TOTVS | ECM, para facilitar a compreensão será detalhado um exemplo de relatório de colaboradores.
...
Para o desenvolvimento de relatórios é necessário possuir o Java™ JDK/JRE superior a 1.6. Endereço para download: http://java.sun.com/javase/downloads/index.jsp.
...
O BIRT Report Designer conta com várias funcionalidades que auxiliam no desenvolvimento de relatórios. Entre elas destacam-se: ajuste de layout, configuração de acesso a dados e formatação do relatório.
Em caso de execução do TOTVS | ECM em ambiente SaaS, não é recomendado o uso de relatórios, pois é possível criar relatórios que retornem informações de outras empresas via consulta JPQL ou Dataset. Para garantir a não execução, é necessário definir o valor “true” para a variável “SaaS” localizada em: %JBOSS_HOME%\server\default\deploy\wdk-service.xml.
...
Através do BIRT Report Designer é possível criar vários relatórios para o TOTVS | ECM, acessar dados do banco de dados do produto via consulta JPA, JDBC. É possível acessar os dados de outros produtos por conexão JDBC, Web Service ou arquivos XML.
...
Deck of Cards | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
É possível incluir parâmetros no relatório a serem solicitados para o usuário antes da sua renderização, auxiliando no filtro de consulta aos dados gerando um relatório específico.
|
O TOTVS | ECM disponibiliza TAG’s de substituição que auxiliam no desenvolvimento e na segurança da geração das informações do relatório, são elas:
...
As TAG’s são úteis em casos de informações que só devem ser geradas a respeito da empresa em que o usuário está autenticado, ou em relatórios que mostrem somente informações a respeito do usuário autenticado no TOTVS | ECM.
No exemplo apresentado neste documento será populado o relatório através de dados providos de consultas JPA acessando o banco do TOTVS | ECM, porém é possível utilizar outros recursos para popular o Data Set: XML, Web Service e JDBC.
...
Deck of Cards | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Após concluir a publicação, para visualizá-lo, clique sobre ele no GED do TOTVS | ECM.
|
A ferramenta de visualização de relatório do TOTVS | ECM possui várias funcionalidades:
...
O TOTVS | ECM suporta através de consultas JPA e seu banco de dados, o uso de funções de agregação, tais como: AVG, SUM, COUNT, MAX e MIN. Permite também utilizar agrupamentos: GROUP BY e HAVING.
...
As colunas das entidades de persistência são as mesmas apresentadas no dataset.
Bloco de código |
---|
importPackage(Packages.com.datasul.technology.webdesk.dataset.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 rowMap.get("count(d.documentPK.documentId)"); |
...
A partir da classe DatasetFactory é possível acessar dados de fichários publicados no TOTVS | ECM.
Para popular um relatório através de dados de fichários é necessário a importação das seguintes bibliotecas:
...
Através da classe DatasetFactory é possível buscar dados de fichários, incluir filtros e ordenação. Exemplo de utilização:
...
Para realizar consultas via Dataset com filtros do tipo Data, é necessário antes salvar o campo da ficha no formato aaaa/mm/dd (ano/mês/dia) para que seja possível realizar a busca via Dataset.
Exemplo de consulta:
Bloco de código |
---|
// Monta as constraints para consulta var factory = DatasetFactory.getInstance(${WKCompany}); //Filtra Clientes de 1 a 5 var c1 = factory.createConstraint("campo_data", "2010/01/25", "2010/05/02", ConstraintType.MUST); var constraints = new Array(c1); //Ordena o resultado pelo nome do Cliente var sortingFields = new Array("name_cli"); dataset = factory.getDataset("cad_cli", null, constraints, sortingFields); |
Adobe, Flash, Flex, Flex Builder, PostScript and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
...