¡Esta es una revisión vieja del documento!


NODO SYS-MESSAGE


El nodo sys-message es un nodo especial de la colección “Empresas”, para recibir eventos de XOneLive.
Utilizado para realizar acciones cuando esté ocurriendo alguno de los eventos llevados a cabo por el XOneLive.
Estos eventos están codificados numéricamente, y a continuación se pone un ejemplo de cada uno de ellos donde mostramos un mensaje descriptivo de la acción a la que pertenece cada código de evento.

<sys-message>
	<action name="runscript">
		<param name="codigo" />
		<param name="message" />
		<param name="liveResponse" />
		<script language="javascript">
			sysMessage(codigo,message);
		</script>
	</action>
</sys-message>
function sysMessage(codigo,message) {
	var cadena="";
	switch(codigo) {
 
		case 1000:
			cadena=" Actualización descargándose (un mensaje por cada actualización).";
			break;
 
		case 1001:
			cadena=" Actualización aplicada (un mensaje por cada actualización).";
			break;
 
		case 1002:
			cadena=" Se han aplicado todas las actualizaciones (al comprobar las actualizaciones puede haber más de una, éste se invoca al aplicar todas).";
			appData.getCurrentEnterprise().setVariables("ACTUALIZACIONES",1);
 
			// Obtenemos un puntero al objeto del menú principal que está en una variable global (En el before-edit del entry-point se habrá inicializado esta variable con self)
			var objeto=appData.getCurrentEnterprise().getVariables("MENUPRINCIPALFASE1");
			var view=ui.getView(appData.getCurrentEnterprise().getVariables("MENUPRINCIPALFASE1"));
			if (view != undefined) {
				if (objeto != undefined) {
					objeto.executeNode("comprobarActualizaciones");
				}
			}
			break;
 
		case 1003:
 
			/* Provisionamiento seguro. */
			/* Declarar el nodo sys-message requiere que este caso lo controle el programador,
			/* es responsabilidad del programador limpiar la cola de réplica y cerrar la aplicación.
			/* ************************ */
 
			//ui.showToast("Live: " + liveResponse.liveReceiver);
			ui.msgBox("Advertencia, se ha programado una actualización de base de datos. Se van a replicar todos los datos y cerrar la aplicación.", "Mensaje", 0);
			var bResult = replica.processReplicatorQueue(liveResponse);
			if (bResult) {
				//ui.msgBox("Cola de salida del replicador procesada correctamente. Cerrando aplicación.", "Mensaje", 0);
				appData.failWithMessage(-11888, "##EXITAPP##");
			} else {
				ui.showToast("Error al procesar la cola de salida");
			}
			break;
	}
}