Árvore de páginas

Versões comparadas

Chave

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

<div id="main-content" class="wiki-content group">
	<h1 id="DesenvolvimentodeRelatórios-Índice">Índice</h1>
	<p>
		<style type='text/css'>/*<![CDATA[*/
div.rbtoc1412695710501 {
	padding: 0px;
}
div.rbtoc1412695710501 ul {
	list-style: none;
	margin-left: 0px;
}
div.rbtoc1412695710501 li {
	margin-left: 0px;
	padding-left: 0px;
}
/*]]>*/
</style>
	<div class='toc-macro rbtoc1412695710501'>
		<ul class='toc-indentation'>
			<li><span class='TOCOutline'>1</span> <a
				href='#DesenvolvimentodeRelatórios-Objetivo'>Objetivo</a></li>
			<li><span class='TOCOutline'>2</span> <a
				href='#DesenvolvimentodeRelatórios-AmbientedeDesenvolvimento'>Entorno
					de Desarrollo</a></li>
			<li><span class='TOCOutline'>3</span> <a
				href='#DesenvolvimentodeRelatórios-SegurançaAmbienteSaaS'>Seguridad
					Entorno SaaS</a></li>
			<li><span class='TOCOutline'>4</span> <a
				href='#DesenvolvimentodeRelatórios-Conexãodiretacomobancodedados'>Conexión
					directa a la base de datos</a></li>
			<li><span class='TOCOutline'>5</span> <a
				href='#DesenvolvimentodeRelatórios-DesenvolvendoumrelatóriodeUsuários'>Desarrollo
					de un informe de Usuarios</a>
				<ul class='toc-indentation'>
					<li><span class='TOCOutline'>5.1</span> <a
						href='#DesenvolvimentodeRelatórios-Criandoumnovoprojetoeumnovorelatório'>Creación
							de un nuevo proyecto y un nuevo informe</a></li>
					<li><span class='TOCOutline'>5.2</span> <a
						href='#DesenvolvimentodeRelatórios-Configurandooacessoaosdados'>Configuración
							de acceso a los datos</a></li>
					<li><span class='TOCOutline'>5.3</span> <a
						href='#DesenvolvimentodeRelatórios-IncluindoparâmetrosnoRelatório'>Inclusión
							de parámetros en el Informe</a></li>
					<li><span class='TOCOutline'>5.4</span> <a
						href='#DesenvolvimentodeRelatórios-TAG&#39;s'>TAG's</a></li>
					<li><span class='TOCOutline'>5.5</span> <a
						href='#DesenvolvimentodeRelatórios-PopulandooDataSet'>Completar
							el Data Set</a></li>
					<li><span class='TOCOutline'>5.6</span> <a
						href='#DesenvolvimentodeRelatórios-ObtendodadosviaconexãoJDBC'>Obtención
							de datos por conexión JDBC</a></li>
					<li><span class='TOCOutline'>5.7</span> <a
						href='#DesenvolvimentodeRelatórios-FormatandoavisualizaçãodoRelatório'>Formatear
							la visualización del Informe</a></li>
					<li><span class='TOCOutline'>5.8</span> <a
						href='#DesenvolvimentodeRelatórios-RenderizandodadosdoDataSet'>Renderización
							de datos del Data Set</a></li>
				</ul></li>
			<li><span class='TOCOutline'>6</span> <a
				href='#DesenvolvimentodeRelatórios-PublicandoRelatórios'>Publicación
					de Informes</a>
				<ul class='toc-indentation'>
					<li><span class='TOCOutline'>6.1</span> <a
						href='#DesenvolvimentodeRelatórios-Publicação'>Publicación</a></li>
				</ul></li>
			<li><span class='TOCOutline'>7</span> <a
				href='#DesenvolvimentodeRelatórios-VisualizadordeRelatórios'>Visualizador
					de Informes</a></li>
			<li><span class='TOCOutline'>8</span> <a
				href='#DesenvolvimentodeRelatórios-JPA-FunçõesdeAgregação'>JPA -
					Funciones de Agregación</a>
				<ul class='toc-indentation'>
					<li><span class='TOCOutline'>8.1</span> <a
						href='#DesenvolvimentodeRelatórios-FunçõesdeAgregação'>Funciones
							de Agregación</a></li>
					<li><span class='TOCOutline'>8.2</span> <a
						href='#DesenvolvimentodeRelatórios-Tabeladeentidades'>Tabla de
							entidades</a></li>
					<li><span class='TOCOutline'>8.3</span> <a
						href='#DesenvolvimentodeRelatórios-ExemplodeUtilização'>Ejemplo
							de Uso</a></li>
				</ul></li>
			<li><span class='TOCOutline'>9</span> <a
				href='#DesenvolvimentodeRelatórios-AcessandodadosdeFormulários'>Acceso
					a datos de Formularios</a>
				<ul class='toc-indentation'>
					<li><span class='TOCOutline'>9.1</span> <a
						href='#DesenvolvimentodeRelatórios-Importandobibliotecas'>Importación
							de bibliotecas</a></li>
					<li><span class='TOCOutline'>9.2</span> <a
						href='#DesenvolvimentodeRelatórios-Retornandodadosdoformulário'>Devolución
							de datos del formulario</a></li>
				</ul></li>
			<li><span class='TOCOutline'>10</span> <a
				href='#DesenvolvimentodeRelatórios-ThirdPartyTrademarks'>Third
					Party Trademarks</a></li>
		</ul>
	</div>
	</p>
	<h1 id="DesenvolvimentodeRelatórios-Objetivo">Objetivo</h1>
	<p>El propósito de esta guía es describir el desarrollo, la
		publicación y la visualización de informes en Fluig,y para facilitar
		su comprensión se detallará un ejemplo de informe de usuario.</p>
	<p>&#160;</p>
	<h1 id="DesenvolvimentodeRelatórios-AmbientedeDesenvolvimento">Entorno
		de desarrollo</h1>
	<p>
		Para el desarrollo de informes es necesario tener Java™ JDK/JRE
		superior a 1.6. Dirección para download: <a
			href="http://java.sun.com/javase/downloads/index.jsp"
			class="external-link" rel="nofollow">http://java.sun.com/javase/downloads/index.jsp</a>.
	</p>
	<p>Fluig utilizar BIRT como motor de ejecución de informes, por eso
		para el desarrollo de informes se debe utilizar el estándar y la
		metodología de BIRT.</p>
	<p>
		Se recomienda el uso de BIRT Report Designer para el desarrollo de
		informes para Fluig.&#160;<span
			style="font-size: 10.0pt; line-height: 13.0pt;">BIRT puede
			integrarse a Studio o Eclipse (ya instalado para utilizar Fluig
			Studio, según la <a href="73078179.html">Guía de Instalación
				Fluig Studio</a>), sólo debe instalar el plugin de BIRT. P
		</span><span style="font-size: 10.0pt; line-height: 13.0pt;">ara ello
			es necesario acceder a la opción <em>Ayuda -> Instalar Nuevo
				Software</em> y seguir los siguientes procedimientos:&#160;
		</span>
	</p>
	<ol>
		<li><em>Work with:</em> Seleccionar <em>Indigo</em>.</li>
		<li><span style="font-size: 10.0pt; line-height: 13.0pt;"><em>Búsqueda:</em>
				Después de enumerar las opciones de BIRT, ingresar <em>Birt</em> en
				el campo de búsqueda.</span></li>
		<li>Marcar la casilla de selección de <em>Business
				Intelligence, Reporting and Charting.</em></li>
		<li>A continuación, presionar <em>Avanzar</em>.
		</li>
	</ol>
	<p>
		<img class="confluence-embedded-image image-center"
			src="http://tdn.totvs.com/download/attachments/181962954/1.png?version=1&modificationDate=1425499190000&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/181962954/1.png?version=1&modificationDate=1425499190000&api=v2">
	</p>
	<p>BIRT Report Designer cuenta con varias funcionalidades que
		ayudan en el desarrollo de informes. Entre ellas se destacan: el
		ajuste de layout, la configuración de acceso a datos y el formateo de
		informe.</p>
	<p>&#160;</p>
	<h1 id="DesenvolvimentodeRelatórios-SegurançaAmbienteSaaS">Seguridad
		Entorno SaaS</h1>
	<p>
		En caso de ejecución de Fluig en entorno SaaS<strong>,</strong> 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 <em>true&#160;</em>para
		la variable <em>SaaS</em>&#160;ubicada en: <em>%JBOSS_HOME%</em>\jboss-as-7.2.0.Final\standalone\configuration\standalone.xml.&#160;<span
			style="font-size: 10.0pt; line-height: 13.0pt;">Ej:</span>
	</p>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: xml; gutter: false"
				style="font-size: 12px;">&lt;simple name="java:global/webdesk/SaaS" value="true"/></pre>
		</div>
	</div>
	<p>&#160;</p>
	<h1 id="DesenvolvimentodeRelatórios-Conexãodiretacomobancodedados">Conexión
		directa a la base de datos</h1>
	<p>Se pueden publicar informes que se comuniquen directamente con
		la base de datos.</p>
	<p>
		Utilice en su informe las siguientes configuraciones prestando
		atención a los valores de las propiedades <em>'odaDriveClass'</em> y <em>'odaURL'.</em>
	</p>
	<p>&#160;</p>
	<p>
		Para realizar una conexión directa con la base de datos <strong>SQLServe</strong>r
		es necesario utilizar el siguiente estándar:
	</p>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeHeader panelHeader pdl"
			style="border-bottom-width: 1px;">
			<b>SQLServer</b>
		</div>
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: html/xml; gutter: false"
				style="font-size: 12px;">&lt;property name="odaDriverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver&lt;/property> 
&lt;property name="odaURL">jdbc:sqlserver://IP:1433;databaseName=DATABASE&lt;/property></pre>
		</div>
	</div>
	<p>&#160;</p>
	<p>
		Para realizar una conexión directa con la base de datos<strong>MySQL</strong>
		es necesario utilizar el siguiente estándar:
	</p>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeHeader panelHeader pdl"
			style="border-bottom-width: 1px;">
			<b>MySQL</b>
		</div>
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: html/xml; gutter: false"
				style="font-size: 12px;">&lt;property name="odaDriverClass">com.mysql.jdbc.Driver&lt;/property> 
&lt;property name="odaURL">jdbc:mysql://IP:3306/databaseName=DATABASE&lt;/property></pre>
		</div>
	</div>
	<p>&#160;</p>
	<h1 id="DesenvolvimentodeRelatórios-DesenvolvendoumrelatóriodeUsuários">Desarrollo
		de un informe de Usuarios</h1>
	<p>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 consulta JPA, JDBC. Es posible acceder a los datos de otros
		productos por conexión JDBC, Web Service o archivos XML.</p>
	<p>
		Para facilitar 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 <em>dataset</em>. La fuente del ejemplo citado
		se puede descargar desde el siguiente link:
	</p>
	<p>
		<a href="attachments/74646056/74613049.zip">Colleague Report.zip</a>
	</p>
	<p>
		<em><br /></em>
	</p>
	<h3
		id="DesenvolvimentodeRelatórios-Criandoumnovoprojetoeumnovorelatório">Creación
		de un nuevo proyecto y un nuevo informe</h3>
	<p>Abra la herramienta en la que se instaló el plugin de BIRT
		Report Designer para seguir el paso a paso, en este ejemplo vamos a
		utilizar Fluig Studio.</p>
	<ul>
		<li>En el proyecto Fluig previamente creado, haga clic en el
			botón derecho del mouse en la carpeta <em>reports</em>, y a
			continuación en <em>Nuevo -> Informe Fluig.</em>
		</li>
		<li>Luego, sólo debe informar el <em>Nombre del informe</em> y
			hacer clic en <em>Finalizar</em>.
		</li>
	</ul>
	<p>
		<img class="confluence-embedded-image image-center"
			src="http://tdn.totvs.com/download/attachments/181962954/2.png?version=1&modificationDate=1425499194158&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/181962954/2.png?version=1&modificationDate=1425499194158&api=v2">
	</p>
	<p style="text-align: center;">
		<strong>Figura 1 - Creación de informe en el proyecto Fluig.</strong>
	</p>
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-Configurandooacessoaosdados">Configuración
		de acceso a los datos</h3>
	<p>
		Un <em>Data Source</em> es el mecanismo que almacena los datos de
		conexión con la fuente de datos, por ejemplo, configuraciones JDBC,
		Web Service, entre otros. En el caso de este informe se utilizará el
		acceso a los datos a través de Javascript.
	</p>
	<p>Siga los siguientes pasos:</p>
	<a name="composition-deck-samples"></a>
	<div id="samples" class="deck" history="false" loopcards="false"
		effecttype="fade" effectduration="0.5" nextafter="0.0">
		<ul class="tab-navigation"></ul>
		<!-- // .tab-navigation -->
		<div class="deck-cards panel" style="">
			<div id="1" class="deck-card  active-pane" style="" cssclass=""
				accesskey="" label="Passo1" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Al crear el nuevo informe, seleccione la perspectiva <em>Report
							Design</em> y luego la pestaña&#160;<em>Data Explorer</em>, haga clic
						con el botón derecho del mouse sobre el ítem&#160;<em>Data
							Source</em>&#160;a continuación, seleccione la opción&#160;<em>New
							Data Source</em>.&#160;
					</li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/5.png?version=1&modificationDate=1425499325000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/5.png?version=1&modificationDate=1425499325000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 5 - Nuevo Data Source.</strong>
				</p>
				<p>&#160;</p>
			</div>
			<div id="2" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 2" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<div>
					<ul>
						<li>Al abrir la ventana <em>New Data Source,</em> seleccione
							la opción <em>Scripted Data Source</em> y defina el nombre <em>dsColleague</em>
							como <em>Data Source Name</em> a continuación haga clic en el
							botón <em>Finalizar.</em></li>
					</ul>
					<p>
						<img class="confluence-embedded-image image-center"
							src="http://tdn.totvs.com/download/attachments/181962954/6.png?version=1&modificationDate=1425499386000&api=v2"
							data-image-src="http://tdn.totvs.com/download/attachments/181962954/6.png?version=1&modificationDate=1425499386000&api=v2">
					</p>
					<p style="text-align: center;">
						<strong>Figura 6 - Tipo de Data Source.</strong>
					</p>
					<p>
						<strong><br /></strong>
					</p>
				</div>
			</div>
			<div id="3" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 3" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							En la pestaña <em>Data Explorer</em> haga clic con el botón
							derecho del mouse sobre el ítem <em>Data Sets</em> a continuación
							haga clic en la opción <em>New Data Set</em> como muestra la
							figura 7. Data Set es una tabla temporal de BIRT en la que se
							almacenan los datos de Data Source y se renderizan en el informe.
						</p></li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/7.png?version=1&modificationDate=1425499433857&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/7.png?version=1&modificationDate=1425499433857&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 7 - Nuevo Data Set.</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
			<div id="4" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 4" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							Al abrir la ventana <em>New Data Set</em> defina <em>colleagueDataSet</em>
							como <em>Data Set Name</em>, haga clic en el botón <em>Next</em>
							en <em>Output Columns</em> haga clic en el botón <em>Add</em> y
							agregue todos los registros del DataSet. A continuación haga clic
							en el botón Finalizar
						</p></li>
				</ul>
				<div>
					<p>&#160;</p>
					<div class="table-wrap">
						<table class="confluenceTable">
							<tbody>
								<tr>
									<td class="highlight confluenceTd"><p>
											<strong>Column Name</strong>
										</p></td>
									<td class="highlight confluenceTd"><p>
											<strong>Data Type</strong>
										</p></td>
									<td class="highlight confluenceTd"><p>
											<strong>Column Alias</strong>
										</p></td>
									<td class="highlight confluenceTd"><p>
											<strong>Display Name</strong>
										</p></td>
								</tr>
								<tr>
									<td class="confluenceTd"><p>colleagueId</p></td>
									<td class="confluenceTd"><p>String</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
								</tr>
								<tr>
									<td class="confluenceTd"><p>Login</p></td>
									<td class="confluenceTd"><p>String</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
								</tr>
								<tr>
									<td class="confluenceTd"><p>colleagueName</p></td>
									<td class="confluenceTd"><p>String</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
								</tr>
								<tr>
									<td class="confluenceTd"><p>E-mail</p></td>
									<td class="confluenceTd"><p>String</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
								</tr>
								<tr>
									<td class="confluenceTd"><p>active</p></td>
									<td class="confluenceTd"><p>String</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
								</tr>
								<tr>
									<td class="confluenceTd"><p>adminuser</p></td>
									<td class="confluenceTd"><p>String</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
									<td class="confluenceTd"><p>Vacío</p></td>
								</tr>
							</tbody>
						</table>
					</div>
					<p>&#160;</p>
					<p>
						<img class="confluence-embedded-image image-center"
							src="http://tdn.totvs.com/download/attachments/181962954/8.png?version=1&modificationDate=1425499506000&api=v2"
							data-image-src="http://tdn.totvs.com/download/attachments/181962954/8.png?version=1&modificationDate=1425499506000&api=v2">
					</p>
					<p style="text-align: center;">
						<strong>Figura 8 - Columnas del Data Set.</strong>
					</p>
					<p>&#160;</p>
				</div>
			</div>
		</div>
	</div>
	<!-- // .deck -->
	<p>
		<em><br /></em>
	</p>
	<h3 id="DesenvolvimentodeRelatórios-IncluindoparâmetrosnoRelatório">Inclusión
		de parámetros en el informe</h3>
	<p>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:</p>
	<a name="composition-deck-samples"></a>
	<div id="samples" class="deck" history="false" loopcards="false"
		effecttype="fade" effectduration="0.5" nextafter="0.0">
		<ul class="tab-navigation"></ul>
		<!-- // .tab-navigation -->
		<div class="deck-cards panel" style="">
			<div id="1" class="deck-card  active-pane" style="" cssclass=""
				accesskey="" label="Passo1" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Selecione la pestaña&#160;<em>Data Explorer</em>, a
						continuación haga clic con el botón derecho del mouse en el
						ítem&#160;<em>Report Parameters</em>, seleccione la opción&#160;<em>New
							Parameter.&#160;</em></li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/9.png?version=1&modificationDate=1425499547000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/9.png?version=1&modificationDate=1425499547000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 9 - Parámetros del Informe.</strong>
				</p>
				<p>&#160;</p>
			</div>
			<div id="2" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 2" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<div>
					<ul>
						<li><p>La figura 10 muestra la ventana de inclusión de
								parámetros.</p></li>
					</ul>
					<p>
						<img class="confluence-embedded-image image-center"
							src="http://tdn.totvs.com/download/attachments/181962954/10.png?version=1&modificationDate=1425499609000&api=v2"
							data-image-src="http://tdn.totvs.com/download/attachments/181962954/10.png?version=1&modificationDate=1425499609000&api=v2">
					</p>
					<p style="text-align: center;">
						<strong>Figura 10 - Configuración de parámetros.</strong>
					</p>
					<p>
						<strong><br /></strong>
					</p>
					<p>Al abrir la ventana New Parameter incluya los siguientes
						parámetros:</p>
					<p>&#160;</p>
					<p>
						<strong>Matrícula</strong>
					</p>
					<div class="table-wrap">
						<table class="confluenceTable">
							<tbody>
								<tr>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Campo</span></th>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Valor</span></th>
								</tr>
								<tr>
									<td class="confluenceTd">Name</td>
									<td class="confluenceTd">Matrícula</td>
								</tr>
								<tr>
									<td class="confluenceTd">Prompt text</td>
									<td class="confluenceTd">Matrícula del Usuario o "*" para
										mostrar todos</td>
								</tr>
								<tr>
									<td class="confluenceTd">Data type</td>
									<td class="confluenceTd">String</td>
								</tr>
								<tr>
									<td colspan="1" class="confluenceTd">Display type</td>
									<td colspan="1" class="confluenceTd">Text Box</td>
								</tr>
								<tr>
									<td colspan="1" class="confluenceTd">Is Required</td>
									<td colspan="1" class="confluenceTd">true</td>
								</tr>
							</tbody>
						</table>
					</div>
					<p>&#160;</p>
					<p>
						<strong>Muestra Usuarios</strong>
					</p>
					<div class="table-wrap">
						<table class="confluenceTable">
							<tbody>
								<tr>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Campo</span></th>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Valor</span></th>
								</tr>
								<tr>
									<td class="confluenceTd">Name</td>
									<td class="confluenceTd">paramEnable</td>
								</tr>
								<tr>
									<td class="confluenceTd">Prompt text</td>
									<td class="confluenceTd">Mostrar usuarios</td>
								</tr>
								<tr>
									<td class="confluenceTd">Data type</td>
									<td class="confluenceTd">String</td>
								</tr>
								<tr>
									<td colspan="1" class="confluenceTd">Display type</td>
									<td colspan="1" class="confluenceTd">List Box</td>
								</tr>
								<tr>
									<td colspan="1" class="confluenceTd">Is Required</td>
									<td colspan="1" class="confluenceTd">true</td>
								</tr>
							</tbody>
						</table>
					</div>
					<p>
						<em>Selection Values</em>
					</p>
					<div class="table-wrap">
						<table class="confluenceTable">
							<tbody>
								<tr>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Value</span></th>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Display Text</span></th>
								</tr>
								<tr>
									<td class="confluenceTd">*</td>
									<td class="confluenceTd">Todos</td>
								</tr>
								<tr>
									<td class="confluenceTd">true</td>
									<td class="confluenceTd">Activos</td>
								</tr>
								<tr>
									<td class="confluenceTd">false</td>
									<td class="confluenceTd">Inactivos</td>
								</tr>
							</tbody>
						</table>
					</div>
					<p>&#160;</p>
					<p>
						<strong>Ordenar Por</strong>
					</p>
					<div class="table-wrap">
						<table class="confluenceTable">
							<tbody>
								<tr>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Campo</span></th>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Valor</span></th>
								</tr>
								<tr>
									<td class="confluenceTd">Name</td>
									<td class="confluenceTd">paramSort</td>
								</tr>
								<tr>
									<td class="confluenceTd">Prompt text</td>
									<td class="confluenceTd">Ordenar por</td>
								</tr>
								<tr>
									<td class="confluenceTd">Data type</td>
									<td class="confluenceTd">String</td>
								</tr>
								<tr>
									<td colspan="1" class="confluenceTd">Display type</td>
									<td colspan="1" class="confluenceTd">List Box</td>
								</tr>
							</tbody>
						</table>
					</div>
					<p>
						<em>Selection Values</em>
					</p>
					<div class="table-wrap">
						<table class="confluenceTable">
							<tbody>
								<tr>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Value</span></th>
									<th class="confluenceTh"><span
										style="color: rgb(0, 51, 102);">Display Text</span></th>
								</tr>
								<tr>
									<td class="confluenceTd">c.colleaguePK.colleagueId</td>
									<td class="confluenceTd">Matrícula</td>
								</tr>
								<tr>
									<td class="confluenceTd">c.collegueName</td>
									<td class="confluenceTd">Nombre</td>
								</tr>
								<tr>
									<td class="confluenceTd">c.login</td>
									<td class="confluenceTd">Login</td>
								</tr>
							</tbody>
						</table>
					</div>
				</div>
			</div>
		</div>
	</div>
	<!-- // .deck -->
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-TAG&#39;s">TAG's</h3>
	<p>Fluig ofrece TAG’s de reemplazo que ayudan al desarrollo y la
		seguridad de la generación de información del informe, estas son:</p>
	<p>
		• ${WKCompany}: sustituye a la variable por el código de la empresa
		autenticada en Fluig.<br />• ${WKUser}: sustituye a la variable por
		el código del usuario autenticado en Fluig.
	</p>
	<p>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 Fluig.</p>
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-PopulandooDataSet">Completar
		el Data Set</h3>
	<p>
		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 Fluig, pero se pueden utilizar otros recursos para
		completar el <em>Data Set</em>: XML, Web Service y JDBC.
	</p>
	<p>BIRT renderiza el informe a través de la ejecución de sus
		eventos, son muchos los eventos proporcionados por BIRT, en este
		ejemplo se utilizarán:</p>
	<ul>
		<li><em> initialize: </em> primer evento activado por BIRT, se
			recomienda utilizar este evento para importar bibliotecas e
			inicializar variables;</li>
		<li><em>beforeOpen</em>: evento activado, antes de BIRT abrir la
			conexión con la fuente de datos (<em>Data Source</em>);</li>
		<li><em>fetch</em>: evento activado por BIRT después de buscar
			cada registro en el Data Set y antes de aplicar los filtros y los
			campos calculados.</li>
	</ul>
	<p>A través de los eventos se puede desarrollar la lógica de
		consulta 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 ™.</p>
	<p>&#160;</p>
	<a name="composition-deck-samples"></a>
	<div id="samples" class="deck" history="false" loopcards="false"
		effecttype="fade" effectduration="0.5" nextafter="0.0">
		<ul class="tab-navigation"></ul>
		<!-- // .tab-navigation -->
		<div class="deck-cards panel" style="">
			<div id="1" class="deck-card  active-pane" style="" cssclass=""
				accesskey="" label="Initialize" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Seleccione la pestaña&#160;<em>Script</em>&#160;en la
						página del informe y a continuación seleccione el evento&#160;<em>initialize</em>,
						incluya el siguiente código como muestra la figura 11:
					</li>
				</ul>
				<div class="code panel pdl" style="border-width: 1px;">
					<div class="codeContent panelContent pdl">
						<pre class="theme: Confluence; brush: javascript; gutter: false"
							style="font-size: 12px;">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;
</pre>
					</div>
				</div>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/11.png?version=1&modificationDate=1425499688000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/11.png?version=1&modificationDate=1425499688000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 11 - Evento initialize.</strong>
				</p>
				<p>&#160;</p>
				<p>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.</p>
				<p>Detalles sobre el código:</p>
				<ul>
					<li style="list-style-type: none;"><ul>
							<li><em>importPackage</em>: comando responsable de la
								importación de bibliotecas Java™.</li>
							<li><em>Package.java.util</em>: biblioteca responsable de
								las Clases&#160;<em>utils</em>&#160;de Java™.</li>
							<li><em>Packages.com.datasul.technology.webdesk.dataset.service</em><span>:
									biblioteca ofrecida por Fluig para consultar la base de datos
									del producto.</span><span><br /></span><br /> <span><br /></span></li>
						</ul></li>
				</ul>
			</div>
			<div id="2" class="deck-card " style="" cssclass="" accesskey=""
				label="BeforeOpen" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Seleccione la pestaña <em>Data Explorer</em>, abra el ítem
						<em>Data Sets</em> y haga clic en <em>colleagueDataSet, a
							continuación haga clic en la pestaña Script </em> y luego seleccione
						el evento <em>beforeOpen</em> e incluya el siguiente código, como
						se muestra en la figura 12.
					</li>
				</ul>
				<div class="code panel pdl" style="border-width: 1px;">
					<div class="codeContent panelContent pdl">
						<pre class="theme: Confluence; brush: javascript; gutter: false"
							style="font-size: 12px;">try{
	var factory = DatasetFactory.getInstance(${WKCompany});
	var constraints = new Array();	
	var sortingFields = new Array();
	var i = 0;		
	 
	//Filtra sólo por la matrícula del colaborador informado
	if(params["Matricula"].value != null &amp;amp;&amp;amp; params["Matricula"].value != "*") {		
		constraints[i] = factory.createConstraint("colleaguePK.colleagueId", params["Matricula"].value, params["Matricula"].value, ConstraintType.MUST);
		i++;
	}
	
	//Filtra activos si está seleccionada
	if(params["paramEnable"].value != null &amp;amp;&amp;amp; params["paramEnable"].value != "*"){
		constraints[i] = factory.createConstraint("active", params["paramEnable"].value, params["paramEnable"].value, ConstraintType.MUST);
		i++;
	}
	
	//Ordena según la selección
	if(params["paramSort"].value != null &amp;amp;&amp;amp; params["paramSort"].value != "*"){
		sortingFields[0] = params["paramSort"].value;
	}	
	
	//Dataset
	dataset = factory.getDataset("colleague", null, constraints, sortingFields);
	
}catch (e) {
}finally {
}
</pre>
					</div>
				</div>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/12.png?version=1&modificationDate=1425499730000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/12.png?version=1&modificationDate=1425499730000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 12 - Evento BeforeOpen.</strong>
				</p>
				<p>
					<strong><br /></strong>
				</p>
				<p>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.</p>
				<p>Detalles sobre el código:</p>
				<ul>
					<li>${WKCompany}: TAG ofrecida por Fluig, devuelve el código
						de la empresa en la cual el usuario está autenticado;</li>
					<li>params["Matricula"]: parámetro de informe, devuelve el
						código de la matrícula definido por el usuario;</li>
					<li>params["paramEnable "]: parámetro de informe, devuelve el
						tipo de usuario;</li>
					<li><span style="font-size: 10.0pt; line-height: 13.0pt;">params["paramSort
							"]: parámetro de informe, devuelve el modo de ordenar;</span><br /> <span
						style="font-size: 10.0pt; line-height: 13.0pt;"><br /></span></li>
				</ul>
			</div>
			<div id="3" class="deck-card " style="" cssclass="" accesskey=""
				label="Fetch" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<ul>
					<li>Para incluir el resultado de la consulta en el <em>Data
							Set</em> y&#160; formatear los datos del informe, seleccione el evento
						<em>fetch</em> en el área de <em>Script</em> e incluya el
						siguiente código<em> </em>como se muestra en la figura 13.
					</li>
				</ul>
				<div class="code panel pdl" style="border-width: 1px;">
					<div class="codeContent panelContent pdl">
						<pre class="theme: Confluence; brush: javascript; gutter: false"
							style="font-size: 12px;">if (dataset != null) {
	if (count &lt;	dataset.rowsCount){
		//instala el objeto de la lí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"] = "Sí";
		}else{
			row["active"] = "No";
		}
		
		//Actualiza el contador  
		count++;
		return true;
	}
	return false;
}</pre>
					</div>
				</div>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/13.png?version=1&modificationDate=1425499779000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/13.png?version=1&modificationDate=1425499779000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 13 - Evento fetch<em>.</em></strong>
				</p>
				<p style="text-align: center;">
					<strong><em><br /></em></strong>
				</p>
			</div>
		</div>
	</div>
	<!-- // .deck -->
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-ObtendodadosviaconexãoJDBC">Obtención
		de datos por conexión JDBC</h3>
	<p>
		Una forma alternativa de obtención de datos para crear informes es el
		uso de JDBC. Es necesario crear un <em>Data</em> <em>Source</em> 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.
	</p>
	<a name="composition-deck-samples"></a>
	<div id="samples" class="deck" history="false" loopcards="false"
		effecttype="fade" effectduration="0.5" nextafter="0.0">
		<ul class="tab-navigation"></ul>
		<!-- // .tab-navigation -->
		<div class="deck-cards panel" style="">
			<div id="1" class="deck-card  active-pane" style="" cssclass=""
				accesskey="" label="Passo 1" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							Seleccione la pestaña&#160;<em>Data Explorer</em>, haga clic con
							el botón derecho del mouse en el ítem&#160;<em>Data Source</em>&#160;y
							a continuación, seleccione la opción&#160;<em>New Data
								Source</em>&#160;como se muestra en la figura 14.
						</p>
						<p>
							<img class="confluence-embedded-image image-center"
								src="http://tdn.totvs.com/download/attachments/181962954/14.png?version=1&modificationDate=1425499858000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/181962954/14.png?version=1&modificationDate=1425499858000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 14 – Nuevo Data Source</strong>
						</p>
						<p style="text-align: center;">
							<strong><br /></strong>
						</p></li>
				</ul>
			</div>
			<div id="2" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 2" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							Al abrir la ventana&#160;<em>New Data Source,</em>&#160;seleccione
							la opción&#160;<em>JDBC DataSource</em>&#160;y defina el
							nombre&#160;<em>JDBC-DataSource</em>&#160;como&#160;<em>Data
								Source Name</em>&#160;a continuación, haga clic en el botón&#160;<em>Next</em>,
							como muestra la figura 15.
						</p>
						<p>
							<img class="confluence-embedded-image image-center"
								src="http://tdn.totvs.com/download/attachments/181962954/15.png?version=1&modificationDate=1425499896000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/181962954/15.png?version=1&modificationDate=1425499896000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 15 – Tipo Data Source</strong>
						</p>
						<p style="text-align: center;">
							<strong><br /></strong>
						</p></li>
				</ul>
			</div>
			<div id="3" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 3" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>En la siguiente ventana se debe configurar la
							conexión a la base de datos.&#160;</p>
						<p>
							En el campo&#160;<em>Driver</em>&#160;<em>Class</em>&#160;seleccione
							el driver de 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&#160;<em>Managed</em>&#160;<em>Drivers</em>...
						</p>
						<p>
							Informe también los valores de&#160;<em>Database URL, User
								Name&#160;</em>y&#160;<em>Password&#160;</em>de acuerdo a la base de
							datos elegida, como muestra la figura 16.
						</p>
						<p>
							<img class="confluence-embedded-image image-center"
								src="http://tdn.totvs.com/download/attachments/181962954/16.png?version=1&modificationDate=1425499939000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/181962954/16.png?version=1&modificationDate=1425499939000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 16 – Configuración de la conexión con
								base de datos.</strong>
						</p>
						<p style="text-align: center;">
							<strong><br /></strong>
						</p></li>
				</ul>
			</div>
			<div id="4" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 4" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							En la pestaña&#160;<em>Data Explorer</em>&#160;haga clic con el
							botón derecho del mouse sobre el ítem&#160;<em>Data Sets</em>&#160;a
							continuación, haga clic en la opción&#160;<em>New Data Set</em>.
						</p>
						<p style="text-align: center;">
							<img class="confluence-embedded-image"
								src="http://tdn.totvs.com/download/attachments/181962954/17.png?version=1&modificationDate=1425499997000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/181962954/17.png?version=1&modificationDate=1425499997000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 17 – Creación del Nuevo Data Set.</strong>
						</p>
						<p style="text-align: center;">
							<strong><br /></strong>
						</p></li>
				</ul>
			</div>
			<div id="5" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 5" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Seleccione &#160;<em>Data</em><em>Source</em>&#160;creado
						(<em>JDBC-DataSource</em>), en el campo&#160;<em>Data Set
							Type</em>&#160;seleccione SQL&#160;<em>Select Query</em>, informe un
						nombre para el &#160;<em>Data Set&#160;</em>y haga clic en&#160;<em>next,
							como muestra la figura 18.</em></li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/18.png?version=1&modificationDate=1425500071000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/18.png?version=1&modificationDate=1425500071000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 18 – Configuración del Data Set.</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
			<div id="6" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 6" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>&#160;En la siguiente pantalla informe a SQL que busca los
						datos en la base de datos, en este ejemplo, se buscarán los
						volúmenes de la empresa autenticada en Fluig.</li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/181962954/19.png?version=1&modificationDate=1425500115000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/181962954/19.png?version=1&modificationDate=1425500115000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 19 – Creación de Query SQL</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
				<ul>
					<li><p>
							El siguiente <em>Query </em> busca en la base de datos todos los
							volúmenes de la empresa del usuario autenticado en Fluig, este
							código se obtiene a través de la TAG ${WKCompany}.
						</p></li>
				</ul>
				<div class="code panel pdl" style="border-width: 1px;">
					<div class="codeContent panelContent pdl">
						<pre class="theme: Confluence; brush: java; gutter: false"
							style="font-size: 12px;">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}</pre>
					</div>
				</div>
				<div class="aui-message hint shadowed information-macro">
					<p class="title">Nota</p>
					<span class="aui-icon icon-hint">Icon</span>
					<div class="message-content">
						<p>
							Puede ocurrir algún error al finalizar la creación del <em>Data</em>
							<em>Set</em> ya que la TAG&#160; ${WKCompany} no existe en el
							contexto de BIRT. 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} no es un comando SQL. Pero 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 Fluig, corrigiendo el error de sintaxis.
						</p>
						<p>
							<img class="confluence-embedded-image image-center"
								src="http://tdn.totvs.com/download/attachments/181962954/20.png?version=1&modificationDate=1425500167000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/181962954/20.png?version=1&modificationDate=1425500167000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 20 – Error de Birt por el uso de la TAG
								${WKCompany}</strong>
						</p>
					</div>
				</div>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
		</div>
	</div>
	<!-- // .deck -->
	<div class="aui-message warning shadowed information-macro">
		<p class="title">Atención</p>
		<span class="aui-icon icon-warning">Icon</span>
		<div class="message-content">
			<p>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 de informe Birt) 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 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.</p>
			<p>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.</p>
		</div>
	</div>
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-FormatandoavisualizaçãodoRelatório">Formatear
		la visualización del informe</h3>
	<p>
		Se requiere la inclusión de los componentes de renderización del
		informe. Haga clic en la pestaña <em>Layout</em> para visualizar la
		página del informe que está en blanco y, a continuación, seleccione la
		pestaña <em>Palette</em> como muestra la figura 21.
	</p>
	<p>
		<img class="confluence-embedded-image image-center"
			src="http://tdn.totvs.com/download/attachments/185738005/1774646056/image2013-9-16%2017%3A11%3A52.png?version=1&modificationDate=14255004400001379362244000&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/185738005/1774646056/image2013-9-16%2017%3A11%3A52.png?version=1&modificationDate=14255004400001379362244000&api=v2">
	</p>
	<p style="text-align: center;">
		<strong>Figura 21 – Informe en blanco.</strong>
	</p>
	<p>En la pestaña Pallets se pueden incluir varios componentes de
		visualización y renderización de datos entre ellos se encuentran:</p>
	<ul>
		<li>Label: Texto corto y estático.</li>
		<li>Text: Texto largo se puede formatear con TAG’s HTML.</li>
		<li>Dynamic Text: Texto dinámico proveniente del Data Set.</li>
		<li>Image: Inclusión de imágenes.</li>
		<li>Grid: Formateador de datos en Grid.</li>
		<li>Table: Tabla de datos.</li>
		<li>Chart: Gráficos de torta, línea, tubo, etc.</li>
	</ul>
	<a name="composition-deck-samples"></a>
	<div id="samples" class="deck" history="false" loopcards="false"
		effecttype="fade" effectduration="0.5" nextafter="0.0">
		<ul class="tab-navigation"></ul>
		<!-- // .tab-navigation -->
		<div class="deck-cards panel" style="">
			<div id="1" class="deck-card  active-pane" style="" cssclass=""
				accesskey="" label="Componente Image" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>Es posible incluir imágenes de internet, incluir
							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.</p>
						<p>
							Arraste un componente&#160;<em>Image</em>&#160;en el informe, al
							abrir la ventana&#160;<em>Edit Image&#160;</em>Ítem, seleccione
							la opción&#160;<em>Image file in shared&#160;resources</em>,
							seleccione el archivo de imagen en la opción&#160;<em>Enter
								resource file e&#160;</em>a continuación, haga clic en el botón&#160;<em>Insert</em>.
						</p>
						<p>
							<img class="confluence-embedded-image image-center"
								src="http://tdn.totvs.com/download/attachments/74646056/75235792image2013-9-16%2017%3A20%3A27.png?version=1&modificationDate=1379362758000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/74646056/75235792image2013-9-16%2017%3A20%3A27.png?version=1&modificationDate=1379362758000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 22 – Componente Image.</strong>
						</p>
						<p style="text-align: center;">
							<strong><br /></strong>
						</p></li>
				</ul>
			</div>
			<div id="2" class="deck-card " style="" cssclass="" accesskey=""
				label="Componente Text" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							Arraste un componente <em>Text</em> en el informe, al abrir la
							ventana <em>Edit Text Item</em> seleccione la opción <em>HTML</em>
							y en el área de texto incluya la siguiente información formateada
							en HTML:
						</p></li>
				</ul>
				<div class="code panel pdl" style="border-width: 1px;">
					<div class="codeContent panelContent pdl">
						<pre class="theme: Confluence; brush: html/xml; gutter: false"
							style="font-size: 12px;">&lt;br>
&lt;a href="http://www.fluig.com/">http://www.fluig.com/&lt;/a>
&lt;br>&lt;b>E-mail:&lt;/b> &lt;a href="mailto:[email protected]">[email protected]&lt;/a>
&lt;br>&lt;b>Teléfono:&lt;/b> 0800 882 9191
&lt;br></pre>
					</div>
				</div>
				<div>
					<ul>
						<li><p>
								A continuación haga clic en el botón <em>OK</em> como muestra la
								figura 23.
							</p></li>
					</ul>
				</div>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/74646056/75235799image2013-9-16%2017%3A20%3A27.png?version=1&modificationDate=1379362758000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/74646056/75235799image2013-9-16%2017%3A20%3A27.png?version=1&modificationDate=1379362758000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 23 - Componente Text.</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
			<div id="3" class="deck-card " style="" cssclass="" accesskey=""
				label="Componente Label" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Arraste un componente <em>Label</em> en el informe, haga
						doble clic sobre el componente incluido&#160; e ingrese <em>Informe
							de Usuarios,</em> en la pestaña <em>Property Editor - Label -> G</em><em>eneral</em>
						defina el formato de label, como muestra la figura 24.
					</li>
				</ul>
				<p>
					&#160;<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/74646056/75235800image2013-9-16%2017%3A34%3A9.png?version=1&modificationDate=1379363580000&api=v2"
						data-image-src="attachmentshttp:/74646056/75235800.png/tdn.totvs.com/download/attachments/74646056/image2013-9-16%2017%3A34%3A9.png?version=1&modificationDate=1379363580000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 24 - Título del informe.</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
			<div id="4" class="deck-card " style="" cssclass="" accesskey=""
				label="Componente Table" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>Arraste un componente <em>Table</em>, al abrir la ventana
						<em>Insert Table</em> defina 6 columnas y 1 detalle y, haga clic
						en el botón <em>OK</em> como muestra la figura 25.
					</li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/74646056/75235806image2013-9-16%2017%3A37%3A15.png?version=1&modificationDate=1379363765000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/74646056/75235806image2013-9-16%2017%3A37%3A15.png?version=1&modificationDate=1379363765000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 25 - Configuración de la Tabla.</strong>
				</p>
				<p style="text-align: left;">
					<strong><br /></strong>
				</p>
			</div>
			<div id="5" class="deck-card " style="" cssclass="" accesskey=""
				label="Lables para Table" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<p>
					En la tabla agregada al informe incluya un componente <em>Label</em>
					para cada columna de la línea <em>Header Row</em> defina los
					siguientes valores<em>:</em>
				</p>
				<ul>
					<li><span style="font-size: 10.0pt; line-height: 13.0pt;">Matrícula.</span></li>
					<li>Nombre.</li>
					<li>Login.</li>
					<li>E-mail.</li>
					<li>Activo.</li>
					<li>Administrador.</li>
				</ul>
				<p>
					Formatee las <em>labels</em> incluidas definiendo el color de la
					fuente y el color del fondo como muestra la figura 26.
				</p>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/74646056/75235812image2013-9-16%2017%3A41%3A48.png?version=1&modificationDate=1379364039000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/74646056/75235812image2013-9-16%2017%3A41%3A48.png?version=1&modificationDate=1379364039000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 26 - Título de las Columnas.</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
		</div>
	</div>
	<!-- // .deck -->
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-RenderizandodadosdoDataSet">Renderización
		de datos del Data Set</h3>
	<p>
		Seleccione la pestaña <em>Data Explorer</em> y abra <em>colleagueDataSet</em>
		creado anteriormente y, a continuación arrastre cada ítem del <em>Data
			Set</em> a la columna <em>Detail Row</em> de la tabla creada
		anteriormente, como muestra la figura 27.&#160;
	</p>
	<p>
		<img class="confluence-embedded-image image-center"
			src="attachmentshttp:/74646056/75235816.png"
			data-image-src="attachments/74646056/75235816.pngtdn.totvs.com/download/attachments/74646056/image2013-9-16%2017%3A46%3A11.png?version=1&modificationDate=1379364302000&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/74646056/image2013-9-16%2017%3A46%3A11.png?version=1&modificationDate=1379364302000&api=v2">
	</p>
	<p style="text-align: center;">
		<strong>Figura 27 - Data Set.</strong>
	</p>
	<p style="text-align: left;">&#160;</p>
	<h1 style="text-align: left;"
		id="DesenvolvimentodeRelatórios-PublicandoRelatórios">Publicación
		de Informes</h1>
	<h3 style="text-align: left;"
		id="DesenvolvimentodeRelatórios-Publicação">Publicación</h3>
	<p>Al completar el desarrollo del informe, es necesario realizar la
		exportación del mismo para la navegación de documentos Fluig.</p>
	<a name="composition-deck-samples"></a>
	<div id="samples" class="deck" history="false" loopcards="false"
		effecttype="fade" effectduration="0.5" nextafter="0.0">
		<ul class="tab-navigation"></ul>
		<!-- // .tab-navigation -->
		<div class="deck-cards panel" style="">
			<div id="1" class="deck-card  active-pane" style="" cssclass=""
				accesskey="" label="Passo1" title="" nextafter="0"
				effecttype="default" effectduration="-1.0">
				<p>&#160;</p>
				<p>
					Para ello, haga clic sobre la carpeta del informe con el botón
					derecho del mouse y presione&#160;<em>Exportar</em>.
				</p>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/74646056/75236393image2013-9-18%209%3A8%3A5.png?version=1&modificationDate=1379506017000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236393image2013-9-18%209%3A8%3A5.png?version=1&modificationDate=1379506017000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 28 – Exportación de Informe.</strong>
				</p>
				<p style="text-align: left;">
					<strong><br /></strong>
				</p>
				<div class="aui-message hint shadowed information-macro">
					<p class="title">Nota</p>
					<span class="aui-icon icon-hint">Icon</span>
					<div class="message-content">
						<p>Los 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.</p>
					</div>
				</div>
			</div>
			<div id="2" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 2" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<div>
					<ul>
						<li><p>
								<span>En la pantalla de Exportación, haga clic
									sobre&#160;<em>Expotar al servidor Fluig</em>&#160;y a
									continuación, presione&#160;<em>Avanzar</em>.
								</span>
							</p>
							<p>&#160;</p>
							<p>
								<img class="confluence-embedded-image image-center"
									src="http://tdn.totvs.com/download/attachments/74646056/75236394image2013-9-18%209%3A9%3A26.png?version=1&modificationDate=1379506098000&api=v2"
									data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236394.png">image2013-9-18%209%3A9%3A26.png?version=1&modificationDate=1379506098000&api=v2">
							</p>
							<p style="text-align: center;">
								<strong>Figura 29 – Exportación de informe.</strong>
							</p>
							<p style="text-align: center;">
								<strong><br /></strong>
							</p></li>
					</ul>
				</div>
			</div>
			<div id="3" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 3" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li><p>
							En la pantalla&#160;<em>Exportar Informe</em>, es necesario
							informar el nombre del&#160;<em>Servidor</em>, identificar si
							será la publicación de un&#160;<em>Nuevo Informe</em>, 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&#160;<em>Versión</em>&#160;(como se está
							realizando una nueva publicación, se debe seleccionar&#160;<em>Mantener
								Actual</em>).
						</p>
						<p>
							<img class="confluence-embedded-image image-center"
								src="http://tdn.totvs.com/download/attachments/74646056/75236396image2013-9-18%209%3A24%3A7.png?version=1&modificationDate=1379506979000&api=v2"
								data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236396image2013-9-18%209%3A24%3A7.png?version=1&modificationDate=1379506979000&api=v2">
						</p>
						<p style="text-align: center;">
							<strong>Figura 29 – Exportación de informe.</strong>
						</p>
						<p style="text-align: center;">
							<strong><br /></strong>
						</p></li>
				</ul>
			</div>
			<div id="4" class="deck-card " style="" cssclass="" accesskey=""
				label="Passo 4" title="" nextafter="0" effecttype="default"
				effectduration="-1.0">
				<p>&#160;</p>
				<ul>
					<li>En la carpeta<em>&#160;Informe</em>&#160;de la&#160;<em>Navegación
							de Documentos</em>&#160;se podrá observar que el informe se publicó
						con éxito.
					</li>
				</ul>
				<p>
					<img class="confluence-embedded-image image-center"
						src="http://tdn.totvs.com/download/attachments/74646056/75236397image2013-9-18%209%3A27%3A32.png?version=1&modificationDate=1379507183000&api=v2"
						data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236397image2013-9-18%209%3A27%3A32.png?version=1&modificationDate=1379507183000&api=v2">
				</p>
				<p style="text-align: center;">
					<strong>Figura 29 – Publicación de informe.</strong>
				</p>
				<p style="text-align: center;">
					<strong><br /></strong>
				</p>
			</div>
		</div>
	</div>
	<!-- // .deck -->
	<p>&#160;</p>
	<h1 style="text-align: left;"
		id="DesenvolvimentodeRelatórios-VisualizadordeRelatórios">Visualizador
		de Informes</h1>
	<p>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
		Fluig.</p>
	<p>
		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
		<em> OK </em>.
	</p>
	<p>
		<img class="confluence-embedded-image image-center"
			src="http://tdn.totvs.com/download/attachments/74646056/75236428image2013-9-18%2010%3A1%3A21.png?version=1&modificationDate=1379509212000&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236428image2013-9-18%2010%3A1%3A21.png?version=1&modificationDate=1379509212000&api=v2">
	</p>
	<p style="text-align: center;">
		<strong>Figura 32 – Parámetros del informe.</strong>
	</p>
	<p>&#160;</p>
	<p>El informe deberá mostrar todos los usuarios registrados en
		Fluig para la empresa en la cual el usuario está autenticado.</p>
	<p>
		<img class="confluence-embedded-image image-center"
			src="http://tdn.totvs.com/download/attachments/74646056/75236430image2013-9-18%2010%3A3%3A24.png?version=1&modificationDate=1379509336000&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236430image2013-9-18%2010%3A3%3A24.png?version=1&modificationDate=1379509336000&api=v2">
	</p>
	<p style="text-align: center;">
		<strong>Figura 33 – Informe de Usuarios– Resultado</strong>.
	</p>
	<p style="text-align: left;">
		<strong><br /></strong>
	</p>
	<p style="text-align: left;">
		<span
			style="color: rgb(0, 0, 0); font-size: 1.4em; font-weight: bold; line-height: normal;">Opciones
			del visualizador</span>
	</p>
	<p>La herramienta de visualización de informe de Fluig posee varias
		funcionalidades:</p>
	<ul>
		<li><em>Verificar Indice</em>: Si el informe desarrollado posee
			índice es posible ponerlo en la lista.</li>
		<li><em>Ejecutar informe</em>: Permite que el informe se ejecute
			nuevamente.</li>
		<li><em>Exportar datos: </em>Exporta los datos generados del
			informe en archivo, permitiendo seleccionar las columnas deseadas y
			el separador de datos.</li>
		<li><em>Exportar informe</em>: Convierte los datos del informe en
			diferentes formatos de archivos: Microsoft® Excel®, PostScript®, PDF,
			Microsoft® Word e Microsoft® Power Point®, permite también la
			selección de páginas que se exportarán.</li>
		<li><em>Imprimir informe</em>: Imprime informe seleccionando las
			impresoras instaladas en el ordenador del usuario autenticado y le
			permite imprimir en formato DF o HTML.</li>
		<li><em>Imprimir informe en el servidor: </em>Imprime informe
			desde las impresoras instaladas en el servidor de Fluig.</li>
		<li>Navegación de páginas: permite navegar entre las páginas del
			informe.</li>
	</ul>
	<p>
		<img class="confluence-embedded-image"
			src="http://tdn.totvs.com/download/attachments/74646056/75236439image2013-9-18%2010%3A20%3A48.png?version=1&modificationDate=1379510380000&api=v2"
			data-image-src="http://tdn.totvs.com/download/attachments/74646056/75236439image2013-9-18%2010%3A20%3A48.png?version=1&modificationDate=1379510380000&api=v2">
	</p>
	<p style="text-align: center;">
		<strong>Figura 34 – Funcionalidades de visualizador de
			informes.</strong>
	</p>
	<p style="text-align: left;">
		<strong><br /></strong>
	</p>
	<div>
		<h1 id="DesenvolvimentodeRelatórios-JPA-FunçõesdeAgregação">JPA -
			Funciones de Agregación</h1>
	</div>
	<h3 id="DesenvolvimentodeRelatórios-FunçõesdeAgregação">Funciones
		de Agregación</h3>
	<p>Fluig soporta a través de consultas JPA y su base de datos, el
		uso de las funciones de agregación, como por ejemplo: AVG, SUM, COUNT,
		MAX y MIN. Permite también utilizar agrupaciones: GROUP BY y HAVING</p>
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-Tabeladeentidades">Tabla de
		entidades</h3>
	<p>La siguiente tabla hace referencia a la relación entre el código
		de dataset, la entidad de persistencia JPA usada en las consultas, y
		la tabla correspondiente a la base de datos.&#160;Las columnas de las
		entidades de persistencia son las mismas presentadas en dataset.</p>
	<div class="table-wrap">
		<table class="confluenceTable">
			<tbody>
				<tr>
					<td class="highlight confluenceTd"><p>
							<strong>Código dataset</strong>
						</p></td>
					<td class="highlight confluenceTd"><p>
							<strong>Entidad JPA</strong>
						</p></td>
					<td class="highlight confluenceTd"><p>
							<strong>Tabla base de datos</strong>
						</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>AccessLog</strong>
						</p></td>
					<td class="confluenceTd"><p>AccessLog</p></td>
					<td class="confluenceTd"><p>HISTOR_ACES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>ActivityDim</strong>
						</p></td>
					<td class="confluenceTd"><p>ActivityDim</p></td>
					<td class="confluenceTd"><p>ACTIVITY_DIM_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>advancedProcessProperties</strong>
						</p></td>
					<td class="confluenceTd"><p>AdvancedProcessProperties</p></td>
					<td class="confluenceTd"><p>PROPRIED_AVANCAD_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>businessPeriod</strong>
						</p></td>
					<td class="confluenceTd"><p>BusinessPeriod</p></td>
					<td class="confluenceTd"><p>PERIOD_EXPED</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>destinationArea</strong>
						</p></td>
					<td class="confluenceTd"><p>DestinationArea</p></td>
					<td class="confluenceTd"><p>AREA_DEST</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>document</strong>
						</p></td>
					<td class="confluenceTd"><p>Document</p></td>
					<td class="confluenceTd"><p>DOCUMENTO</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>documentSecurityConfig</strong>
						</p></td>
					<td class="confluenceTd"><p>DocumentSecurityConfig</p></td>
					<td class="confluenceTd"><p>CONFIGUR_SEGUR_DOCTO</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>FactActivityCost</strong>
						</p></td>
					<td class="confluenceTd"><p>FactActivityCost</p></td>
					<td class="confluenceTd"><p>FACT_ACTIVITY_COST_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>FactFlowVolume</strong>
						</p></td>
					<td class="confluenceTd"><p>FactFlowVolume</p></td>
					<td class="confluenceTd"><p>FACT_FLOW_VOLUME_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>FactProcesCost</strong>
						</p></td>
					<td class="confluenceTd"><p>FactProcesCost</p></td>
					<td class="confluenceTd"><p>FACT_PROCES_COST_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>FactProcesVolume</strong>
						</p></td>
					<td class="confluenceTd"><p>FactProcesVolume</p></td>
					<td class="confluenceTd"><p>FACT_PROCES_VOLUME_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>FlowDim</strong>
						</p></td>
					<td class="confluenceTd"><p>FlowDim</p></td>
					<td class="confluenceTd"><p>FLOW_DIM_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>globalCalendar</strong>
						</p></td>
					<td class="confluenceTd"><p>GlobalCalendar</p></td>
					<td class="confluenceTd"><p>CALEND_GLOBAL</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>knowledge</strong>
						</p></td>
					<td class="confluenceTd"><p>Knowledge</p></td>
					<td class="confluenceTd"><p>CONOCIMIENTO</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>processAttachment</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcessAttachment</p></td>
					<td class="confluenceTd"><p>ANEXO_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>processDefinition</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcessDefinition</p></td>
					<td class="confluenceTd"><p>DEF_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>processDefinitionVersion</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcessDefinitionVersion</p></td>
					<td class="confluenceTd"><p>VERS_DEF_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>processHistory</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcessHistory</p></td>
					<td class="confluenceTd"><p>HISTOR_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>processState</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcessState</p></td>
					<td class="confluenceTd"><p>ESTADO_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>processTask</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcessTask</p></td>
					<td class="confluenceTd"><p>TAR_PROCES</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>ProcesVersionDim</strong>
						</p></td>
					<td class="confluenceTd"><p>ProcesVersionDim</p></td>
					<td class="confluenceTd"><p>PROCES_VERSION_DIM_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>TimeDim</strong>
						</p></td>
					<td class="confluenceTd"><p>TimeDim</p></td>
					<td class="confluenceTd"><p>TIME_DIM_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>topic</strong>
						</p></td>
					<td class="confluenceTd"><p>Topic</p></td>
					<td class="confluenceTd"><p>ASUNTO</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>UserDim</strong>
						</p></td>
					<td class="confluenceTd"><p>UserDim</p></td>
					<td class="confluenceTd"><p>USER_DIM_CAP</p></td>
				</tr>
				<tr>
					<td class="confluenceTd"><p>
							<strong>workflowProcess</strong>
						</p></td>
					<td class="confluenceTd"><p>WorkflowProcess</p></td>
					<td class="confluenceTd"><p>PROCES_WORKFLOW</p></td>
				</tr>
			</tbody>
		</table>
	</div>
	<p>&#160;</p>
	<h3 id="DesenvolvimentodeRelatórios-ExemplodeUtilização">Ejemplo
		de Uso</h3>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: java; gutter: false"
				style="font-size: 12px;">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 el valor de Count
rowMap.get("d.publisherId");
//Busca el Código del documento
rowMap.get("count(d.documentPK.documentId)");</pre>
		</div>
	</div>
	<p>&#160;</p>
	<div>
		<h1 id="DesenvolvimentodeRelatórios-AcessandodadosdeFormulários">Acceso
			a datos de Formularios</h1>
	</div>
	<h3 id="DesenvolvimentodeRelatórios-Importandobibliotecas">Importación
		de bibliotecas</h3>
	<p>A partir de la clase DatasetFactory se puede accede a los datos
		de formularios publicados en Fluig.</p>
	<p>Para llenar un informe a través de datos del fichero es
		necesario importar las siguientes bibliotecas:</p>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: java; gutter: false"
				style="font-size: 12px;">importPackage(Packages.com.datasul.technology.webdesk.dataset.service);
importPackage(Packages.com.datasul.technology.webdesk.dataset);
importPackage(Packages.com.datasul.technology.webdesk.search.controller);</pre>
		</div>
	</div>
	<p style="text-align: left;">&#160;</p>
	<h3 style="text-align: left;"
		id="DesenvolvimentodeRelatórios-Retornandodadosdoformulário">Devolución
		de datos del formulario</h3>
	<p>A través de la clase DatasetFactory es posible buscar datos de
		formularios, incluir filtros y ordenar. Ejemplo de uso:</p>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: java; gutter: false"
				style="font-size: 12px;">//Instala las 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 el resultado por el nombre del Cliente
var sortingFields = new Array("name_cli");
dataset = factory.getDataset("cad_cli", null, constraints, sortingFields);</pre>
		</div>
	</div>
	<p>&#160;</p>
	<p>El ejemplo anterior invoca el método getDataSet pasando algunos
		argumentos adicionales como parámetros:</p>
	<ul>
		<li><strong>Nombre del Dataset:</strong> Nombre del servicio de
			datos del formulario;</li>
		<li><strong>Campos:</strong> Devuelve sólo los campos recibidos
			en el array informado. Si es null, devuelve todos los campos.</li>
		<li><strong>Constraints</strong>: 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:</li>
	</ul>
	<ul>
		<li style="list-style-type: none;"><ul>
				<li><strong>MUST:</strong> Indica que todos los registros del
					Dataset deben satisfacer esta condición.</li>
				<li><strong>SHOULD:</strong> 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 constraint SHOULD).</li>
				<li><strong>MUST_NOT:</strong> indica que ninguno de los
					registros puede satisfacer la condición.</li>
				<li><strong>Orden:</strong> Vetor con la lista de campos que se
					utilizará para ordenar los registros en el Dataset.</li>
			</ul></li>
	</ul>
	<p>
		<span>La fuente del ejemplo citado anteriormente se puede bajar
			del siguiente link:</span>
	</p>
	<p>
		<span><a href="attachments/74646056/75236518.zip">Customer
				CardIndex.zip</a></span>
	</p>
	<p>
		<span
			style="color: rgb(0, 0, 0); font-size: 1.4em; font-weight: bold; line-height: normal;"><br /></span>
	</p>
	<p>
		<span
			style="color: rgb(0, 0, 0); font-size: 1.4em; font-weight: bold; line-height: normal;">Búsqueda
			de datos de Formulario con filtro por fecha</span>
	</p>
	<p>
		Para realizar consultas a través de Dataset con filtros del tipo
		Fecha, es necesario antes guardar el campo de la ficha en el formato <strong>aaaa/mm/dd</strong>
		(año/mes/día)&#160; para que se pueda realizar la búsqueda a través de
		Dataset.
	</p>
	<p>Ejemplo de consulta:</p>
	<div class="code panel pdl" style="border-width: 1px;">
		<div class="codeContent panelContent pdl">
			<pre class="theme: Confluence; brush: java; gutter: false"
				style="font-size: 12px;">//Instala las 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 el resultado por el nombre del Cliente
var sortingFields = new Array("name_cli");
dataset = factory.getDataset("cad_cli", null, constraints, sortingFields);</pre>
		</div>
	</div>

	<p>&#160;</p>
</div>