Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Deck of Cards
effectDuration0.5
idsamples
historyfalse
effectTypefade
Card
defaulttrue
id1
labelInitialize

 

  • Selecione a aba Script na pagina do relatório e em seguida selecione o evento initialize, inclua o seguinte código conforme figura 11:
Bloco de código
languagejavascript
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;

Figura 11 - Evento initialize.

 

O código a cima importa as bibliotecas Java™ e a biblioteca disponibilizada pelo Fluig para consulta aos dados do produto, além de realizar a inicialização das variáveis utilizadas pelo relatório.

Detalhes sobre o código:

    • importPackage: comando responsável pela importação de bibliotecas Java™.
    • Package.java.util: biblioteca responsável pelas Classes utils do Java™.
    • Packages.com.datasul.technology.webdesk.dataset.service: biblioteca disponibilizada pelo TOTVS | ECM para consulta ao banco de dados do produto.
Card
id2
labelBeforeOpen

 

  • 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 conforme a figura 12.
Bloco de código
languagejavascript
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 {
}

Figura 12 - Evento BeforeOpen.


O código acima monta a consulta do relatório através da consulta via dataset e inclui os filtros da solicitação de acordo com os parâmetros definidos pelo usuário.

Detalhes sobre o código:

  • ${WKCompany}: TAG disponibilizada pelo TOTVS | ECM, retorna o código da empresa que o usuário está autenticado;
  • params["Matricula"]: parâmetro de relatório, retorna o código da matricula definido pelo usuário;
  • params["paramEnable "]: parâmetro de relatório, retorna o tipo de usuário;
  • params["paramSort "]: parâmetro de relatório, retorna o modo de ordenação;
Card
id3
labelFetch
  • 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ódigoconforme figura 13.
Bloco de código
languagejavascript
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;
}

Figura 13 - Evento fetch.

 

Obtendo dados via conexão

...

JDBC

Uma forma alternativa de obtenção de dados para criação de relatórios é a utilização de JDBC. É necessário criar um Data Source que se conecte com o banco de dados, nele serão armazenados os dados para conexão, via JDBC, ao banco de dados.

Deck of Cards
effectDuration0.5
idsamples
historyfalse
effectTypefade
Card
defaulttrue
id1
labelInitialize

 

  • Selecione 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 conforme a figura 14.

    Image Added

    Figura 14 – Novo Data Source

Card
id2
labelBeforeOpen

 

  • Ao abrir a janela New Data Source, selecione a opção JDBC DataSource e define o nome JDBC-DataSource como Data Source Name em seguida clique no botão Next, conforme a figura 15.

    Image Added

    Figura 15 – Tipo Data Source

Card
id3
labelFetch

 

  • Na próxima janela a conexão com o banco de dados deve ser configurada. 

    No campo Driver Class selecione o driver de conexão com o banco de dados, neste caso, a conexão será feita com o banco MySQL®. Se o driver necessário não estiver listado, basta adiciona-lo clicando em Managed Drivers...

    Informe também os valores para Database URL, User Name Password de acordo com o banco de dados escolhido, conforme a figura 16.

    Image Added

    Figura 16 – Configurando conexão com banco de dados.

Card
id4
labelPasso 4

 

  • 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.

    Image Added

    Figura 17 – Criando Novo Data Set.

Card
id5
labelPasso 5

 

  • 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.

Image Added

Figura 18 – Configurando Data Set

Card
id6
labelPasso 6
  •  Na próxima tela informe a SQL que busca os dados no banco de dados, neste exemplo, serão buscados os volumes da empresa autenticada no Fluig.

Image Added

Figura 19 – Criação da Query SQL


  • A Query abaixo busca no banco de dados todos os volumes da empresa do usuário autenticado no Fluig, este código é obtido através da TAG ${WKCompany}.

Bloco de código
languagejava
SELECT vol_fisic.CD_VOL_FISIC,
         vol_fisic.COD_EMPRESA,
         vol_fisic.NOM_DIR_FISIC,
         vol_fisic.ID_TIP_VOL_FISIC
FROM vol_fisic
WHERE vol_fisic.COD_EMPRESA = ${WKCompany}
Nota
titleObservação

Poderá ocorrer um erro quando concluir a criação do Data Set pois a TAG  ${WKCompany} não existe no contexto do BIRT. A figura a seguir apresenta o erro devido à utilização da TAG, este é um erro de sintaxe no SQL e indica que ${WKCompany} não é um comando SQL. Porém quando o relatório for executado no Fluig, ela retornará o código da empresa normalmente, com isso a TAG será substituída pelo código da empresa do usuário autenticado no Fluig, corrigindo o erro de sintaxe.

Image Added

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


Nota
titleAtenção

A criação de relatório no Birt utilizando conexão JDBC exige atenção com relação à segurança da publicação do relatório no Fluig, uma vez que o arquivo .rptdesign (XML do relatório Birt) deixa exposto os parâmetros de conexão com o banco de dados, porém o campo senha fica ofuscado com base64. Por este motivo e pela facilidade de busca das informações do Fluig, sempre recomendamos a criação de relatórios com fontes de dados via Dataset do Fluigou query JPA.

Se a criação de relatórios utilizando JDBC for necessária, recomendamos que ao publicar um relatório no Fluig as configurações de permissão sejam definidas apenas para leitura. Usuários que possuem permissão de manutenção podem fazer o download dos anexos e com isso terão acesso aos dados de conexão com o banco de dados.

 

Formatando 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 conforme a figura 21.

Image Added

Figura 21 – Relatório em branco.

Na aba Pallets é possível incluir vários componentes de visualização e renderização de dados entre eles destacam-se:

  • Label: Texto curto e estático.
  • Text: Texto longo é possível formatá-lo com TAG’s HTML.
  • Dynamic Text: Texto dinâmico provido do Data Set.
  • Image: Inclusão de imagens.
  • Grid: Formatador de dados em Grid.
  • Table: Tabela de dados.
  • Chart: Gráficos de pizza, linha, tubo, etc.
Deck of Cards
effectDuration0.5
idsamples
historyfalse
effectTypefade
Card
defaulttrue
id1
labelComponente Image

 

  • É possível incluir imagens da internet, incluir imagens de arquivo ou ainda embutir a imagem no XML do relatório. Neste exemplo será usada uma imagem em anexo para posteriormente mostrar como publicar relatórios com anexo.

    Arraste um componente Image no relatório, ao abrir a janela Edit Image Item, selecione a opção Image file in shared resources, selecione o arquivo da imagem na opção Enter resource file e em seguida clique no botão Insert.

    Image Added

    Figura 22 – Componente Image.

Card
id2
labelComponente Text

 

  • 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 seguinte informação formatada em HTML:

Bloco de código
languagehtml/xml
<br>
<a href="http://www.fluig.com/">http://www.fluig.com/</a>
<br><b>E-mail:</b> <a href="mailto:[email protected]">[email protected]</a>
<br><b>Telefone:</b> 0800 882 9191
<br>
  • Em seguida clique no botão OK conforme figura 23.

Image Added

Figura 23 - Componente Text.

Card
id3
labelComponente Label

 

  • 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, conforme figura 24.

 Image Added

Figura 24 - Título do relatório.

Card
id4
labelComponente Table

 

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

Image Added

Figura 25 - Configuração da Tabela.


Card
id5
labelLables para Table

 

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.
  • Administrador.

Formate as labels incluídas definindo cor da fonte e cor de fundo conforme figura 26.

Image Added

Figura 26 - Título 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. 

Image Added

Figura 27 - Data Set.

 

Publicando Relatórios

Publicação

Após a conclusão do desenvolvimento do relatório, é necessário realizar a exportação do mesmo para a navegação de documentos Fluig.

Deck of Cards
effectDuration0.5
idsamples
historyfalse
effectTypefade
Card
defaulttrue
id1
labelPasso1

 

Para isso clique sobre o pasta do relatório com o botão direito do mouse e acione Exportar.

Image Added

Figura 28 – Exportação de Relatório.


Informações
titleNota

Os anexos são exportados junto ao relatório. Na exportação, o arquivo .rptdesign é automaticamente identificado como arquivo principal, e os demais arquivos são classificados como anexo.

Card
id2
labelPasso 2

 

  • Na tela de Exportação, clique sobre Expotar para o servidor Fluig e em seguida acione Avançar.

     

    Image Added

    Figura 29 – Exportação de relatório.

Card
id3
labelPasso 3

 

  • Na tela Exportar Relatório, é necessário informar o nome do Servidor, identificar se está será a publicação de um Novo Relatório, definir o nome do relatório, a Pasta Destino (conforme imagem foi informado o código da pasta destino) e em seguida mencionar o tipo de Versionamento (como estamos fazendo uma nova publicação, selecionamos Manter Atual).

    Image Added

    Figura 29 – Exportação de relatório.

Card
id4
labelPasso 4
  • Na pasta Relatório da Navegação de Documentos será possível observar que o relatório foi publicado com sucesso.

Image Added

Figura 29 – Publicação de relatório.

 

Visualizador de Relatórios

Após concluir a publicação, para visualizá-lo, clique sobre o relatório na pasta onde foi feita a publicação no Fluig.

Uma nova janela deverá abrir, para iniciar a execução do relatório de colaboradores desenvolvido anteriormente é necessária a inclusão de parâmetros, defina os seus valores e em seguida clique no botão OK.

Image Added

Figura 32 – Parâmetros do relatório.

 

O relatório deverá mostrar todos os usuários cadastrados no Fluig para a empresa em que o usuário está autenticado.

Image Added

Figura 33 – Relatório de Usuários– Resultado.


Opções do visualizador

A ferramenta de visualização de relatório do fluig possui várias funcionalidades:

  • Verificar Indice: Caso o relatório desenvolvido possua índice é possível listá-lo.
  • Executar relatório: Permite que o relatório seja executado novamente.
  • Exportar dados: Exporta os dados gerados do relatório em arquivo, permitindo selecionar as colunas desejadas e o separador de dados.
  • Exportar relatório: Converte os dados do relatório em diferentes formatos de arquivos: Microsoft® Excel®, PostScript®, PDF, Microsoft® Word e Microsoft® Power Point®, permite também a seleção de páginas que serão exportadas.
  • Imprimir relatório: Imprime relatório selecionando as impressoras instaladas no computador do usuário autenticado e permite imprimir em formato PDF ou HTML.
  • Imprimir relatório no servidor: Imprime relatório a partir das impressoras instaladas no servidor do Fluig.
  • Navegação de páginas: permite a navegação entre as páginas do relatório.

Image Added

Figura 34 – Funcionalidades do visualizador de relatórios.

 

Formatando 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 conforme a figura 21.

Image Removed

Figura 21 – Relatório em branco.

Na aba Pallets é possível incluir vários componentes de visualização e renderização de dados entre eles destacam-se:

  • Label: Texto curto e estático.
  • Text: Texto longo é possível formatá-lo com TAG’s HTML.
  • Dynamic Text: Texto dinâmico provido do Data Set.
  • Image: Inclusão de imagens.
  • Grid: Formatador de dados em Grid.
  • Table: Tabela de dados.
  • Chart: Gráficos de pizza, linha, tubo, etc.

...

effectDuration0.5
idsamples
historyfalse
effectTypefade
Card
defaulttrue
id1
labelComponente Image

 

  • É possível incluir imagens da internet, incluir imagens de arquivo ou ainda embutir a imagem no XML do relatório. Neste exemplo será usada uma imagem em anexo para posteriormente mostrar como publicar relatórios com anexo.

    Arraste um componente Image no relatório, ao abrir a janela Edit Image Item, selecione a opção Image file in shared resources, selecione o arquivo da imagem na opção Enter resource file e em seguida clique no botão Insert.

    Image Removed

    Figura 22 – Componente Image.

Card
id2
labelComponente Text

 

  • 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 seguinte informação formatada em HTML:

Bloco de código
languagehtml/xml
<br>
<a href="http://www.fluig.com/">http://www.fluig.com/</a>
<br><b>E-mail:</b> <a href="mailto:[email protected]">[email protected]</a>
<br><b>Telefone:</b> 0800 882 9191
<br>
  • Em seguida clique no botão OK conforme figura 23.

Image Removed

Figura 23 - Componente Text.

Card
id3
labelComponente Label

 

  • 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, conforme figura 24.

 Image Removed

Figura 24 - Título do relatório.

...

id4
labelComponente Table

 

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

Image Removed

Figura 25 - Configuração da Tabela.

Card
id5
labelLables para Table

 

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.
  • Administrador.

Formate as labels incluídas definindo cor da fonte e cor de fundo conforme figura 26.

Image Removed

Figura 26 - Título 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. 

Image Removed

Figura 27 - Data Set.

 

Publicando Relatórios

Publicação

Após a conclusão do desenvolvimento do relatório, é necessário realizar a exportação do mesmo para a navegação de documentos Fluig. Para isso clique sobre o relatório com o botão direito do mouse e acione Exportar.

Image Removed

Figura 28 – Exportação de Relatório.

Na tela de Exportação, clique sobre Expotar para o servidor Fluig e em seguida acione Avançar.

 

Image Removed

Figura 29 – Exportação de relatório.

 

Na tela Exportar Relatório, é necessário informar o nome do Servidor, identificar se está será a publicação de um Novo Relatório, definir o nome do relatório, a Pasta Destino (conforme imagem foi informado o código da pasta destino) e em seguida mencionar o tipo de Versionamento (como estamos fazendo uma nova publicação, selecionamos Manter Atual).

Image Removed

Figura 29 – Exportação de relatório.

...

Image Removed

Figura 29 – Publicação de relatório.

Anexos

O BIRT Report Designer gera um arquivo em formato XML com a extensão rptdesign, é necessário publicá-lo no TOTVS | ECM e defini-lo como “Principal” para que o relatório seja executado. Os demais arquivos utilizados devem ser publicados e definidos como “Anexo”.

Ao abrir a janela Upload de arquivo clique no botão Procurar selecione a pasta do projeto do desenvolvimento do relatório de colaboradores e importe os arquivos report.rptdesign e LogoTOTVS.png e clique botão Abrir conforme figura 30.

 

Figura 30 – Upload de arquivos do relatório.

 

Na janela Upload de Arquivo clique no botão Upload e em seguida no botão Fechar. Defina o arquivo report.rptdesign como Principal e o arquivo de imagem utilizado no relatório como Anexo. Para concluir a operação clique no botão Confirmar conforme figura 31.

 

 

Figura 31 – Concluindo publicação.

...