Indice | Filosofía | Tablas | Setup | Interf Internas | Interf Externas | Adaptación


Configuración XML (Ingreso Múltiple) | Configuración XML (Vista Extendida)

 

Configuración de archivo XML para Nexus (Búsqueda)

Etiquetas

En su nueva edición Nexus permite la especificación de los atributos de las Búsquedas a través de un archivo XML, que debe recibir el nombre de "configuracionnexus.xml", y debe estar ubicado en la carpeta de la aplicación (ZZZ/BD/EE/EEE/). Cabe destacar que los reportes emitidos al hacerse la búsqueda contienen los campos definidos en el reporte básico de la tabla sobre la que se busca, e incluye el campo de búsqueda sino se encuentra listado en el mencionado reporte. Ahora bien, para configurar el archivo XML se utilizan las siguientes etiquetas:

Etiqueta Uso Atributos Uso
<nexusconf></nexusconf>

Etiqueta general que identifica al archivo como configuración XML para Nexus.

   
<estilo></estilo> Determina la hoja de estilos (.css) que se utilizará en la página.    
<incluir></incluir> Nombre del archivo del que se desea hacer include. El include es hecho, antes de escribir los encabezados   Pueden incluirse tantos archivos como se quiera
<incluirprimero></incluirprimero> Nombre del archivo del que se desea incluir, justo después del encabezado , del título y de las instrucciones, antes de los pendientes.   Pueden incluirse tantos archivos como se quiera
<incluirultimo></incluirultimo> Nombre del archivo del que se desea incluir al final, después de todas las cajas de búsqueda, antes del pie.   Pueden incluirse tantos archivos como se quiera
<incluirIdioma></incluirIdioma> Nombre del prefijo del archivo de idiomas a ser incluido (en caso de que se posean archivos particulares de la aplicación). Típicamente es la palabra "idm"    
<titulo></titulo> Utilizada tanto para el título de la página completa como para los títulos de las subpartes de ésta.    
<instrucciones></instrucciones> Permite colocar texto explicativo tanto en la cabecera de la página como en cada una de las cajas de búsqueda.    
<pie></pie> Permite colocar texto explicativo en el pie de la página.    
<pendientes></pendientes> Enmarca los parámetros a ser considerados en el listado de actividades pendientes. div='[valor]' Utilizado por la hoja de estilos para determinar la posición de la tabla de búsqueda en la página. Los valores que puede tomar son naturales consecutivos expresados en letras (ie. uno, dos,tres).
tabla='[nombre_tabla]' Nombre de la tabla sobre la que se realizará el listado de pendientes (i.e PER, AGE, INT, AR1, etc.)
campocheck='[nombre_campo]' Nombre del campo que indica que una acción está pendiente. Nótese que el campo de "Pendiente" debe ser del tipo Checkbox (Caja)
campofecha='[nombre_campo]' Nombre del Campo que indica la fecha en que se ingreso la acción. Es utilizada para compararla con la fecha actual y listar aquellas acciones que se encuentren pendientes.
botoncantidad='[SI]' Indica si se desea colocar en el propio botón de visualización la cantidad de actividades pendientes
<pendientesText></pendientesText> Término $MM a utilizar en lugar del mensaje default "Acciones pendientes que ya han llegado o pasado la fecha de seguimiento".    
<notificaciones></notificaciones> Indica el comienzo y el fin del bloque de notificaciones. div='[valor]' Utilizado por la hoja de estilos para determinar la posición de la tabla de búsqueda en la página. Los valores que puede tomar son naturales consecutivos expresados en letras (ie. uno, dos,tres).
titulo='[texto]' Término $MM a utilizar como título en la caja de Notificaciones
botoncantidad='[SI]' Indica si se desea colocar en el propio botón de visualización la cantidad de actividades pendientes
<notificacionX></notificacionX> Determina si el componente que sigue contituye una notificación, siendo X el número que la identifica (notificacion0, notificacion1, etc.)    
<tablas></tablas> La lista de tablas separadas por coma a utilizar en la búsqueda, se deben indicar con el nombre completo de la tabla (701INT,701AR1, etc.)    
<condicion></condicion> Indica la condición que se utilizará en la búsqueda para determinar si la notificación a mostrar. En el caso de querer comparar una fecha con hoy se debe colocar *HOY*.    
<mensaje></mensaje> Mensaje que se colocará antes de indicar la cantidad de registros que cumplen con la condición indicada en la etiqueta anterior. termino='[SI]' Al indicar SI en el atributo termino se utiliza lo indicado en la etiqueta mensaje como término $MM
<campos></campos> La lista de campos separados por coma a mostrar en el reporte que se ejecuta con el boton de ver. Indicar un * antes del campo implica que este será modificable.    
<ordenamiento></ordenamiento> Permite indicar el ordenamiento que tendrá el reporte que se ejecuta con el boton de ver (INTFecha1 ASC)    
<busquedas></busquedas> Indica el comienzo y fin del bloque de búsquedas.    
<busquedaX></busquedaX> Determina si el componente que sigue contituye una búsqueda, siendo X el número que la identifica (busqueda0, busqueda1, etc.) ordenamiento='[atributo] [tipo_ordenamiento]' Determina el criterio a seguir para el despliegue de la información tras realizarse la búsqueda. El valor que se le puede asignar a "atributo" corresponde a cualquier campo de la tabla de búsqueda en su formato interno, y los valores para "tipo_ordenamiento" pueden ser ASC y DESC.
div='[valor]' Utilizado por la hoja de estilos para determinar la posición de la tabla de búsqueda en la página. Los valores que puede tomar son naturales consecutivos expresados en letras (ie. uno, dos,tres).
tabla='[nombre_tabla]' Nombre de la tabla sobre la que se realizará la búsqueda (i.e PER, AGE, EVE, AR1, etc.)
<linea></linea> Identifica a cada una de las líneas que constituirán la búsqueda.    
<campo></campo> Enmarca a los campos que componen cada línea de búsqueda, ya que un mismo criterio puede incluir varios campos de una tabla, por ejemplo puede haber un criterio compuesto por teléfono de habitación, teléfono de oficina y teléfono celular. Nótese que si el nombre del campo ubicado entre los tags se antecede por un asterisco será modificable cuando se liste.    

Ejemplo

A continuación se explicará el uso de las etiquetas descritas a través de un ejemplo, observando en primera instancia cada fragmento del archivo XML junto con el resultado que arroja por pantalla, y finalmente una pantalla del resultado en conjunto.

Comencemos por observar cómo se indica el título principal de la página de búsquedas.

<titulo>Pagina Principal</titulo>

Con lo cual se obtiene el siguiente resultado por pantalla.



Luego se abre el bloque de búsquedas y se define una por una, tal como se muestra a continuación:

<busqueda0 div='uno' tabla='PER' ordenamiento='PERCodigo DESC'>
	<titulo>Buscar por Relacionado</titulo>
	<linea>
		<campo> PERLinea2 </campo>
		<campo> PERLinea1 </campo>
	</linea>
	<linea>
		<campo> PEREmail1 </campo>
	</linea>
	<linea>
		<campo> PERBloque1 </campo>
	</linea>
	<linea>
		<campo> PERTel1 </campo>
		<campo> PERTel2 </campo>
		<campo> PERTel3 </campo>
	</linea>
	<linea>
		<campo> PERLinea4 </campo>
	</linea>
	<linea>
		<campo> PERLista1 </campo>
	</linea>
</busqueda0>

De este fragmento de XML se obtiene una forma para realizar búsquedas sobre los campos listados. Nótese que una linea o lo que es lo mismo, una casilla de búsqueda, puede estar conformada por varios campos. Los nombres internos necesarios para especificar los campos pueden consultarse en la opción "Listar Tablas" en el Módulo de Administración, disponible para los usuarios con la permisología pertinente.

Otro detalle a resaltar es el ordenamiento, el cual determinará la forma en que aparecerán dispuestos los elementos hallados en la búsqueda.



Definamos otra búsqueda

<busqueda1 div='dos' tabla='AR1'>
	<titulo>Buscar por Empresa</titulo>
	<linea>
		<campo> AR1Nombre </campo>
		<campo> AR1Tel1 </campo>
	</linea>
	<linea>
		<campo> AR1Linea1 </campo>
	</linea>
	<linea>
		<campo> AR1Linea2 </campo>
	</linea>
</busqueda1>

En este punto es importante destacar el atributo div que determinará la disposición de las acciones pendientes y búsquedas definidas, por tanto al ser div='dos' el recuadro de búsqueda se ubicará de segundo contando de izquierda a derecha.




Posteriormente se indica la opción de notificaciones a través de la siguiente sentencia.


<notificaciones div='cuatro' titulo='Notificaciones' botoncantidad='SI'>
	<notificacion0>
		<tablas>701AUS</tablas>
		<condicion>AUSFecha1>=*HOY*</condicion>
		<mensaje>Ausencias planificadas</mensaje>
		<campos> *AUSFecha1,AUSCodigo </campos>
		<ordenamiento>AUSFecha1 ASC</ordenamiento>
	</notificacion0>
	<notificacion1>
		<tablas>701INT</tablas>
		<condicion>INTCheckbox1=1 AND INTFecha1<*HOY*</condicion>
		<mensaje termino='SI'>Pendientes</mensaje>
		<campos> *INTFecha1, INTCodigo, INTFecha, INTNombre, INTPersona,
		INTBloque1, *INTBloque2,*INTCheckbox1 </campos>
		<ordenamiento>INTFecha1 ASC</ordenamiento>
	</notificacion1>
</notificaciones>

Obteniéndose:


Al hacer click en el boton se obtienen los siguientes resultados:

Finalmente veamos todas las piezas XML en conjunto. Nótese como elemento adicional la definición del estilo dentro de las sentencias XML, que establece la forma en que se muestran los elementos en pantalla.

<nexusconf>
	<estilo>estilobusqueda.css</estilo>
	<titulo>Pagina Principal</titulo>
	<busquedas>
		<busqueda0 div='uno' tabla='PER' ordenamiento='PERCodigo DESC'>
			<titulo>Buscar por Relacionado</titulo>
			<linea>
				<campo> PERLinea2 </campo>
				<campo> PERLinea1 </campo>
			</linea>
			<linea>
				<campo> PEREmail1 </campo>
			</linea>
			<linea>
				<campo> PERBloque1 </campo>
			</linea>
			<linea>
				<campo> PERTel1 </campo>
				<campo> PERTel2 </campo>
				<campo> PERTel3 </campo>
			</linea>
			<linea>
				<campo> PERLinea4 </campo>
			</linea>
			<linea>
				<campo> PERLista1 </campo>
			</linea>
		</busqueda0>
		<busqueda1 div='dos' tabla='AR1'>
			<titulo>Buscar por Empresa</titulo>
			<linea>
				<campo> AR1Nombre </campo>
				<campo> AR1Tel1 </campo>
			</linea>
			<linea>
				<campo> AR1Linea1 </campo>
			</linea>
			<linea>
				<campo> AR1Linea2 </campo>
			</linea>
		</busqueda1>
		<busqueda2 div='tres' tabla='AR4' ordenamiento='AR4Codigo DESC'>
			<titulo>Buscar por Proyecto</titulo>
			<linea>
				<campo> AR4Nombre </campo>
			</linea>
			<linea>
				<campo> AR4Bloque1 </campo>
				<campo> AR4Bloque2 </campo>
			</linea>
			<linea>
				<campo> AR4Lista4 </campo>
			</linea>
			<linea>
				<campo> AR4Lista2 </campo>
			</linea>
		</busqueda2>
	</busquedas>
	<notificaciones div='cuatro' titulo='Notificaciones' botoncantidad='SI'>
		<notificacion0>
			<tablas>701AUS</tablas>
			<condicion>AUSFecha1>=*HOY*</condicion>
			<mensaje>Ausencias planificadas</mensaje>
			<campos> *AUSFecha1,AUSCodigo </campos>
			<ordenamiento>AUSFecha1 ASC</ordenamiento>
		</notificacion0>
		<notificacion1>
			<tablas>701INT</tablas>
			<condicion>INTCheckbox1=1 AND INTFecha1<*HOY*</condicion>
			<mensaje termino='SI'>Pendientes</mensaje>
			<campos> *INTFecha1, INTCodigo, INTFecha, INTNombre, INTPersona, 
			INTBloque1, *INTBloque2,*INTCheckbox1 </campos>
			<ordenamiento>INTFecha1 ASC</ordenamiento>
		</notificacion1>
	</notificaciones>
</nexusconf>

Lo anterior se traduce en la siguiente salida por pantalla: