Este clase representa a la aplicación. Dispone de funciones para ver información de sus proyectos, acceso a variables globales, constantes, utilidades de base de datos, disco, etc.
El objeto theApp
Se trata de un objeto de esta clase.
Todos los scripts están conectados a un objeto global y único que representa a la aplicación cuyo nombre es theApp. Este objeto está disponible en ejecución de scripts en Velneo vClient, pero también en extensiones en Velneo vDevelop, aunque no aquellas funciones que tienen sentido únicamente en ejecución (Ver documentación de VExtension).
Herencia
Hay que tener en cuenta que la aplicación da acceso al proyecto principal con el que se ha arrancado la aplicación y todos sus objetos heredados lo que permite el acceso y uso de cualquier objeto de la aplicación desde cualquier script.
TextCodec: cadena con el codec a usar. Por defecto usará Latin1. Ver enum de codecs.
String exeName()
Devuelve el nombre del navegador en curso, por ejemplo: vClient, vWebClient, etc.
void processEvents()
Procesa los eventos que haya en la cola de la aplicación, excluyendo los de entrada de usuario (teclado, ratón...). Debe usarse donde se consuma mucho tiempo o bucles largos para que se refresque el interfaz. Solo actúa en procesos en primer plano ya que es en estos donde estamos ocupando el hilo principal que es el que atiende la cola de eventos. En los demás no hace nada.
String stripHtml( String szHtml )
Retorna la cadena que pasamos como parámetro sin etiquetas html. El código html debe estar bien conformado para que retorne contenido.
Parámetros:
szHtml: cadena de texto que contiene el código Html correctamente conformado del que queremos extraer el texto sin etiquetas html.
void wait( Number miliSegs )
El proceso queda detenido en este punto durante el tiempo especificado en el parámetro.
Parámetros:
miliSegs: número de milisegundos de espera, por ejemplo: 1000 = 1 segundo.
Funciones de proyectos
VProjectInfo mainProjectInfo()
Devuelve el objeto VProjectInfo del proyecto principal.
Si la usamos en un proceso ejecutado en 4º plano, esta función devolverá el proyecto donde esté declarado el proceso, tenga proyectos o no por encima, el motivo de esto es que
cuando se ejecuta el proceso el servidor crea un enganche temporal para gestionarlo, en ese momento, conoce el proyecto donde está el objeto y lo que hereda, pero no conoce todo lo que tiene por encima.
VProjectInfo projectInfo( Number nProjectType, int index )
Esta función es de uso exclusivo en las extensiones de Velneo vDevelop (clase vExtension).Devuelve un objeto VProjectInfo con la información del proyecto cuyo tipo e index dentro de la solución hayamos pasado como parámetro.
Asigna el valor a la variable global de tipo hora.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
tValue: valor de tipo hora.
Funciones de constantes
String constant( String szIdRefConstante )
Devuelva el contenido de una constante.
Parámetros:
szIdRefConstante: idRef del objeto constante "ALIAS_PROYECTO/ID_OBJETO".
String constant( String szIdRefConstante, Number idioma, [Number pais] )
Devuelve el contenido de una constante en el idioma y país especificado en los parámetros. El país es un parámetro opcional, si no se especifica asume el más genérico de los existentes para ese idioma.
Parámetros:
szIdRefConstante: idRef del objeto constante "ALIAS_PROYECTO/ID_OBJETO".
idioma: código numérico del idioma, por ejemplo: English = 31. Ver enum de idiomas
país: código numérico del país, por ejemplo: UnitedKingdom = 224. Este es un parámetro opcional. Ver enum de países.
Funciones de mantenimiento de base de datos
Estas funciones es recomendable usarlas solamente en modo mantenimiento.
Boolean compactTable(String idRefTabla, Number nModo, Number nUmbral)
Esta función permite compactar datos (dat/idx) y/o cotenedor (cnd/cni) de una o varias tablas.
Debe ser ejecutada en el servidor, por lo que no puede ser usada en procesos lanzados en primer o segundo plano.
Parámetros:
idRefTabla: identificador de referencia de la tabla a compactar. Si se deja en vacío se compactarán todas las tablas de todos los proyectos cargados.
Umbral mínimo: valor numérico entero y positivo (entre 0 y 100).
Boolean emptyTable( String idRefTabla)
Vacía la tabla que le pasamos por parámetro, es decir, borra todo su contenido (datos, índices y contenedor).
Esta función no transacciona y no debe estar incluida en ninguna transacción, o no haber comenzado ésta hasta que se haya usado la función. En cuanto comienza transacción ya no se puede usar.
Parámetros:
idRefTabla: idRef de la tabla "ALIAS_PROYECTO/ID_TABLA" a vaciar.
Hace una regeneración del área de datos de la tabla seleccionada en el primer parámetro, de su contenedor y también la regeneración de los índices de tabla y contenedor. Si indicamos true en el 2º parámetro se mostrará la barra de progreso. Esta función lanzada sobre tablas en memoria siempre devuelve false.
Parámetros:
idRefTabla: idRef de la tabla "ALIAS_PROYECTO/ID_TABLA".
bProgressDialog: true para indicar que sea visible la barra de progreso.
Ejecuta la aplicación que pasamos como parámetro con los argumentos correspondientes, devolviendo true si ha podido ejecutarlo. No espera.
Parámetros:
szExe: senda del ejecutable.
aszArgumentos: en Linux y en macOS se debe especificar un array de cadenas con los argumentos del ejecutable. En Windows se ha de usar una única cadena, un literal.
Alimenta un objeto VRegisterList con los registros contenidos en la cesta. Devuelve true si finaliza correctamente. Si el objeto VRegisterList contiene registros se pierden ya que el contenido del objeto VRegisterList en su totalidad es sustituido por los registros que existen en la cesta. Si el objeto VRegisterList no tuviese asignada ninguna tabla, al ejecutar esta función asumirá la misma tabla de la cesta.
Parámetros:
szIdRefCesta: idRef de la cesta "ALIAS_PROYECTO/ID_OBJETO".
Añade a la cesta los registros contenidos en un objeto VRegisterList. Devuelve true si finaliza correctamente. Si la cesta contiene registros se pierden ya que el contenido de la cesta en su totalidad es sustituido por los que existen en el objeto VRegisterList. La cesta asumirá la tabla del objeto VRegisterList.
Parámetros:
szIdRefCesta: idRef de la cesta "ALIAS_PROYECTO/ID_OBJETO".
Imprime un informe directamente en la impresora especificada sin mostrar el cuadro de diálogo de selección de impresora.
Parámetros:
list: objeto de la clase VRegisterList con la lista de registros con los que se alimentará el informe.
idRefReport: idRef del objeto informe a imprimir "ALIAS_PROYECTO/ID_OBJETO".
printerName: nombre de la impresora donde se lanzará la impresión del informe.
bHighRes: parámetro opción que permite configurar si la impresión se realizar con alta o baja resolución. Por defecto es false que indica baja resolución. Para imprimir en alta resolución hay que poner este parámetro a true.
Funciones de variables de sistema
String clientCachePath()
Devuelve el path usado por el ejecutable, por ejemplo vClient o vDataClient, para almacenar la información en caché.
Boolean isAdministrator()
Devuelve true si el usuario es administrador.
VSysInfo sysInfo()
Devuelve un objeto de la clase VSysInfo que contiene funciones para obtener diferente información del sistema.
Si cambiamos el cursor en un proceso con setOverrideCursor, para restaurarlo debemos hacerlo con la función restoreOverrideCursor en ese mismo proceso. El motivo es que estas funciones se han de usar en una misma sesión, y esa sesión es la del propio proceso en la que se ha modificado el cursor. Esto quiere decir que no podemos modificar y restaurar el cursor en procesos diferentes.
Funciones de variables globales tipo array
Number globalVarArraySize( String szIdRefVar )
Devuelve el tamaño del array de la variable global.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
Boolean globalVarArrayToBool( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo booleano.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
Date globalVarArrayToDate( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo fecha.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
DateTime globalVarArrayToDateTime( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo tiempo, fecha y hora.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
Number globalVarArrayToInt( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo numérico, entero.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
Number globalVarArrayToSDouble( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo numérico, con decimales.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
String globalVarArrayToString( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo alfabético.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
Time globalVarArrayToTime( String szIdRefVar, Number nSubindex )
Devuelve el valor de un elemento de una variable global de tipo Array cuyo contenido sea de tipo hora.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
Boolean isGlobalVarArrayEmpty( String szIdRefVar, Number nSubindex )
Devuelve true si el elemento de una variable global de tipo Array está vacío.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
void setGlobalVarArray( QString szIdRefVar, Number nSubindex, Variant var)
Asigna un valor a un elemento de una variable global de tipo array.
Parámetros:
szIdRefVar: identificador de referencia de la variable global.
nSubindex: número de índice del elemento del array.
var: valor de cualquier tipo que deseamos almacenar en el elemento de la variable global tipo array.
Devuelve un array con la descripción del dispositivo de las cámaras disponibles en el sistema. Para presentar al usuario es preferible mostrar esta información, es decir la descripción que devuelve esta función en vez de mostrarle los valores de la función availableCameras().
Array availableCameras()
Devuelve un array con los nombres de dispositivo de las cámaras disponibles en el sistema.
String defaultCamera()
Devuelve el nombre de la cámara configurada por defecto en el sistema.
String defaultCameraDescription()
Devuelve la descripción de la cámara configurada por defecto en el sistema.
Funciones de vista de datos
VAbstractDataView focusDataView
Retorna el control de vista de tipo VAbstractDataView que tiene el foco o null si no hubiera ninguno.
Funciones de estilos
Boolean setStyle( String szStyle )
Establece el estilo que indiquemos como parámetro para la aplicación.
Parámetros:
szStyle: nombre del estilo. Una cadena vacía establecerá el estilo por defecto del sistema ("").
Devuelve true si ha encontrado el estilo y establecido éste para la aplicación. False si no ha podido establecerlo por que no está disponible.
String style()
Devuelve el nombre del estilo en curso.
Array styles()
Devuelve en un array de cadenas, los nombres de los estilos disponibles en el sistema.
Funciones de aspecto
Este grupo de funciones solo está operativo en macOS e iOS.
Number currentAspect()
Retorna el valor del aspecto en que esté trabajando la app (Claro u oscuro). Ver enum de modos de aspecto.
Number aspect()
Retorna el valor del aspecto que se haya establecido (Claro, Oscuro o Sistema). Ver enum de modos de aspecto.
void setAspect (AspectMode mode)
Establece el aspecto de la aplicación (Claro, Oscuro o Sistema).
Devuelve un objeto VSSLInfo que contiene la información correspondiente a la conexión en curso, a partir del cuál podemos obtener información de la configuración de la conexión segura TLS/SSL y del certificado utilizado.
Funciones de cliente-servidor
Number connectionLatency()
En el cliente, devuelve la latencia media de la conexión expresado en milisegundos (devuelve -1 si no hay conexión).
Number connectionQuality()
En el cliente, devuelve la calidad media de la conexión en una escala de 0 a 6, de menor a mayor calidad (devuelve 0 si no hay conexión). Ver enum de calidades de conexión.
Funciones de personalización
Void setFrame( String szIdRefFrame )
Esta función permite cambiar el marco principal del proyecto por el que indiquemos en su parámetro.
Solamente podrá ser usada en el proceso ON_INIT_CLIENT del proyecto de aplicación.
Parámetros:
szIdRefFrame: identificador de referencia del marco a usar.
Funciones de API
Number currentInstanceCode()
Devuelve el código de la instancia en curso.
Sring currentInstanceConnectionToken()
Devuelve el testigo del enganche de la instancia en curso.
String currentInstanceId()
Devuelve el identificador de la instancia en curso.
String currentInstanceName()
Devuelve el nombre de la instancia en curso.
Number mainInstanceCode()
Devuelve el código de la instancia principal.
El valor que devuelva cuando hay herencia variará en función del proyecto en el que usemos la función y el plano de ejecución. Para entenderlo mejor partiremos de una solución con un proyecto de datos que hereda uno de aplicación. En el proyecto de datos creamos un proceso que usa esta función:
Ejecutado en primer plano desde Velneo vCleint, devolverá el código de la instancia del proyecto de aplicación.
Ejecutado en tercer plano desde Velneo vCleint, devolverá el código de la instancia del proyecto de aplicación.
Ejecutado en primer plano desde Velneo vDataClient, devolverá el código de la instancia del proyecto de datos.
Ejecutado en tercer plano desde Velneo vDataCleint, devolverá el código de la instancia del proyecto de datos.
String mainInstanceConnectionToken()
Devuelve el testigo del enganche de la instancia principal.
El valor que devuelva cuando hay herencia variará en función del proyecto en el que usemos la función y el plano de ejecución. Para entenderlo mejor partiremos de una solución con un proyecto de datos que hereda uno de aplicación. En el proyecto de datos creamos un proceso que usa esta función:
Ejecutado en primer plano desde Velneo vCleint, devolverá el testigo del enganche del proyecto de aplicación.
Ejecutado en tercer plano desde Velneo vCleint, devolverá el el testigo del enganche del proyecto de aplicación.
Ejecutado en primer plano desde Velneo vDataClient, devolverá el el testigo del enganche del proyecto de datos.
Ejecutado en tercer plano desde Velneo vDataCleint, devolverá el el testigo del enganche del proyecto de datos.
String mainInstanceId()
Devuelve el identificador de la instancia principal.
El valor que devuelva cuando hay herencia variará en función del proyecto en el que usemos la función y el plano de ejecución. Para entenderlo mejor partiremos de una solución con un proyecto de datos que hereda uno de aplicación. En el proyecto de datos creamos un proceso que usa esta función:
Ejecutado en primer plano desde Velneo vCleint, devolverá el identificador de la instancia del proyecto de aplicación.
Ejecutado en tercer plano desde Velneo vCleint, devolverá el identificador de la instancia del proyecto de aplicación.
Ejecutado en primer plano desde Velneo vDataClient, devolverá el identificador de la instancia del proyecto de datos.
Ejecutado en tercer plano desde Velneo vDataCleint, devolverá el identificador de la instancia del proyecto de datos.
String mainInstanceName()
Devuelve el nombre de la instancia principal.
El valor que devuelva cuando hay herencia variará en función del proyecto en el que usemos la función y el plano de ejecución. Para entenderlo mejor partiremos de una solución con un proyecto de datos que hereda uno de aplicación. En el proyecto de datos creamos un proceso que usa esta función:
Ejecutado en primer plano desde Velneo vCleint, devolverá el nombre de la instancia del proyecto de aplicación.
Ejecutado en tercer plano desde Velneo vCleint, devolverá el nombre de la instancia del proyecto de aplicación.
Ejecutado en primer plano desde Velneo vDataClient, devolverá el nombre de la instancia del proyecto de datos.
Ejecutado en tercer plano desde Velneo vDataCleint, devolverá el nombre de la instancia del proyecto de datos.
Es una función específica para usar en las extensiones de Velneo vDevelop y solamente es funcional en el ámbito de Velneo Web.
Funciones de JSON Web Token (JWT)
Cuando queremos ejecutar una aplicación web utilizando el login social necesitamos obtener un token para realizar un arranque directo del componente. Las funciones de este grupo nos permiten generar un token JWT.
Object jwtDecode( String szToken, String szKey )
Esta función permite comprobar si un token JWT es válido o no.
Parámetros:
szToken: cadena con el token JWT a comprobar.
szKey: cadena con la clave del token JWT a comprobar.
Devuelve un objeto json con los siguientes campos:
isValid: si el token es valido (la clave con la que se genero es la misma que se le pasa).
header: cabecera en una cadena con formato JSON.
payload: payload en una cadena con formato JSON.
alg: devuelve una cadena con el algoritmo del JWT.