Você está na página 1de 20

30/10/13

View Source

ndice

Objetivo
O objetivo deste guia descrever o desenvolvimento, publicao e visualizao de relatrios no Fluig, para facilitar a compreenso ser detalhado um exemplo de relatrio de usurios.

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 Fluig 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 do BIRT Report Designer para o desenvolvimento de relatrios para o Fluig. O BIRT pode ser integrado ao Studio ou Eclipse (j instalados para utilizao do plugin Fluig Designer, conforme Guia de Instalao Fluig - Studio), basta instalar o plugin do BIRT. Para isso necessrio realizar acessar a opo Ajuda -> Instalar Novo Software e seguir os procedimentos a seguir: 1. 2. 3. 4. Work with: Selecionar Indigo. Busca: Aps listar as opes do BIRT, digitar Birt no campo de busca. Marcar a caixa de seleo de Business Intelligence, Reporting and Charting. Em seguida, acionar Avanar.

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.

Segurana Ambiente SaaS


Em caso de execuo do Fluig em ambiente SaaS, no recomendado o uso de relatrios, pois possvel criar relatrios que retornem informaes de outras empresas via consulta JPQL ou Dataset. Para garantir a no execuo, necessrio definir o valor true para a varivel SaaS localizada em: %JBOSS_HOME% \jboss-as7.2.0.Final\standalone\configuration\standalone.xml. Ex:

< s i m p l en a m e = " j a v a : g l o b a l / w e b d e s k / S a a S "v a l u e = " t r u e " / >

Desenvolvendo um relatrio de Usurios


Atravs do BIRT Report Designer possvel criar vrios relatrios para o Fluig, 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 Fluig, ser demonstrado um exemplo de criao de relatrios. A seguir os passos necessrios para a criao do relatrio de usurios, sendo este com dados providos do Fluig atravs da consulta via dataset. O fonte do exemplo citado pode ser baixado a partir do seguinte link:

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

1/20

30/10/13
Colleague Report.zip

View Source

Criando um novo projeto e um novo relatrio


Abra a ferramenta na qual instalou o plugin do BIRT Report Designer para acompanhar o passo a passo, no exemplo iremos utilizar o Studio a partir do plugin Fluig Designer. No projeto Fluig previamente criado, clique com o boto direito do mouse na pasta reports , e em seguida em Novo -> Relatrio ECM. Em seguida basta informar o Nome do Relatrio e clicar em Concluir.

Figura 1 - Criao de relatrio no projeto Fluig.

Configurando o acesso aos dados


Um Data Source mecanismo que guarda os dados de conexo com a fonte de dados, por exemplo, configuraes JDBC, Web Service, entre outros. No caso desse relatrio ser utilizado o acesso aos dados via linguagem JavaScript. Acompanhe os passos a seguir:

Ao criar o novo relatrio, selecione a perspectiva Report Design e em seguida a aba Data Explorer, clique com o boto direito do mouse sobre o item Data Source em seguida selecione a opo New Data Source.

Figura 5 - Novo Data Source.

Ao abrir a janela New Data Source, selecione a opo Scripted Data Source e define o nome dsColleague como Data Source Name em seguida clique no boto Concluir.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

2/20

30/10/13

View Source

Figura 6 - Tipo de Data Source.

Na aba Data Explorer clique com o boto direito do mouse sobre o item Data Sets em seguida clique na opo New Data Set conforme figura 7. Data Set uma tabela temporria do BIRT no qual os dados so armazenados do Data Source e renderizados no relatrio.

Figura 7 - Novo Data Set.

Ao abrir a janela New Data Set define colleagueDataSet como Data Set Name, clique no boto Next em Output Columns clique no boto Add e adicione todas as os registros do DataSet. Em seguida clique no boto Concluir.

Column Name colleagueId Login colleagueName mail active adminuser

Data Type String String String String String String

Column Alias Vazio Vazio Vazio Vazio Vazio Vazio

Display Name Vazio Vazio Vazio Vazio Vazio Vazio

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

3/20

30/10/13

View Source
Figura 8 - Colunas do Data Set.

Incluindo parmetros no Relatrio


possvel incluir parmetros no relatrio a serem solicitados para o usurio antes da sua renderizao, auxiliando no filtro de consulta aos dados gerando um relatrio especfico. Siga os passos a seguir:

Selecione a aba Data Explorer, em seguida clique com o boto direito do mouse no item Report Parameters , selecione a opo New Parameter.

Figura 9 - Parmetros do Relatrio.

A figura 10 ilustra a janela de incluso de parmetros.

Figura 10 - Configurao de parmetros.

Ao abrir a janela New Parameter inclua os seguintes parmetros:

Matrcula Campo Name Prompt text Data type Valor Matricula Matrcula do Usurio ou "*" para mostrar todos String

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

4/20

30/10/13
Display type Is Required Text Box true

View Source

Mostra Usurios Campo Name Prompt text Data type Display type Is Required Valor paramEnable Mostrar usurios String List Box true

Selection Values Value * true false Display Text Todos Ativos Inativos

Ordenar Por Campo Name Prompt text Data type Display type Valor paramSort Ordenar por String List Box

Selection Values Value c.colleaguePK.colleagueId c.collegueName c.login Display Text Matrcula Nome Login

TAG's
O Fluig disponibiliza TAGs de substituio que auxiliam no desenvolvimento e na segurana da gerao das informaes do relatrio, so elas: ${WKCompany}: substitui a varivel pelo cdigo da empresa autenticada no Fluig. ${WKUser}: substitui a varivel pelo cdigo do usurio autenticado no Fluig. As TAGs so teis em casos de informaes que s devem ser geradas a respeito da empresa em que o usurio est autenticado, ou em relatrios que mostrem somente informaes a respeito do usurio autenticado no Fluig.

Populando o Data Set


No exemplo apresentado neste documento ser populado o relatrio atravs de dados providos de consultas JPA acessando o banco do Fluig, porm possvel utilizar outros recursos para popular o Data Set: XML, Web Service e JDBC. O BIRT renderiza o relatrio atravs da execuo de seus eventos, so muitos os eventos disponibilizados pelo BIRT, nesse exemplo sero utilizados: initialize: primeiro evento disparado pelo BIRT, recomendado utilizar esse evento para importao de bibliotecas e inicializao de variveis; beforeOpen: evento disparado antes do BIRT abrir a conexo com a fonte de dados (Data Source); fetch: evento disparado pelo BIRT depois da busca de cada registro no Data Set e antes de aplicar os filtros e campos calculados. Atravs dos eventos possvel desenvolver a lgica de consulta e gerao de dados atravs da linguagem de programao JavaScript , alm disso possvel fazer uso de vrios recursos e bibliotecas da linguagem Java.

Selecione a aba Script na pagina do relatrio e em seguida selecione o evento initialize, inclua o seguinte cdigo conforme figura 11:

i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . d a t a s e t . s e r v i c e ) ;

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

5/20

30/10/13

View Source

i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . d a t a s e t ) ; i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . s e a r c h . c o n t r o l l e r ) ; i m p o r t P a c k a g e ( P a c k a g e s . j a v a . u t i l ) ; v a rc o u n t=0 ; v a rd a t a s e t=n u l l ;

Figura 11 - Evento initialize.

O cdigo a cima importa as bibliotecas Java e a biblioteca disponibilizada pelo Fluig para consulta aos dados do produto, alm de realizar a inicializao das variveis utilizadas pelo relatrio. Detalhes sobre o cdigo: importPack age: comando responsvel pela importao de bibliotecas Java. Pack age.java.util: biblioteca responsvel pelas Classes utils do Java. Pack ages.com.datasul.technology.webdesk .dataset.service: biblioteca disponibilizada pelo TOTVS | ECM para consulta ao banco de dados do produto.

Selecione a aba Data Explorer, expanda o item Data Sets e clique no colleagueDataSet em seguida clique na aba Script ento selecione o evento beforeOpen e inclua o seguinte cdigo conforme a figura 12.

t r y { v a rf a c t o r y=D a t a s e t F a c t o r y . g e t I n s t a n c e ( $ { W K C o m p a n y } ) ; v a rc o n s t r a i n t s=n e wA r r a y ( ) ; v a rs o r t i n g F i e l d s=n e wA r r a y ( ) ; v a ri=0 ; / / F i l t r as o m e n t ep e l am a t r i c u l ad oc o l a b o r a d o ri n f o r m a d o i f ( p a r a m s [ " M a t r i c u l a " ] . v a l u e! =n u l l& a m p ; & a m p ;p a r a m s [ " M a t r i c u l a " ] . v a l u e! =" * " ){ c o n s t r a i n t s [ i ]=f a c t o r y . c r e a t e C o n s t r a i n t ( " c o l l e a g u e P K . c o l l e a g u e I d " ,p a r a m s [ " M a t r i c u l a " ] . v a l u e ,p a r a m s [ " M a t r i c u l a " ] . v a l u e , C o n s t r a i n t T y p e . M U S T ) ; i + + ; } / / F i l t r aa t i v o sc a s os e l e c i o n a d o i f ( p a r a m s [ " p a r a m E n a b l e " ] . v a l u e! =n u l l& a m p ; & a m p ;p a r a m s [ " p a r a m E n a b l e " ] . v a l u e! =" * " ) { c o n s t r a i n t s [ i ]=f a c t o r y . c r e a t e C o n s t r a i n t ( " a c t i v e " ,p a r a m s [ " p a r a m E n a b l e " ] . v a l u e ,p a r a m s [ " p a r a m E n a b l e " ] . v a l u e , C o n s t r a i n t T y p e . M U S T ) ; i + + ; } / / O r d e n ac o n f o r m es e l e o i f ( p a r a m s [ " p a r a m S o r t " ] . v a l u e! =n u l l& a m p ; & a m p ;p a r a m s [ " p a r a m S o r t " ] . v a l u e! =" * " ) { s o r t i n g F i e l d s [ 0 ]=p a r a m s [ " p a r a m S o r t " ] . v a l u e ; } / / D a t a s e t d a t a s e t=f a c t o r y . g e t D a t a s e t ( " c o l l e a g u e " ,n u l l ,c o n s t r a i n t s ,s o r t i n g F i e l d s ) ; } c a t c h( e ){ } f i n a l l y{ }

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

6/20

30/10/13

View Source

Figura 12 - Evento BeforeOpen.

O cdigo acima monta a consulta do relatrio atravs da consulta via dataset e inclui os filtros da solicitao de acordo com os parmetros definidos pelo usurio. Detalhes sobre o cdigo: ${WKCompany}: TAG disponibilizada pelo TOTVS | ECM, retorna o cdigo da empresa que o usurio est autenticado; params["Matricula"]: parmetro de relatrio, retorna o cdigo da matricula definido pelo usurio; params["paramEnable "]: parmetro de relatrio, retorna o tipo de usurio; params["paramSort "]: parmetro de relatrio, retorna o modo de ordenao;

Para incluir o resultado da consulta no Data Set e formatar os dados do relatrio, selecione o evento fetch na rea de Script e inclua o seguinte cdigo conforme figura 13.

i f( d a t a s e t! =n u l l ){ i f( c o u n t<d a t a s e t . r o w s C o u n t ) { / / m o n t aoo b j e t od al i n h a r o w [ " c o l l e a g u e I d " ]=d a t a s e t . g e t V a l u e ( c o u n t ," c o l l e a g u e P K . c o l l e a g u e I d " ) ; r o w [ " l o g i n " ]=d a t a s e t . g e t V a l u e ( c o u n t ," l o g i n " ) ; r o w [ " c o l l e a g u e N a m e " ]=d a t a s e t . g e t V a l u e ( c o u n t ," c o l l e a g u e N a m e " ) ; r o w [ " m a i l " ]=d a t a s e t . g e t V a l u e ( c o u n t ," m a i l " ) ; i f ( d a t a s e t . g e t V a l u e ( c o u n t ," a c t i v e " )= =t r u e ) { r o w [ " a c t i v e " ]=" S i m " ; } e l s e { r o w [ " a c t i v e " ]=" N o " ; } / / A t u a l i z aoc o n t a d o r c o u n t + + ; r e t u r nt r u e ; } r e t u r nf a l s e ; }

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

7/20

30/10/13

View Source

Figura 13 - Evento fetch.

Obtendo dados via conexo JDBC


Uma forma alternativa de obteno de dados para criao de relatrios a utilizao de JDBC. necessrio criar um Data Source que se conecte com o banco de dados, nele sero armazenados os dados para conexo, via JDBC, ao banco de dados.

Selecione a aba Data Explorer, clique com o boto direito do mouse sobre o item Data Source em seguida selecione a opo New Data Source conforme a figura 14.

Figura 14 Novo Data Source

Ao abrir a janela New Data Source, selecione a opo JDBC DataSource e define o nome JDBC-DataSource como Data Source Name em seguida clique no boto Next, conforme a figura 15.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

8/20

30/10/13

View Source

Figura 15 Tipo Data Source

Na prxima janela a conexo com o banco de dados deve ser configurada. No campo Driver Class selecione o driver de conexo com o banco de dados, neste caso, a conexo ser feita com o banco MySQL. Se o driver necessrio no estiver listado, basta adiciona-lo clicando em Managed Drivers ... Informe tambm os valores para Database URL, User Name e Password de acordo com o banco de dados escolhido, conforme a figura 16.

Figura 16 Configurando conexo com banco de dados.

Na aba Data Explorer clique com o boto direito do mouse sobre o item Data Sets em seguida clique na opo New Data Set.

Figura 17 Criando Novo Data Set.

Selecione o DataSource criado (JDBC-DataSource), no campo Data Set Type selecione SQL Select Query, informe um nome para o Data Set e clique em next, conforme a figura 18.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

9/20

30/10/13

View Source

Figura 18 Configurando Data Set.

Na prxima tela informe a SQL que busca os dados no banco de dados, neste exemplo, sero buscados os volumes da empresa autenticada no Fluig.

Figura 19 Criao da Query SQL

A Query abaixo busca no banco de dados todos os volumes da empresa do usurio autenticado no Fluig, este cdigo obtido atravs da TAG ${WKCompany}.

S E L E C Tv o l _ f i s i c . C D _ V O L _ F I S I C , v o l _ f i s i c . C O D _ E M P R E S A , v o l _ f i s i c . N O M _ D I R _ F I S I C , v o l _ f i s i c . I D _ T I P _ V O L _ F I S I C F R O Mv o l _ f i s i c W H E R Ev o l _ f i s i c . C O D _ E M P R E S A=$ { W K C o m p a n y }

Poder ocorrer um erro quando concluir a criao do Data Set pois a TAG ${WKCompany} no existe no contexto do BIRT. A figura a seguir apresenta o erro devido utilizao da TAG, este um erro de sintaxe no SQL e indica que ${WKCompany} no um comando SQL. Porm quando o relatrio for executado no Fluig, ela retornar o cdigo da empresa normalmente, com isso a TAG ser substituda pelo cdigo da empresa do usurio autenticado no Fluig, corrigindo o erro de sintaxe.

Figura 20 Erro do Birt pelo uso da TAG ${WKCompany}

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

10/20

30/10/13

View Source

A criao de relatrio no Birt utilizando conexo JDBC exige ateno com relao segurana da publicao do relatrio no Fluig, uma vez que o arquivo .rptdesign (XML do relatrio Birt) deixa exposto os parmetros de conexo com o banco de dados, porm o campo senha fica ofuscado com base64. Por este motivo e pela facilidade de busca das informaes do Fluig, sempre recomendamos a criao de relatrios com fontes de dados via Dataset do Fluigou query JPA. Se a criao de relatrios utilizando JDBC for necessria, recomendamos que ao publicar um relatrio no Fluig as configuraes de permisso sejam definidas apenas para leitura. Usurios que possuem permisso de manuteno podem fazer o download dos anexos e com isso tero acesso aos dados de conexo com o banco de dados.

Formatando a visualizao do Relatrio


necessria a incluso dos componentes de renderizao do relatrio. Clique na aba Layout para visualizar a pgina do relatrio que est em branco e em seguida selecione a aba Palette conforme a figura 21.

Figura 21 Relatrio em branco. Na aba Pallets possvel incluir vrios componentes de visualizao e renderizao de dados entre eles destacam-se: Label: Texto curto e esttico. Text: Texto longo possvel format-lo com TAGs HTML. Dynamic Text: Texto dinmico provido do Data Set. Image: Incluso de imagens. Grid: Formatador de dados em Grid. Table: Tabela de dados. Chart: Grficos de pizza, linha, tubo, etc.

possvel incluir imagens da internet, incluir imagens de arquivo ou ainda embutir a imagem no XML do relatrio. Neste exemplo ser usada uma imagem em anexo para posteriormente mostrar como publicar relatrios com anexo. Arraste um componente Image no relatrio, ao abrir a janela Edit Image Item, selecione a opo Image file in shared resources , selecione o arquivo da imagem na opo Enter resource file e em seguida clique no boto Insert.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

11/20

30/10/13

View Source

Figura 22 Componente Image.

Arraste um componente Text no relatrio, ao abrir a janela Edit Text Item selecione a opo HTML e na rea de texto inclua a seguinte informao formatada em HTML:

< b r > < ah r e f = " h t t p : / / w w w . f l u i g . c o m / " > h t t p : / / w w w . f l u i g . c o m / < / a > < b r > < b > E m a i l : < / b >< ah r e f = " m a i l t o : c o n t a t o @ f l u i g . c o m " > c o n t a t o @ f l u i g . c o m < / a > < b r > < b > T e l e f o n e : < / b >0 8 0 08 8 29 1 9 1 < b r > Em seguida clique no boto OK conforme figura 23.

Figura 23 - Componente Text.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

12/20

30/10/13

View Source
Arraste um componente Label no relatrio, clique duas vezes sobre o componente includo e digite Relatrio de Usurios, na aba Property Editor - Label -> General defina a formatao da label, conforme figura 24.

Figura 24 - Ttulo do relatrio.

Arraste um componente Table, ao abrir a janela Insert Table defina 6 colunas e 1 detalhe e clique no boto OK conforme figura 25.

Figura 25 - Configurao da Tabela.

Na tabela adicionada ao relatrio inclua um componente Label para cada coluna da linha Header Row defina os seguintes valores : Matrcula. Nome. Login. E-mail. Ativo. Administrador. Formate as labels includas definindo cor da fonte e cor de fundo conforme figura 26.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

13/20

30/10/13

View Source

Figura 26 - Ttulo das Colunas.

Renderizando 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 conforme figura 27.

Figura 27 - Data Set.

Publicando Relatrios
Publicao
Aps a concluso do desenvolvimento do relatrio, necessrio realizar a exportao do mesmo para a navegao de documentos Fluig.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

14/20

30/10/13

View Source

Para isso clique sobre o pasta do relatrio com o boto direito do mouse e acione Exportar.

Figura 28 Exportao de Relatrio.

Os anexos so exportados junto ao relatrio. Na exportao, o arquivo .rptdesign automaticamente identificado como arquivo principal, e os demais arquivos so classificados como anexo.

Na tela de Exportao, clique sobre Expotar para o servidor Fluig e em seguida acione Avanar.

Figura 29 Exportao de relatrio.

Na tela Exportar Relatrio, necessrio informar o nome do Servidor, identificar se est ser a publicao de um Novo Relatrio, definir o nome do relatrio, a Pasta Destino (conforme imagem foi informado o cdigo da pasta destino) e em seguida mencionar o tipo de Versionamento (como estamos fazendo uma nova publicao, selecionamos Manter Atual).

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

15/20

30/10/13

View Source

Figura 29 Exportao de relatrio.

Na pasta Relatrio da Navegao de Documentos ser possvel observar que o relatrio foi publicado com sucesso.

Figura 29 Publicao de relatrio.

Visualizador de Relatrios
Aps concluir a publicao, para visualiz-lo, clique sobre o relatrio na pasta onde foi feita a publicao no Fluig. 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.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

16/20

30/10/13

View Source

Figura 32 Parmetros do relatrio.

O relatrio dever mostrar todos os usurios cadastrados no Fluig para a empresa em que o usurio est autenticado.

Figura 33 Relatrio de Usurios Resultado.

Opes do visualizador
A ferramenta de visualizao de relatrio do fluig possui vrias funcionalidades: Verificar Indice: Caso o relatrio desenvolvido possua ndice possvel list-lo. Executar relatrio: Permite que o relatrio seja executado novamente. Exportar dados: Exporta os dados gerados do relatrio em arquivo, permitindo selecionar as colunas desejadas e o separador de dados. Exportar relatrio: Converte os dados do relatrio em diferentes formatos de arquivos: Microsoft Excel, PostScript, PDF, Microsoft Word e Microsoft Power Point, permite tambm a seleo de pginas que sero exportadas. Imprimir relatrio: Imprime relatrio selecionando as impressoras instaladas no computador do usurio autenticado e permite imprimir em formato PDF ou HTML. Imprimir relatrio no servidor: Imprime relatrio a partir das impressoras instaladas no servidor do Fluig. Navegao de pginas: permite a navegao entre as pginas do relatrio.

Figura 34 Funcionalidades do visualizador de relatrios.

JPA - Funes de Agregao


Funes de Agregao
O Fluig suporta atravs de consultas JPA e seu banco de dados, o uso de funes de agregao, tais como: AVG, SUM, COUNT, MAX e MIN. Permite tambm utilizar agrupamentos: GROUP BY e HAVING

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

17/20

30/10/13

View Source

Tabela de entidades
A tabela abaixo referencia a relao entre o cdigo de dataset, a entidade de persistncia JPA utilizada nas consultas, e a respectiva tabela no banco de dados. As colunas das entidades de persistncia so as mesmas apresentadas no dataset. Cdigo dataset AccessLog ActivityDim advancedProcessProperties businessPeriod destinationArea document documentSecurityConfig FactActivityCost FactFlowVolume FactProcesCost FactProcesVolume FlowDim globalCalendar knowledge processAttachment processDefinition processDefinitionVersion processHistory processState processTask ProcesVersionDim TimeDim topic UserDim workflowProcess Entidade JPA AccessLog ActivityDim AdvancedProcessProperties BusinessPeriod DestinationArea Document DocumentSecurityConfig FactActivityCost FactFlowVolume FactProcesCost FactProcesVolume FlowDim GlobalCalendar Knowledge ProcessAttachment ProcessDefinition ProcessDefinitionVersion ProcessHistory ProcessState ProcessTask ProcesVersionDim TimeDim Topic UserDim WorkflowProcess Tabela banco de dados HISTOR_ACES ACTIVITY_DIM_CAP PROPRIED_AVANCAD_PROCES PERIOD_EXPED AREA_DEST DOCUMENTO CONFIGUR_SEGUR_DOCTO FACT_ACTIVITY_COST_CAP FACT_FLOW_VOLUME_CAP FACT_PROCES_COST_CAP FACT_PROCES_VOLUME_CAP FLOW_DIM_CAP CALEND_GLOBAL CONHECIMENTO ANEXO_PROCES DEF_PROCES VERS_DEF_PROCES HISTOR_PROCES ESTADO_PROCES TAR_PROCES PROCES_VERSION_DIM_CAP TIME_DIM_CAP ASSUNTO USER_DIM_CAP PROCES_WORKFLOW

Exemplo de Utilizao

i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . d a t a s e t . s e r v i c e ) ; i m p o r t P a c k a g e ( P a c k a g e s . j a v a . u t i l ) ;

v a rq d=n u l l ; v a rr s=n u l l ; v a rr o w M a p=n u l l ; v a rs q l J p a=" " ; q d=n e wQ u e r y D e l e g a t e ( ) ; s q l J p a=" S E L E C Tc o u n t ( d . d o c u m e n t P K . d o c u m e n t I d ) ,d . p u b l i s h e r I df r o mD o c u m e n tdW H E R E d . d o c u m e n t P K . c o m p a n y I d=$ { W K C o m p a n y }G R O U PB Yd . p u b l i s h e r I d " ; r s=q d . g e t R e s u l t Q u e r y ( s q l J p a ) ; v a rr o w M a p=r s . g e t ( 0 ) ; / / B u s c aov a l o rd oC o u n t r o w M a p . g e t ( " d . p u b l i s h e r I d " ) ; / / B u s c aoC d i g od od o c u m e n t o r o w M a p . g e t ( " c o u n t ( d . d o c u m e n t P K . d o c u m e n t I d ) " ) ;

Acessando dados de Formulrios


Importando bibliotecas
A partir da classe DatasetFactory possvel acessar dados de formulrios publicados no Fluig.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

18/20

30/10/13

View Source

Para popular um relatrio atravs de dados de fichrios necessrio a importao das seguintes bibliotecas:

i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . d a t a s e t . s e r v i c e ) ; i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . d a t a s e t ) ; i m p o r t P a c k a g e ( P a c k a g e s . c o m . d a t a s u l . t e c h n o l o g y . w e b d e s k . s e a r c h . c o n t r o l l e r ) ;

Retornando dados do formulrio


Atravs da classe DatasetFactory possvel buscar dados de formulrios, incluir filtros e ordenao. Exemplo de utilizao:

/ / M o n t aa sc o n s t r a i n t sp a r ac o n s u l t a v a rf a c t o r y=D a t a s e t F a c t o r y . g e t I n s t a n c e ( $ { W K C o m p a n y } ) ; / / F i l t r aC l i e n t e sd e1a5 v a rc 1=f a c t o r y . c r e a t e C o n s t r a i n t ( " c o d _ c l i " ," 1 " ," 5 " , C o n s t r a i n t T y p e . M U S T ) ; v a rc o n s t r a i n t s=n e wA r r a y ( c 1 ) ; / / O r d e n aor e s u l t a d op e l on o m ed oC l i e n t e v a rs o r t i n g F i e l d s=n e wA r r a y ( " n a m e _ c l i " ) ; d a t a s e t=f a c t o r y . g e t D a t a s e t ( " c a d _ c l i " ,n u l l ,c o n s t r a i n t s ,s o r t i n g F i e l d s ) ;

O exemplo acima invoca o mtodo getDataset passando alguns argumentos extras como parmetros: Nome do Dataset: Nome do servio de dados do formulrio; Campos: Retorna apenas os campos recebidos no array informado. Caso null, retorna todos os campos. Constraints: Vetor com as condies de busca do Dataset. Em cada condio de busca (constraint) deve-se informar o nome do campo do formulrio que ser filtrado, a faixa de valores inicial e final, e o tipo de Constraint. Os tipos podem ser: MUST: Indica que todos os registros do Dataset devem satisfazer a esta condio. SHOULD: Indica que os registros do Dataset podem ou no atender condio. Este tipo mais comum quando se necessita que um mesmo campo tenha valores A ou B (onde cada um ser uma constraint SHOULD). MUST_NOT: indica que nenhum dos registros pode satisfazer a condio. Ordenao: Vetor com a lista de campos que ser utilizada para ordenao dos registros no Dataset. O fonte do exemplo citado acima pode ser baixado a partir do seguinte link: Customer CardIndex.zip

Busca de dados de Formulrio com filtro por data


Para realizar consultas via Dataset com filtros do tipo Data, necessrio antes salvar o campo da ficha no formato aaaa/mm/dd (ano/ms/dia) para que seja possvel realizar a busca via Dataset. Exemplo de consulta:

/ / M o n t aa sc o n s t r a i n t sp a r ac o n s u l t a v a rf a c t o r y=D a t a s e t F a c t o r y . g e t I n s t a n c e ( $ { W K C o m p a n y } ) ; / / F i l t r aC l i e n t e sd e1a5 v a rc 1=f a c t o r y . c r e a t e C o n s t r a i n t ( " c a m p o _ d a t a " ," 2 0 1 0 / 0 1 / 2 5 " ," 2 0 1 0 / 0 5 / 0 2 " ,C o n s t r a i n t T y p e . M U S T ) ; v a rc o n s t r a i n t s=n e wA r r a y ( c 1 ) ; / / O r d e n aor e s u l t a d op e l on o m ed oC l i e n t e v a rs o r t i n g F i e l d s=n e wA r r a y ( " n a m e _ c l i " ) ; d a t a s e t=f a c t o r y . g e t D a t a s e t ( " c a d _ c l i " ,n u l l ,c o n s t r a i n t s ,s o r t i n g F i e l d s ) ;

Third Party Trademarks


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. Apache is a trademark of The Apache Software Foundation. Firefox and Mozilla are registered trademarks of the Mozilla Foundation. JavaScript is a trademark of Oracle Corporation. Microsoft, Active Directory, Excel, Internet Explorer, Outlook, PowerPoint, SQL Server, Windows and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. MySQL is a trademark of Oracle Corporation and/or its affiliates. Oracle, Java and OpenOffice.org are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Progress and OpenEdge are trademarks or registered trademarks of Progress Software Corporation or one of its subsidiaries or affiliates in the U.S. and other countries.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

19/20

30/10/13
Any other third party trademarks are the property of their respective owners.

View Source

Red Hat and JBoss are registered trademarks of Red Hat, Inc. in the United States and other countries.

tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=74646056

20/20