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 VRegister 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 ) |
De variables locales
Retorno | Función |
void | setVar( String szId, Boolean bValor ) |
void | setVar( String szId, Date date ) |
void | setVar( String szId, DateTime dt ) |
void | setVar( String szId, double dValor ) |
void | setVar( String szId, int nValor ) |
void | setVar( String szId, String szValor ) |
void | setVar( String szId, Time time ) |
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: cadena 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.
Funciones de variables locales
void setVar( String szId, Boolean bValor )
Asigna el contenido a una variable local del proceso de tipo booleana.
Parámetros:
szId: identificador de la variable local.
bValor: booleano, 0 ó 1, true o false.
void setVar( String szId, Date date )
Asigna el contenido a una variable local del proceso de tipo fecha.
Parámetros:
szId: identificador de la variable local.
date: fecha.
void setVar( String szId, DateTime dt )
Asigna el contenido a una variable local del proceso de tipo tiempo, fecha y hora.
Parámetros:
szId: identificador de la variable local.
dt: tiempo, fecha y hora.
void setVar( String szId, double dValor )
Asigna el contenido a una variable local del proceso de tipo numérica, double.
Parámetros:
szId: identificador de la variable local.
dValor: número con decimales.
void setVar( String szId, int nValor )
Asigna el contenido a una variable local del proceso de tipo numérica, integer.
Parámetros:
szId: identificador de la variable local.
nValor: número entero.
void setVar( String szId, String szValor )
Asigna el contenido a una variable local del proceso de tipo alfabética.
Parámetros:
szId: identificador de la variable local.
szValor: cadena alfabética.
void setVar( String szId, Time time )
Asigna el contenido a una variable local del proceso de tipo hora.
Parámetros:
szId: identificador de la variable local.
time: hora.
Ejemplos
1. Ejecutar un proceso
2. Proceso que calcula el precio de un artículo en base a sus parámetros
Última actualización