VProcess
Hereda de: VObjectInstance.
La clase VProcess representa un proceso en ejecución. Nos permite ejecutar procesos. Construimos un objeto VProcess pasándole el objeto VRoot en curso y le indicamos el proceso a ejecutar con la función setProcess. Una vez inicializado el objeto ya podemos usar el resto de funciones (salvo result): le pasamos un registro (setRegisterIn) o una lista de registros (setRegisterListIn) en función del tipo de entrada del proceso y también el contenido a las variables locales del proceso con setVarLocal (si lo requiere) y la ejecutamos con la función exec. Ahora ya podemos recoger los resultados con la función result, que nos devuelve un objeto nulo, un objeto de la clase VReigster o un objeto de la clase VRegisterList en función del tipo de salida del proceso.
Esta clase se ha incorporado al API en la versión 7.15.
Funciones
Constructor
Función |
VProcess( VRoot root ) |
De operaciones
Retorno | Función |
Boolean | exec( Number nRunIn = VProcess::RunInThisThread, String szIdRefCola ) |
Objeto | result() |
Inicialización
Retorno | Función |
void | setProcess( String szIdRefProcess ) |
Boolean | setRegisterIn( VRegister registerIn ) |
Boolean | setRegisterListIn( VRegisterList registerListIn ) |
Enumeraciones
Runmode (Modos de ejecución)
RunInThisThread = 0
RunInNewThread = 1
RunInServer = 2
RunInServerAsync = 3
Documentación de funciones
Constructor
VProcess( VRoot root )
Crea una instancia de objeto de la clase VProcess. Debe ejecutarse la función setProcess() para asignarle el proceso a ejecutar.
Parámetros:
Funciones de operaciones
Boolean exec( Number nRunIn = VProcess::RunInThisThread, String szIdRefCola )
Ejecuta el proceso y devuelve true si finaliza correctamente y false en caso contrario. Los parámetros de la función son opcionales. Si no se especifican el proceso se ejecutará en el mismo hilo que el proceso JavaScript que lanza la función. Si deseamos especificar el segundo parámetro para indicar la cola de ejecución, obligatoriamente debemos especificar el primero (modo de ejecución). Si se especifica una cola de ejecución el proceso se lanzará a través de dicha cola, esto es válido para procesos que se ejecuten en segundo plano, RunInNewThread.
Parámetros:
nRunIn: Modo de ejecución. Ver enum de modos de ejecución. Por defecto, RunInThisThread.
szIdRefCola: Identificador de referencia (Alias/Identificador) de un objeto Cola de procesos.
Los valores del enum de modos de ejecución son:
RunInThisThread: Se ejecuta en el mismo hilo en el que está el proceso JavaScript ejecutándose. Equivale a la ejecución en primer plano.
RunInNewThread: Se ejecuta en un nuevo hilo. Equivale a la ejecución en segundo plano.
RunInServer: Se ejecuta en el servidor. Equivale a la ejecución en tercer plano.
RunInServerAsync: Se ejecuta en nuevo hilo en el servidor. Equivale a la ejecución en 4º plano.
Objeto result()
Devuelve Nulo, VRegister o VRegisterList según tipo de salida del proceso.
Inicialización
void setProcess( String szIdRefProcess )
Fija el proceso que se asocia al objeto.
Parámetros:
szIdRefProcess: String que contiene el identificador referencia (IdRef=Alias_Proyecto/Id_Proceso) del proceso.
Boolean setRegisterIn( VRegister registerIn )
Añade una ficha o registro al proceso. Esta es la forma de alimentar el registro para un proceso de origen ficha.
Parámetros:
registerIn: Objeto de la clase VRegister que alimentará el registro de entrada (theRegisterIn) del proceso.
Boolean setRegisterListIn( VRegisterList registerListIn )
Añade una lista de registros al proceso. Esta es la forma de alimentar la lista de registros para un proceso de origen lista.
Parámetros:
registerListIn: Objeto de la clase VRegisterList que alimentará la lista de registros de entrada (theRegisterListIn) del proceso.
Ejemplos
1. Ejecutar un proceso
2. Proceso que calcula el precio de un artículo en base a sus parámetros
Última actualización