Árvore de páginas

Versões comparadas

Chave

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

Índice

Índice
outlinetrue
stylenone
exclude.*ndice

Objetivo

O objetivo deste guia é descrever o desenvolvimento, publicação e visualização de relatórios no Fluig, para facilitar a compreensão será detalhado um exemplo de relatório de usuários.

 

Ambiente de Desenvolvimento

stylenone

Objetivo

El propósito de esta guía es describir el desarrollo, la publicación y la visualización de informes en TOTVS Fluig Plataforma,y para facilitar su comprensión se detallará un ejemplo de informe de usuario.


Entorno de desarrollo

Para el desarrollo de informes es necesario tener Para o desenvolvimento de relatórios é necessário possuir o Java™ JDK/JRE superior a 1.6. Endereço Dirección para download: http://java.sun.com/javase/downloads/index.jsp.

O TOTVS Fluig utiliza o Plataforma utilizar BIRT como motor de execução ejecución de relatóriosinformes, por esse motivo para o desenvolvimento de relatórios deve-se utilizar o padrão e a metodologia do BIRT.eso para el desarrollo de informes se debe utilizar el estándar y la metodología de BIRT.

Se recomienda el uso de Recomenda-se o uso do BIRT Report Designer para o desenvolvimento el desarrollo de relatórios informes para o Fluig. O BIRT pode ser integrado ao Studio ou Eclipse (já instalados para utilização do Fluig Studio, conforme Guia de Instalação BIRT puede integrarse a Studio o Eclipse (ya instalado para utilizar Fluig Studio, según la Guía de Instalación Fluig Studio), basta sólo debe instalar o el plugin do de BIRT. Para isso é necessário realizar acessar a opção Ajuda ara ello es necesario acceder a la opción Ayuda -> Instalar Novo Nuevo Software e seguir os procedimentos a seguir y seguir los siguientes procedimientos

  1. Work with: Selecionar  Seleccionar Indigo.
  2. Busca: Após listar as opções do BIRT, digitar Birt no campo de busca.
  3. Búsqueda: Después de enumerar las opciones de BIRT, ingresar Birt en el campo de búsqueda.
  4. Marcar la casilla de selección de Marcar a caixa de seleção de Business Intelligence, Reporting and Charting.
  5. Em seguida, acionar AvançarA continuación, presionar Avanzar.

O BIRT Report Designer conta com várias funcionalidades que auxiliam no desenvolvimento de relatórios. Entre elas destacam-se: cuenta con varias funcionalidades que ayudan en el desarrollo de informes. Entre ellas se destacan: el ajuste de layout, configuração la configuración de acesso a dados e formatação do relatório.

 

Segurança Ambiente SaaS

acceso a datos y el formateo de informe.


Seguridad Entorno SaaS

En caso de ejecución de Fluig en entorno SaaS, no se recomienda el uso de informes, ya que se pueden crear informes que devuelvan información de otras empresas a través de la consulta JPQL o Dataset. Para garantizar la no ejecución, se debe definir el valor true para la variable SaaS ubicada en: Em caso de execução do Fluig 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%\jboss-as-7.2.0.Final\standalone\configuration\standalone.xml. ExEj:

Bloco de código
<simple name="java:global/webdesk/SaaS" value="true"/>

 

Conexão direta com o banco de dados

É possível publicar relatórios que se comunicam diretamente com o banco de dados.


Conexión directa a la base de datos

Se pueden publicar informes que se comuniquen directamente con la base de datos.

Utilice en su informe las siguientes configuraciones prestando atención a los valores de las propiedades 'odaDriveClass' y Utilize em seu relatório as configurações abaixo atentando para os valores das propriedades 'odaDriveClass' e 'odaURL'.

 


Para fazer conexão direta com banco de dados SQLServer é preciso utilizar o seguinte padrãoPara realizar una conexión directa con la base de datos SQLServer es necesario utilizar el siguiente estándar:

Bloco de código
languagehtml/xml
titleSQLServer
<property name="odaDriverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> 
<property name="odaURL">jdbc:sqlserver://IP:1433;databaseName=DATABASE</property>

 


Para fazer conexão direta com banco de dados MySQL é preciso utilizar o seguinte padrãoPara realizar una conexión directa con la base de datosMySQL es necesario utilizar el siguiente estándar:

Bloco de código
languagehtml/xml
titleMySQL
<property name="odaDriverClass">com.mysql.jdbc.Driver</property> 
<property name="odaURL">jdbc:mysql://IP:3306/databaseName=DATABASE</property>

 

Desenvolvendo um relatório de Usuários


Desarrollo de un informe de Usuarios

A través de BIRT Report Designer se pueden crear varios informes para Fluig, acceder a datos de la base de datos del producto a través de la Através do BIRT Report Designer é possível criar vários relatórios para o Fluig, acessar dados do banco de dados do produto via consulta JPA, JDBC. É possível acessar os dados de outros produtos por conexão Es posible acceder a los datos de otros productos por conexión JDBC, Web Service ou arquivos o archivos XML.

Para facilitar a compreensão a respeito do desenvolvimento de relatórios para o Fluig, será demonstrado um exemplo de criação de relatórios. A seguir os passos necessários para a criação do relatório de usuários, sendo este com dados providos do Fluig através da consulta via dataset. O fonte do exemplo citado pode ser baixado a partir do seguinte la comprensión sobre el desarrollo de informes para Fluig, se mostrará un ejemplo de creación de informes. A continuación se detallan los pasos necesarios para la creación de informe de usuarios, contando con datos proporcionados por Fluig por medio de consultas a través de dataset. La fuente del ejemplo citado se puede descargar desde el siguiente link:

Colleague Report.zip

Criando um novo projeto e um novo relatório


Creación de un nuevo proyecto y un nuevo informe

Abra la herramienta en la que se instaló el plugin de Abra a ferramenta na qual instalou o plugin do BIRT Report Designer para acompanhar o passo a passo, no exemplo iremos utilizar o seguir el paso a paso, en este ejemplo vamos a utilizar Fluig Studio.

  • No projeto En el proyecto 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 Concluircreado, haga clic en el botón derecho del mouse en la carpeta reports, y a continuación en Nuevo -> Informe Fluig.
  • Luego, sólo debe informar el Nombre del informe y hacer clic en Finalizar.

Figura 1 - Criação de relatório no projeto Creación de informe en el proyecto Fluig.

 

Configurando o acesso aos dados


Configuración de acceso a los datos

Un Data Source es el mecanismo que almacena los datos de conexión con la fuente de datos, por ejemplo, configuraciones Um Data Source é mecanismo que guarda os dados de conexão com a fonte de dados, por exemplo, configurações JDBC, Web Service, entre outrosotros. No caso desse relatório será utilizado o acesso aos dados via linguagem JavaScript.En el caso de este informe se utilizará el acceso a los datos a través de Javascript.

Siga los siguientes pasosAcompanhe os passos a seguir:

Deck of Cards
effectDuration0.5
idhistorysamplesfalse
historyidfalsesamples
effectTypefade
Card
defaulttrue
id1
labelPasso1Paso 1


  • Al crear el nuevo informe, seleccione la perspectiva Report Design y luego la pestaña Data Explorer, haga clic con el botón derecho del mouse sobre el ítem Data Source a continuación, seleccione la opción 

 

  • Ao criar o novo relatório, 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

Figura 5 - Novo Nuevo Data Source.

 


Card
id2
labelPasso Paso 2


 

  • Ao abrir a janela Al abrir la ventana New Data Source, selecione a opção  seleccione la opción Scripted Data Source e define o nome dsColleague como Data Source Name em seguida clique no botão Concluir y defina el nombre dsColleague como Data Source Name a continuación haga clic en el botón Finalizar.

Figura 6 - Tipo de Data Source.


Card
id3
labelPasso Paso 3


 

  • 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 En la pestaña Data Explorer haga clic con el botón derecho del mouse sobre el ítem Data Sets a continuación haga clic en la opción New Data Set como muestra la figura 7. Data Set é uma tabela temporária do BIRT no qual os dados são armazenados do Data Source e renderizados no relatórioes una tabla temporal de BIRT en la que se almacenan los datos de Data Source y se renderizan en el informe.

Figura 7 - Novo Nuevo Data Set.


Card
id4
labelPasso Paso 4


 

  • Ao abrir a janela Al abrir la ventana New Data Set define  defina colleagueDataSet como  como Data Set Name, clique no botão Next em Output Columns clique no botão Add e adicione todas as os registros do DataSet. Em seguida clique no botão Concluir.haga clic en el botón Next en Output Columns haga clic en el botón Add y agregue todos los registros del DataSet. A continuación haga clic en el botón Finalizar


 

Column Name

Data Type

Column Alias

Display Name

colleagueId

String

Vazio

Vacío

Vazio

Vacío

Login

String

Vazio

Vacío

Vazio

Vacío

colleagueName

String

Vazio

Vacío

Vazio

Vacío

E-mail

String

Vazio

Vacío

Vazio

Vacío

active

String

Vazio

Vacío

Vazio

Vacío

adminuser

String

Vazio

Vacío

Vazio

Vacío

 

Figura 8 - Colunas do Columnas del Data Set.

 

Incluindo parâmetros no Relatório



Inclusión de parámetros en el informe

Es posible incluir parámetros en el informe que se solicita al usuario antes de su renderización, ayudando al filtro de consulta de datos generando un informe específico. Siga los siguientes pasosÉ 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. Siga os passos a seguir:

Deck of Cards
effectDuration0.5
historyfalse
idsampleshistoryfalse
effectTypefade
Card
defaulttrue
id1
labelPasso1Paso 1


  • Selecione la pestaña Data Explorer, a continuación haga clic con el botón derecho del mouse en el ítem Report Parameters, seleccione la opción 

 

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

Figura 9 - Parâmetros do Relatório.

 

Parámetros del Informe.


Card
id2
labelPasso Paso 2


 

  • A figura 10 ilustra a janela de inclusão de parâmetrosLa figura 10 muestra la ventana de inclusión de parámetros.

Figura 10 - Configuração Configuración de parâmetrosparámetros.


Ao Al abrir a janela la ventana New Parameter inclua os seguintes parâmetros: incluya los siguientes parámetros:


Matrícula

Campo
Valor
Name
Matricula
Matrícula
Prompt textMatrícula
do Usuário ou
del Usuario o "*" para mostrar todos
Data typeString
Display typeText Box
Is Requiredtrue

 


Mostra UsuáriosMuestra Usuarios

Campo
Valor
NameparamEnable
Prompt textMostrar
usuários
usuarios
Data typeString
Display typeList Box
Is Requiredtrue

Selection Values

Value
Display Text
*Todos
true
Ativos
Activos
false
Inativos
Inactivos

 


Ordenar Por

Campo
Valor
NameparamSort
Prompt textOrdenar por
Data typeString
Display typeList Box


Selection Values

Value
Display Text
c.colleaguePK.colleagueIdMatrícula
c.collegueName
Nome
Nombre
c.loginLogin

 


TAG's

O TOTVS Fluig disponibiliza Plataforma ofrece TAG’s de substituição que auxiliam no desenvolvimento e na segurança da geração das informações do relatório, são elasreemplazo que ayudan al desarrollo y la seguridad de la generación de información del informe, estas son:

• ${WKCompany}: substitui a variável pelo código da empresa autenticada no Fluigsustituye a la variable por el código de la empresa autenticada en TOTVS Fluig Plataforma.
• ${WKUser}: substitui a variável pelo código do usuário autenticado no Fluig.

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

 

Populando o Data Set

sustituye a la variable por el código del usuario autenticado en TOTVS Fluig Plataforma.

Las TAG’s son útiles en los casos de información que sólo deben generarse sobre la empresa en la cual el usuario está autenticado, o en informes que muestran sólo información sobre el usuario autenticado en TOTVS Fluig Plataforma.


Completar el Data Set

En el ejemplo que se presenta en este documento se completará el informe a través de datos proporcionados por consultas JPA ingresando a la base de TOTVS Fluig Plataforma, pero se pueden utilizar otros recursos para completar el No exemplo apresentado neste documento será populado o relatório através de dados providos de consultas JPA acessando o banco do Fluig, porém é possível utilizar outros recursos para popular o Data Set: XML, Web Service e y JDBC.

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 utilizadosel informe a través de la ejecución de sus eventos, son muchos los eventos proporcionados por BIRT, en este ejemplo se utilizarán:

  • initialize:primeiro evento disparado pelo  primer evento activado por BIRT, é recomendado se recomienda utilizar esse este evento para importação de importar bibliotecas e inicialização de variáveisinicializar variables;
  • beforeOpen: evento disparado activado, antes do de BIRT abrir a conexão com a fonte de dados la conexión con la fuente de datos (Data Source);
  • fetch: evento disparado pelo BIRT depois da busca de cada registro no Data Set e activado por BIRT después de buscar cada registro en el Data Set y antes de aplicar os los filtros e y los campos calculados.

Através dos eventos é possível desenvolver a A través de los eventos se puede desarrollar la lógica de consulta e geração de dados através da linguagem de programação JavaScript , além disso é possível fazer uso de vários recursos e bibliotecas da linguagem Java™. y generación de datos a través del lenguaje de programación JavaScript, también es posible utilizar varios recursos y bibliotecas del lenguaje Java ™.


Deck of Cards
history
effectDuration0.5
historyfalse
idsamples
falseeffectTypefade
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 Seleccione la pestaña Script en la página del informe y a continuación seleccione el evento initialize, incluya el siguiente código como muestra la 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



    • El código anterior importa las bibliotecas Java ™ y la biblioteca proporcionada por Fluig para consultar los datos de productos, y además realizar la inicialización de las variables utilizadas en el informe.

      Detalles sobre el código:

        • importPackage: comando
  • responsável pela importação
        • responsable de la importación de bibliotecas Java™.
        • Package.java.util: biblioteca
  • responsável pelas Classes utils do
        • responsable de las Clases utils de Java™.
        • Packages.com.datasul.technology.webdesk.dataset.service: biblioteca
  • disponibilizada pelo
        • ofrecida por Fluig para
  • consulta ao banco de dados do produto
        • consultar la base de datos del producto.



Card
id2
labelBeforeOpen


 

  • Selecione a aba Seleccione la pestaña 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.abra el ítem Data Sets y haga clic en colleagueDataSet, a continuación haga clic en la pestaña Script y luego seleccione el evento beforeOpen e incluya el siguiente código, como se muestra en la 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 somentesólo por pelala matriculamatrícula dodel colaborador informado
	if(params["Matricula"].value != null &amp;&amp; params["Matricula"].value != "*") {		
		constraints[i] = factory.createConstraint("colleaguePK.colleagueId", params["Matricula"].value, params["Matricula"].value, ConstraintType.MUST);
		i++;
	}
	
	//Filtra ativosactivos si casoestá selecionadoseleccionada
	if(params["paramEnable"].value != null &amp;&amp; params["paramEnable"].value != "*"){
		constraints[i] = factory.createConstraint("active", params["paramEnable"].value, params["paramEnable"].value, ConstraintType.MUST);
		i++;
	}
	
	//Ordena según conformela seleçãoselección
	if(params["paramSort"].value != null &amp;&amp; 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


  • El código anterior presenta la consulta del informe a través de la consulta por dataset e incluye los filtros de la solicitud de acuerdo con los parámetros definidos por el usuario.

    Detalles sobre el código:

    • ${WKCompany}: TAG
    disponibilizada pelo
    • ofrecida por Fluig,
    retorna o código da empresa que o usuário
    • devuelve el código de la empresa en la cual el usuario está autenticado;
    • params["Matricula"]:
    parâmetro
    • parámetro de
    relatório
    • informe,
    retorna o código da matricula definido pelo usuário
    • devuelve el código de la matrícula definido por el usuario;
    • params["paramEnable "]:
    parâmetro
    • parámetro de
    relatório
    • informe,
    retorna o
    • devuelve el tipo de
    usuário
    • usuario;
    • params["paramSort "]:
    parâmetro
    • parámetro de
    relatório
    • informe,
    retorna o
    • devuelve el modo de
    ordenação
    • ordenar;


Card
id3
labelFetch
  • Para incluir o el resultado da de la consulta no en el Data Set e  formatar os dados do relatório, selecione o evento fetch na área de Script e inclua o seguinte códigoconforme  y  formatear los datos del informe, seleccione el evento fetch en el área de Script e incluya el siguiente códigocomo se muestra en la figura 13.
Bloco de código
languagejavascript
if (dataset != null) {
	if (count <	dataset.rowsCount){
		//montainstala oel objeto de dala linhalínea
		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ãoNo";
		}
		
		//AtualizaActualiza oel contador  
		count++;
		return true;
	}
	return false;
}

Figura 13 - Evento fetch.

 

...



Obtención de datos por conexión JDBC

Uma Una forma alternativa de obtenção obtención de dados para criação de relatórios é a utilização datos para crear informes es el uso 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 dadosEs necesario crear un Data Source que se conecte a la base de datos, en él se almacenarán los datos para la conexión, a través de JDBC a la base de datos.

Deck of Cards
effectDuration0.5
historyfalse
idsamples
historyfalse
effectTypefade
Card
defaulttrue
id1
labelPasso Paso 1


 

  • Selecione a aba Seleccione la pestaña 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 haga clic con el botón derecho del mouse en el ítem Data Source y a continuación, seleccione la opción New Data Source como se muestra en la figura 14.

    Figura 14 – Novo Nuevo Data Source


Card
id2
labelPasso Paso 2


 

  • Ao abrir a janela Al abrir la ventana New Data Source, selecione a opção JDBC DataSource e define o nome  seleccione la opción JDBC DataSource y defina el nombre JDBC-DataSource como Data Source Name em seguida clique no botão Next, conforme a  a continuación, haga clic en el botón Next, como muestra la figura 15.

    Figura 15 – Tipo Data Source


Card
id3
labelPasso Paso 3


  • En la siguiente ventana se debe configurar la conexión a la base de datos. 

    En el

 

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

    No campo Driver Class selecione o  seleccione el 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 conexión a la base de datos, en este caso, la conexión se realizará a la base MySQL®. Si el driver necesario no está en la lista, simplemente debe agregarlo haciendo clic en Managed Drivers...

    Informe também os también los valores para de Database URL, User Name Password de acordo com o banco de dados escolhido, conforme a acuerdo a la base de datos elegida, como muestra la figura 16.

    Figura 16 – Configurando conexão com banco de dadosConfiguración de la conexión con base de datos.


Card
id4
labelPasso Paso 4


 

  • Na aba Data Explorer clique com o botão direito do mouse sobre o item Data Sets em seguida clique na opção En la pestaña Data Explorer haga clic con el botón derecho del mouse sobre el ítem Data Sets a continuación, haga clic en la opción New Data Set.

    Figura 17 – Criando Novo Creación del Nuevo Data Set.


Card
id5
labelPasso Paso 5


  • Seleccione  
  • Selecione o DataSource criado  creado (JDBC-DataSource), no en el campo Data Set Type selecione  seleccione SQL Select Query, informe um nome para o Data Set e clique em next, conforme a un nombre para el  Data Set y haga clic en next, como muestra la figura 18.

Figura 18 – Configurando Configuración del Data Set.


Card
id6
labelPasso Paso 6


  •  
  •  Na próxima tela En la siguiente pantalla informe a SQL que busca os dados no banco de dados, neste exemplo, serão buscados os volumes da empresa autenticada no Fluiglos datos en la base de datos, en este ejemplo, se buscarán los volúmenes de la empresa autenticada en TOTVS Fluig Plataforma.

Figura 19 – Criação da Creación de 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 El siguiente Query busca en la base de datos todos los volúmenes de la empresa del usuario autenticado en TOTVS Fluig Plataforma, este código se obtiene a través de la 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}
Informações
titleNota

Poderá ocorrer um erro quando concluir a criação do Data Set pois a Puede ocurrir algún error al finalizar la creación del Data Set ya que la TAG  ${WKCompany} não no existe no en el contexto do de BIRT. A figura a seguir apresenta o erro devido à utilização da TAG, este é um erro de sintaxe no La siguiente figura muestra el error debido al uso de la TAG, se trata de un error de sintaxis en SQL e indica que ${WKCompany} não é um no es un 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 sintaxePero cuando el informe se ejecuta en Fluig, devuelve el código de la empresa normalmente, así la TAG se reemplazará por el código de la empresa del usuario autenticado en TOTVS Fluig Plataforma, corrigiendo el error de sintaxis..

Figura 20 – Erro do Birt pelo uso da Error de Birt por el uso de la TAG ${WKCompany}


Nota
titleAtençãoAtención

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 La creación de informe en Birt usando conexión JDBC exige atención con respecto a la seguridad de la publicación del informe en Fluig, ya que el archivo .rptdesign (XML do relatório de informe Birt) deixa exposto os parâmetros de conexão com o banco de dados, porém o campo senha fica ofuscado com deja expuestos los parámetros de conexión a la base de datos, pero el campo contraseña queda oculto con 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

y por la facilidad de búsqueda de información de Fluig, siempre recomendamos crear informes con fuentes de datos a través de Dataset de Fluig o Query JPA.

Si la creación de informes utilizando JDBC es necesaria, se recomienda que cuando se publica un informe en Fluig la configuración de permisos se defina como sólo lectura. Los usuarios que poseen permiso de mantenimiento pueden realizar el download de los adjuntos y por lo tanto tendrán acceso a los datos de conexión a la base de datos.


Formatear la visualización del informe

Se requiere la inclusión de los componentes de renderización del informe. Haga clic en la pestaña Layout para visualizar la página del informe que está en blanco y, a continuación, seleccione la pestaña Palette como muestra la É 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.

Figura 21 – Relatório em brancoInforme en blanco.

Na aba Pallets é possível incluir vários componentes de visualização e renderização de dados entre eles destacam-seEn la pestaña Pallets se pueden incluir varios componentes de visualización y renderización de datos entre ellos se encuentran:

  • Label: Texto curto e corto y estático.
  • Text: Texto longo é possível formatá-lo com largo se puede formatear con TAG’s HTML.
  • Dynamic Text: Texto dinâmico provido do dinámico proveniente del Data Set.
  • Image: Inclusão Inclusión de imagensimágenes.
  • Grid: Formatador Formateador de dados em datos en Grid.
  • Table: Tabela Tabla de dadosdatos.
  • Chart: Gráficos de pizzatorta, linhalínea, tubo, etc.
Deck of Cards
effectDuration0.5
historyfalse
idsampleshistoryfalse
effectTypefade
Card
defaulttrue
id1
labelComponente Image


 

  • É possível incluir imagens da Es posible incluir imágenes de 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.imágenes de archivo o incluso integrar la imagen en XML del informe. En este ejemplo, se utilizará una imagen adjunta para posteriormente mostrar cómo publicar informes con adjuntos.

    Arraste un componente Image en el informe, al abrir la ventana Edit Image Ítem, seleccione la opción Image file in shared resources, seleccione el archivo de imagen en la opción Enter resource file e a continuación, haga clic en el botón 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.

    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 Arraste un componente Text en el informe, al abrir la ventana Edit Text Item seleccione la opción HTML y en el área de texto incluya la siguiente información formateada en 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 A continuación haga clic en el botón OK como muestra la figura 23.

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 Arraste un componente Label en el informe, haga doble clic sobre el componente incluido  e ingrese Informe de Usuarios, en la pestaña Property Editor - Label -> General defina a formatação da  defina el formato de label, conforme como muestra la figura 24.

 

Figura 24 - Título do relatóriodel informe.


 
Card
id4
labelComponente Table


  • Arraste um componente un componente Table, ao al abrir a janela la ventana Insert Table defina  defina 6 colunas e 1 detalhe e clique no botão OK conforme columnas y 1 detalle y, haga clic en el botón OK como muestra la figura 25.

Figura 25 - Configuração da TabelaConfiguración de la Tabla.


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 En la tabla agregada al informe incluya un componente Label para cada columna de la línea Header Row defina los siguientes valores:

  • Matrícula.
  • NomeNombre.
  • Login.
  • E-mail.
  • AtivoActivo.
  • Administrador.

Formate as labels incluídas definindo cor da fonte e cor de fundo conforme Formatee las labels incluidas definiendo el color de la fuente y el color del fondo como muestra la figura 26.

Figura 26 - Título das Colunas.

 

...

de las Columnas.



Renderización de datos del Data Set

Selecione a aba Seleccione la pestaña 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  y abra colleagueDataSet creado anteriormente y, a continuación arrastre cada ítem del Data Set a la columna Detail Row de la tabla creada anteriormente, como muestra la figura 27. 

Figura 27 - Data Set.

 

Publicando Relatórios

Publicação


Publicación de Informes

Publicación

Al completar el desarrollo del informe, es necesario realizar la exportación del mismo para la navegación de documentos TOTVS Fluig PlataformaApó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
historyfalse
idsamples
historyfalse
effectTypefade
 
Card
defaulttrue
id1
labelPasso1
Paso 1


Para isso clique sobre o pasta do relatório com o botão direito do mouse e acione ello, haga clic sobre la carpeta del informe con el botón derecho del mouse y presione Exportar.

Figura 28 – Exportação Exportación de RelatórioInforme.


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 anexoLos adjuntos se exportan junto con el informe. En la exportación, el archivo .rptdesign se identifica automáticamente como archivo principal, y los otros archivos se clasifican como adjunto.

Card
id2
labelPasso Paso 2


 

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

     En la pantalla de Exportación, haga clic sobre Expotar al servidor Fluig y a continuación, presione Avanzar.


    Figura 29 – Exportação Exportación de relatórioinforme.


Card
id3
labelPasso Paso 3


 

  • Na tela Exportar Relatório, é necessário informar o nome do En la pantalla Exportar Informe, es necesario informar el nombre del 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 Atualsi será la publicación de un Nuevo Informe, definir el nombre del informe, la Carpeta de Destino (como en la imagen se informó el código de la carpeta de destino) y, a continuación, mencionar el tipo de Versión (como se está realizando una nueva publicación, se debe seleccionar Mantener Actual).

    Figura 29 – Exportação Exportación de relatórioinforme.


Card
id4
labelPasso Paso 4


 

  • Na pasta Relatório da Navegação de Documentos será possível observar que o relatório foi publicado com sucessoEn la carpeta Informe de la Navegación de Documentos se podrá observar que el informe se publicó con éxito.

Figura 29 – Publicação Publicación de relatórioinforme.

...



Visualizador de

...

Informes

Después de completar la publicación, para poder verla, haga clic en el informe en la carpeta en el cual se hizo la publicación en TOTVS Fluig Plataforma.

Una nueva ventana se abrirá, para iniciar la ejecución del informe de colaboradores desarrollado previamente, se necesita la inclusión de parámetros, defina sus valores y a continuación haga clic en el botón OK 

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.

Figura 32 – Parâmetros do relatório.

 

33 – Informe de Usuarios– Resultado.


El informe deberá mostrar todos los usuarios registrados en TOTVS Fluig Plataforma para la empresa en la cual el usuario O relatório deverá mostrar todos os usuários cadastrados no Fluig para a empresa em que o usuário está autenticado.

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

...



Opciones del visualizador

A ferramenta de visualização de relatório do fluig possui várias La herramienta de visualización de informe de Fluig posee varias 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.
  • Si el informe desarrollado posee índice es posible ponerlo en la lista.
  • Ejecutar informe: Permite que el informe se ejecute nuevamente.
  • Exportar datos: Exporta los datos generados del informe en archivo, permitiendo seleccionar las columnas deseadas y el separador de datos.
  • Exportar informe: Convierte los datos del informe en diferentes formatos de archivosExportar 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 también la selección de páginas que serão exportadasse exportarán.
  • Imprimir relatórioinforme: Imprime relatório selecionando as impressoras instaladas no computador do usuário autenticado e permite imprimir em formato PDF ou informe seleccionando las impresoras instaladas en el ordenador del usuario autenticado y le permite imprimir en formato DF o HTML.
  • Imprimir relatório no informe en el servidor:Imprime relatório a partir das impressoras instaladas no servidor do  Imprime informe desde las impresoras instaladas en el servidor de Fluig.
  • Navegação Navegación de páginas: permite a navegação navegar entre as las páginas do relatóriodel informe.

Image RemovedImage Added

Figura 34 – Funcionalidades do de visualizador de relatóriosinformes.


JPA -

Funções

Funciones de

Agregação

Agregación

...

Funciones de

...

Agregación

O Fluig suporta através soporta a través de consultas JPA e seu banco de dados, o uso de funções de agregação, tais comoy su base de datos, el uso de las funciones de agregación, como por ejemplo: AVG, SUM, COUNT, MAX e y MIN. Permite também también utilizar agrupamentosagrupaciones: GROUP BY e y HAVING

 

...


Tabla de entidades

A tabela abaixo La siguiente tabla hace referencia a relação la relación entre o el código de dataset, a entidade la entidad de persistência JPA utilizada nas persistencia JPA usada en las consultas, e a respectiva tabela no banco de dados. As colunas das entidades de persistência são as mesmas apresentadas no y la tabla correspondiente a la base de datos. Las columnas de las entidades de persistencia son las mismas presentadas en dataset.

Código dataset

Entidade

Entidad JPA

Tabela banco

Tabla base de

dados

datos

AccessLog

AccessLog

HISTOR_ACES

ActivityDim

ActivityDim

ACTIVITY_DIM_CAP

advancedProcessProperties

AdvancedProcessProperties

PROPRIED_AVANCAD_PROCES

businessPeriod

BusinessPeriod

PERIOD_EXPED

destinationArea

DestinationArea

AREA_DEST

document

Document

DOCUMENTO

documentSecurityConfig

DocumentSecurityConfig

CONFIGUR_SEGUR_DOCTO

FactActivityCost

FactActivityCost

FACT_ACTIVITY_COST_CAP

FactFlowVolume

FactFlowVolume

FACT_FLOW_VOLUME_CAP

FactProcesCost

FactProcesCost

FACT_PROCES_COST_CAP

FactProcesVolume

FactProcesVolume

FACT_PROCES_VOLUME_CAP

FlowDim

FlowDim

FLOW_DIM_CAP

globalCalendar

GlobalCalendar

CALEND_GLOBAL

knowledge

Knowledge

CONHECIMENTO

CONOCIMIENTO

processAttachment

ProcessAttachment

ANEXO_PROCES

processDefinition

ProcessDefinition

DEF_PROCES

processDefinitionVersion

ProcessDefinitionVersion

VERS_DEF_PROCES

processHistory

ProcessHistory

HISTOR_PROCES

processState

ProcessState

ESTADO_PROCES

processTask

ProcessTask

TAR_PROCES

ProcesVersionDim

ProcesVersionDim

PROCES_VERSION_DIM_CAP

TimeDim

TimeDim

TIME_DIM_CAP

topic

Topic

ASSUNTO

ASUNTO

UserDim

UserDim

USER_DIM_CAP

workflowProcess

WorkflowProcess

PROCES_WORKFLOW

 

Exemplo de Utilização

Bloco de código
languagejava
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 oel valor dode Count
rowMap.get("d.publisherId");

//Busca oel Código dodel documento
rowMap.get("count(d.documentPK.documentId)");

 

Acessando dados de Formulários

...


Acceso a datos de Formularios

Importación de bibliotecas

A partir

...

de la clase DatasetFactory se puede accede a los datos de formularios publicados en Fluig.

Para

...

llenar un informe a través de datos del fichero es necesario importar las siguientes bibliotecas:

Bloco de código
languagejava
importPackage(Packages.com.datasul.technology.webdesk.dataset.service);

importPackage(Packages.com.datasul.technology.webdesk.dataset);

importPackage(Packages.com.datasul.technology.webdesk.search.controller);

 

Retornando dados do formulário


Devolución de datos del formulario

A través de la clase DatasetFactory es posible buscar datos de formularios, incluir filtros y ordenar. Ejemplo de usoAtravés da classe DatasetFactory é possível buscar dados de formulários, incluir filtros e ordenação. Exemplo de utilização:

Bloco de código
languagejava
//MontaInstala aslas constraints para consulta
var factory = DatasetFactory.getInstance(${WKCompany});

//Filtra Clientes de 1 a 5
var c1 = factory.createConstraint("cod_cli", "1", "5",ConstraintType.MUST);
var constraints = new Array(c1);

//Ordena oel resultado por peloel nomenombre dodel Cliente
var sortingFields = new Array("name_cli");
dataset = factory.getDataset("cad_cli", null, constraints, sortingFields);

 

O exemplo acima invoca o método getDataset passando alguns argumentos extras como parâmetros:

  • Nome do Dataset: Nome do serviço de dados do formulário;
  • Campos: Retorna apenas os campos recebidos no array informado. Caso null, retorna todos os campos.
  • Constraints: Vetor com as condições de busca do Dataset. Em cada condição de busca (constraint) deve-se informar o nome do campo do formulário que será filtrado, a faixa de valores inicial e final, e o tipo de Constraint. Os tipos podem ser:


El ejemplo anterior invoca el método getDataSet pasando algunos argumentos adicionales como parámetros:

  • Nombre del Dataset: Nombre del servicio de datos del formulario;
  • Campos: Devuelve sólo los campos recibidos en el array informado. Si es null, devuelve todos los campos.
  • Constraints: Vector con las condiciones de búsqueda de Dataset. En cada condición de búsqueda (constraint) se debe informar el nombre del campo del formulario que se filtrará, el rango de valores inicial y final y el tipo de Constraint. Los tipos pueden ser:
    • MUST: Indica que todos los registros del Dataset deben satisfacer esta condición.
    • SHOULD: Indica que los registros del Dataset pueden o no satisfacer esta condición. Este tipo es más común cuando se necesita que un mismo campo tenga valores A o B (donde cada uno será una
  • MUST: Indica que todos os registros do Dataset devem satisfazer a esta condição.
  • SHOULD: Indica que os registros do Dataset podem ou não atender à condição. 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 condição.Ordenação: Vetor com a
    •  indica que ninguno de los registros puede satisfacer la condición.
    • Orden: Vetor con la lista de campos que
  • será utilizada para ordenação dos registros no
    • se utilizará para ordenar los registros en el Dataset.

O fonte do exemplo citado acima pode ser baixado a partir do seguinte La fuente del ejemplo citado anteriormente se puede bajar del siguiente link:

Customer CardIndex.zip

Busca Búsqueda de dados datos de Formulário com Formulario con filtro por datafecha

Para realizar consultas via a través de Dataset com con filtros do del tipo DataFecha, é necessário antes salvar o campo da ficha no formato es necesario antes guardar el campo de la ficha en el formato aaaa/mm/dd (anoaño/mêsmes/diadía)  para que seja possível se pueda realizar la búsqueda a busca via través de Dataset.

Exemplo Ejemplo de consulta:

Bloco de código
languagejava
//MontaInstala aslas 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 oel resultado por peloel nomenombre dodel Cliente
var sortingFields = new Array("name_cli");
dataset = factory.getDataset("cad_cli", null, constraints, sortingFields);

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.

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

Any other third party trademarks are the property of their respective owners.

...