VRoot
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
La clase VRoot representa a un objeto de Velneo en ejecución. Dispone de funciones para ver o modificar las variables locales y de sistema del objeto, obtener información del objeto (api), transacciones…
Velneo nos genera un objeto de la clase VRoot con el nombre theRoot para el objeto principal en ejecución. Veamos algunos ejemplos:
Tenemos un formulario con un manejador de evento en lenguaje JavaScript: el objeto theRoot del manejador de evento representa al ejecutor del formulario.
Ejecutamos un proceso JavaScript con una acción: el objeto theRoot del proceso representa al ejecutor del proceso en Velneo.
Si el objeto es una vista de datos (rejilla, formulario…) estarán disponibles en theRoot las funciones de manejo de interfaz como obtener su vista de datos con la función dataView(), pudiéndose usar las funciones del objeto widget que devuelve.
También se pueden obtener otros VRoot, como el de una con su función root().
De variables locales tipo array
Retorno
Función
void
void
void
void
void
void
Date
DateTime
Number
Number
String
Time
Del Api del objeto
Retorno
Función
Number
Number
Number
De variables locales
Retorno
Función
void
void
void
void
void
void
void
Boolean
Date
DateTime
Number
Number
String
Time
De variables de sistema
Retorno
Función
String
Number
Boolean
Number
Number
Number
String
De transacciones
Retorno
Función
Boolean
void
Boolean
void
Boolean
void
Boolean
Boolean
void
void
De datos
Retorno
Función
Variant
Object
De vista de datos
Retorno
Función
De formulario y lista QML
Retorno
Función
void
De lista QML
Retorno
Función
VModel
De JSON
Retorno
Función
VariantMap
ImportTypeCreateModify : si no existe crea el registro. Si existe, lo modifica.
ImportTypeOnlyCreate : dará de alta un nuevo registro. Sl el JSON incluye el campo ID del registro lo y el contenido inicial del ID de la tabla es "siguiente al último", lo ignorará y creará un nuevo registro con el ID que le corresponda.
ImportTypeOnlyModify: si el registro existe, lo modifica, si no, no hará nada.
Asigna el contenido a una variable local array de tipo alfabética.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
szValor: cadena alfabética.
Asigna el contenido a una variable local array de tipo numérica.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
nValor: número.
Asigna el contenido a una variable local array de tipo booleana.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
bValor: booleano, 0 ó 1, true o false.
Asigna el contenido a una variable local array de tipo tiempo, fecha y hora.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
dt: tiempo, fecha y hora.
Asigna el contenido a una variable local array de tipo fecha.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
date: fecha.
Asigna el contenido a una variable local array de tipo hora.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
time: hora.
Devuelve el valor de una variable local array de tipo fecha.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
Devuelve el valor de una variable local array de tipo tiempo, fecha y hora.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
Devuelve el valor de una variable local array de tipo numérica, double.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
Devuelve el valor de una variable local array de tipo numérica, integer.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
Devuelve el valor de una variable local array de tipo alfabética.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
Devuelve el valor de una variable local array de tipo hora.
Parámetros:
szId: identificador de la variable local.
index: número de la posición del elemento en el array, el primero elemento es el 0.
Asigna el contenido a una variable local de tipo booleana.
Parámetros:
szId: identificador de la variable local.
bValor: booleano, 0 ó 1, true o false.
Asigna el contenido a una variable local de tipo fecha.
Parámetros:
szId: identificador de la variable local.
date: fecha.
Asigna el contenido a una variable local de tipo tiempo, fecha y hora.
Parámetros:
szId: identificador de la variable local.
dt: tiempo, fecha y hora.
Asigna el contenido a una variable local de tipo numérica, double.
Parámetros:
szId: identificador de la variable local.
dValor: número con decimales.
Asigna el contenido a una variable local de tipo numérica, integer.
Parámetros:
szId: identificador de la variable local.
nValor: número entero.
Asigna el contenido a una variable local de tipo alfabética.
Parámetros:
szId: identificador de la variable local.
szValor: cadena alfabética.
Asigna el contenido a una variable local de tipo hora.
Parámetros:
szId: identificador de la variable local.
time: hora.
Devuelve el valor de una variable local de tipo booleana.
Parámetros:
szId: identificador de la variable local.
Devuelve el valor de una variable local de tipo fecha.
Parámetros:
szId: identificador de la variable local.
Devuelve el valor de una variable local de tipo tiempo, fecha y hora.
Parámetros:
szId: identificador de la variable local.
Devuelve el valor de una variable local de tipo numérica, double.
Parámetros:
szId: identificador de la variable local.
Devuelve el valor de una variable local de tipo numérica, integer.
Parámetros:
szId: identificador de la variable local.
Devuelve el valor de una variable local de tipo alfabética.
Parámetros:
szId: identificador de la variable local.
Devuelve el valor de una variable local de tipo hora.
Parámetros:
szId: identificador de la variable local.
Devuelve el path del directorio de caché del cliente.
Devuelve la página en curso en un informe.
Devuelve true si el usuario en vAdmin está configurado como supervisor.
Devuelve el número total de páginas de un informe.
Devuelve la posición del registro actual en la lista de registros del objeto.
Devuelve el número de registros de la lista del objeto.
Devuelve el nombre del usuario.
Inicia una transacción. Devuelve true si la transacción se ha iniciado satisfactoriamente.
Parámetros:
szTitulo: título de la transacción que se visualiza en el visor de transacción de vAdmin.
Con esta función el servidor realiza una notificación al cliente informándole de que el proceso sigue activo y de esta forma se evita que el cliente asuma la finalización del mismo por alcanzar el timeout.
Si desde un cliente ejecutamos un proceso en tercer plano, es decir en el servidor, si la duración del proceso es superior al timeout (actualmente 10 minutos) aunque el proceso continue ejecutándose en el servidor el cliente asume que el proceso ha finalizado de forma anómala al no recibir ninguna información del servidor. Con esta función el programador puede notificar desde el proceso que se está ejecutando en el servidor al cliente evitando que se produzca la desconexión del cliente por llegar al timeout.
Esta función es conveniente usarla en procesos cuya duración sea larga y pueda superar el timeout, de todas formas no debe ejecutarse esta función de forma constante ya que podría afectar al rendimiento del proceso. Una buena práctica sería ejecutar esta función cada determinado número de operaciones cuya duración sea superior a 1 minuto, por ejemplo, e inferior al tiempo de timeout.
Finaliza una transacción. Devuelve true si la transacción ha finalizado satisfactoriamente. Al finalizar la transacción se dan por válidas todas las operaciones realizadas en la base de datos. Al finalizar un proceso si hay una transacción abierta se cierra automáticamente como si se hubiese ejecutado esta función de forma explícita.
En triggers no debemos hacer commit de transacciones ya que es el propio trigger el que gestiona la transacción. Por lo tanto, si tenemos un script que podemos usar en un trigger pero también en otros puntos de nuestra aplicación, deberemos comprobar si ya existe la transacción, sólo si no existe es cuando haremos el commit. Ejemplo:
Se oculta la barra de progreso de la barra de estado de la ventana.
Devuelve true si hay una transacción en curso.
Se visualiza la barra de progreso en la barra de estado de la ventana.
Aborta una transacción y deshace todas sus operaciones. Devuelve true si todas las operaciones de la transacción se han deshecho satisfactoriamente.
Ejecuta un proceso Velneo o JavaScript. Permite los siguientes casos:
Si se pasa un proceso sin origen los ejecuta.
Si el Root corresponde a un objeto de ficha y el proceso es de ficha lo alimenta con la ficha.
Si el Root corresponde a un objeto de lista y el proceso de ficha lo alimenta con la ficha seleccionada de la lista.
Si el Root corresponde a un objeto de lista y el proceso es de lista lo alimenta con la lista.
Parámetros:
szIdRefProcess: cadena que contiene el identificador referencia del proceso ("Alias_proyecto/ID_proceso").
Se actualiza la barra de progreso que se está visualizando en la barra de estado de la ventana al valor indicado en el porcentaje. Al igual que el porcentaje también es posible cambiar el texto o leyenda que se muestra junto a la barra de progreso con la función setTitle().
Antes de fijar el valor porcentual es necesario mostrar la barra de progreso con la función initProgressBar() y una vez finalizado el proceso se ocultará la barra de progreso con el comando endProgressBar().
Parámetros:
percent: número entre 0 y 100 que representa el porcentaje a mostrar en la barra de progreso.
Cambia el título o leyenda que se muestra al lado de la barra de progreso en la barra de estado de la ventana.
Antes de fijar título o el valor porcentual es necesario mostrar la barra de progreso con la función initProgressBar() y una vez finalizado el proceso se ocultará la barra de progreso con el comando endProgressBar().
Parámetros:
szTitle: texto a visualizar junto a la barra de progreso.
Retorna el valor obtenido de calcular la fórmula de Velneo que indicamos como parámetro.
Parámetro:
szFormula: fórmula de Velneo. Se recomienda dar valor entre comillas simples (') para evitar colisiones con entrecomillados (") correspondientes a cadenas en Velneo.
Nota:
Tendrá como origen, el mismo que theRoot.
Carga un modelo auxiliar del modelo principal del QML.
Parámetros:
szNameModel: mombre del modelo. Este valor se corresponde con la propiedad "Nombre en QML" del modelo auxiliar.
Devuelve un modelo auxiliar de los existentes en el array de modelos auxiliares. Esta función se utiliza cuando en el modelo auxiliar se configura la propiedad "Modo de sincronización" con el valor "LISTA: un modelo por cada ítem del modelo principal".
Parámetros:
szNameModel: nombre del modelo. Este valor se corresponde con la propiedad "Nombre en QML" del modelo auxiliar.
nIndex: número de orden del modelo en el array de modelos. El primero elemento del array es el 0.
Recibe como parámetro un objeto JSON para crear o modificar un registro o una lista de registros, el tipo de operación, la tabla y el índice .
Parámetros:
szJson: es la cadena con el Json que se va a usar para modificar o dar de alta el registro o los registros. Si el Json representa un array, se iterará e irá creando o modificando por cada elemento del array. Si es un objeto, lo tomará como una ficha.
szTabla: idref de la tabla de destino.
szIndice: este parámetro solo es necesario si en la operación permitida está incluida la modificación, en cuyo caso especificaremos un índice de clave única que permita localizar el registro.
Devuelve un VariantMap con los siguientes campos:
ok: booleano con el retorno de ok.
errors: cadena de texto con formato array de JSON con los errores.
Podremos obtener estos campos del VariantMap del modo siguiente:
Ejemplo 1:
Ejemplo 2:
( String szId, Number index, String szValor )
( String szId, Number index, Number nValor )
( String szId, Number index, Boolean bValor )
( String szId, Number index, DateTime dt )
( String szId, Number index, Date date )
( String szId, Number index, Time time )
( String szId, Number index )
( String szId, Number index )
( String szId, Number index )
( String szId, Number index )
( String szId, Number index )
( String szId, Number index )
()
()
()
()
( String szId, Boolean bValor )
( String szId, Date date )
( String szId, DateTime dt )
( String szId, double dValor )
( String szId, int nValor )
( String szId, String szValor )
( String szId, Time time )
( String szId )
( String szId )
( String szId )
( String szId )
( String szId )
( String szId )
( String szId )
()
()
()
()
()
()
()
( String szTitulo )
()
()
()
()
()
()
( String szIdRefProcess )
( Number percent )
( String szTitle )
( szFormula )
()
()
( String szNameModel )
( String szNameModel, Number nIndex )
( String szJSON, ImportType nTipoOp, String szTabla, String szIndice)
Devuelve el tipo de entrada (ninguno, ficha o lista) del objeto manipulado con la clase VRoot. Ver enum de tipos de entrada/salida en la clase
Devuelve un objeto de la clase que representa al objeto manipulado.
Devuelve el tipo del objeto manipulado con la clase VRoot. Ver enum de tipos de objeto en la clase .
Devuelve el tipo de salida (ninguno, ficha o lista) del objeto manipulado con la clase VRoot. Ver enum de tipos de entrada/salida en la clase .
Devuelve un objeto , o Nulo en función del origen del objeto representado por VRoot.
Devuelve un objeto de la clase que representa el objeto referenciado por VRoot.
Equivale a los comando de instrucción de proceso y .
nTipoOp: tipo de operación a realizar en la tabla de destino. Ver .
register: si se trata de una ficha, devuelve un objeto con la ficha creada/modificada.
registerList: si se trata de una lista, devuelve un objeto con la lista creada/modificada.