Uso avanzado de procesos
Uso avanzado de procesos
El proceso es un objeto contenedor de instrucciones definible por el programador. Las intrucciones se ejecutarán de forma secuencial y harán uso de comandos de instrucción de proceso que pueden acceder a otros objetos de las cajas incluyendo otros procesos.
El proceso tiene una entrada y una salida, es decir, un origen ficha, lista o ninguno y una tabla asociada, y un destino ficha, lista o ninguno y una tabla asociada. Esto permite trabajar con uno o varios registros de entrada y que el proceso devuelva un o varios registros como salida. Cada una de las intrucciones tiene un origen y un destino condicionados por el origen y el comando anterior, el primero de ellos determinado por la entrada del proceso. De esta forma el flujo de datos es gestionado por el proceso, permitiendo una salida programada en función de la entrada.
Los procesos se pueden ejecutar en distintos planos, lo que permite que sean ejecutados en local o el servidor, en multi-tarea en local, y esperando respuesta o no por parte del proceso llamado.
Para crear un proceso haremos doble clic sobre el icono
de la galería de objetos (Tecla Insert) de Velneo vDevelop V7.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en la caja.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al proceso, y Heredable, que permite que el proceso pueda ser usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del proceso.
Tabla asociada: Esta propiedad nos permite establecer el origen del proceso. Podremos, o bien seleccionar una tabla de una caja de datos heredada, o bien seleccionar el valor .Ninguna en el caso de que el origen del proceso no tenga origen.
Origen: Esta propiedad aparecerá solamente en el caso de que en la propiedad Tabla asociada hayamos seleccionado una tabla. Los valores posibles son:
Ficha: El origen del proceso será una ficha (registro) de la tabla seleccionada en la propiedad Tabla asociada.
Listas: El origen del proceso será una lista de registros de la tabla seleccionada en la propiedad Tabla asociada.
Tabla destino: Esta propiedad nos permite establecer la salida del proceso. Podremos, o bien seleccionar una tabla de una caja de datos heredada, o bien seleccionar el valor .Ninguna en el caso de que el proceso no tenga salida.
Destino: Esta propiedad aparecerá solamente en el caso de que en la propiedad Tabla destino hayamos seleccionado una tabla. Los valores posibles son:
Ficha: La salida del proceso será una ficha (registro) de la tabla seleccionada en la propiedad Tabla destino.
Listas: La salida del proceso será una lista de registros de la tabla seleccionada en la propiedad Tabla destino.
La entrada de un proceso está determinada por la configuración de éste, y a su vez, determina dónde puede ser utilizado. Podemos usarlo desde otros objetos alimentándolo con los datos del objeto origen y permitiendo al proceso “procesarlos”, valga la redundancia, como puede ser, por ejemplo, desde otro proceso, desde una rejilla, desde un botón de un formulario accediendo a la ficha desde la que se lanza, una opción en un casillero, etc. También puede no tener origen ni tabla asociada, pudiéndose lanzar desde opciones de menú, formularios, rejillas, etc., por medio de acciones, y por tanto independientemente del contenido del objeto origen.
La salida también ha de determinarse en la configuración del proceso, pero debemos determinar mediante los comandos correspondientes con qué registros alimentaremos la salida del proceso. Los comandos son Añadir ficha a la salida, Añadir lista a la salida. Debemos usar el comando con un origen correspondiente con el de la salida. En el caso de que la salida sea ficha, debemos tener como origen de la instrucción una ficha de la tabla asociada como salida, y usaremos el comando Añadir ficha a la salida para alimentar la salida. En el caso de que la salida sea lista, podemos añadir tanto registros individuales como registros debemos tener como origen de la instrucción una ficha o una lista de la tabla asociada indistintamente, y usaremos el comando correspondiente para cada caso, Añadir ficha a la salida o Añadir lista a la salida para añadir los registros a la salida.
Si comenzamos con un proceso sin origen, normalmente realizaremos una búsqueda con el comando correspondiente Búsqueda, o Disparar objeto, o bien cargaremos una lista de registros de una tabla con Cargar lista resolviendo, si acaso, alguno de los índices. Solicitaremos algún dato al usuario y procesaremos la lista de acuerdo a unas condiciones preprogramadas. Un ejemplo de este proceso sería una facturación que carga una lista de albaranes y los factura.

Un proceso con origen puede ser de ficha o lista. Normalmente, un proceso con origen ficha evaluará ciertos datos del registro en curso y realizará una serie de instrucciones que los tenga en cuenta. Un ejemplo de proceso sería uno que carga los históricos de una factura para devolver las líneas de un proceso.

Un proceso con origen lista seguramente realizará ciertas operaciones o bien con la lista completa, bien dividiéndola en partes, agrupándola y ordenándolas, y puede, finalmente, recorrer uno a uno los registros que compongan la lista o listas resultantes para realizar ciertas operaciones. Un ejemplo de proceso sería aquel preparara un listado de albaranes para facturar, agrupándolos por cliente y realizando la facturación por cada lista resultante, devolviendo la lista de facturas obtenida.

Los procesos pueden hacer uso de objetos de las cajas de aplicación o datos a las que tengan acceso. Pero además puede hacer uso del subobjeto Variable. Este subobjeto nos permite almacenar información local al objeto proceso que estamos editando y ejecutando. Hay una serie de comandos, perteneciente al grupo de comandos de Objeto que nos permiten, además de hacer uso de los objetos, obtener y asignar valores de variables locales de los objetos usados. Un ejemplo sería un proceso que llama a otro asignándole ciertos valores a las variable del proceso llamado y, tras su ejecución, obteniendo los valores finales de las variables locales para ser usados en el proceso llamador.

Un proceso puede ser ejecutado en cuatro planos distintos, que definiremos en el momento de lanzar el proceso:
1º plano: Local. El proceso se ejecuta en local, es decir, en el cliente si se inicia en el cliente, en el servidor si se inicia en el servidor. En el caso de que el proceso se ejecute en el cliente, éste se verá bloqueado hasta finalizar su ejecución.
2º plano: Multi-tarea. Además de ejecutarse en local, en este caso el proceso es contemporáneo de otros procesos que se puedan realizar. Si se ejecuta en el cliente, el usuario puede seguir haciendo uso de la aplicación sin que se vea afectado ni bloqueado.
3º plano: El proceso será lanzado en el servidor aunque lo iniciemos desde el cliente. El proceso llamador esperará respuesta y por tanto quedará a la espera hasta que termine el proceso llamado, recibiendo el resultado de las operaciones realizadas.
4º plano: El proceso será lanzado en el servidor aunque lo iniciemos desde el cliente pero, en este caso, el proceso llamador no esperará respuesta y por tanto no quedará a la espera hasta que termine el proceso llamado ni recibirá el resultado de las operaciones realizadas.
Los procesos que se realicen en primer plano y necesiten datos, recibirán estos registros del servidor, aunque mientras trabajemos con listas y no con fichas, el registro completo no será enviado ni recibido. Los procesos que se realicen en tercer plano no necesitarán enviar o recibir datos excepto del resultado, por lo que, por regla general, serán mucho más rápidos ya que no habrá diálogo entre cliente y servidor. Pero debemos tener en cuenta que subirán la carga de trabajo del servidor.
Comandos básicos de Velneo V7
Comandos de ficha y campos de Velneo V7
Comandos de listas de Velneo V7
Comandos de lista: Ficha seleccionada
Comandos de navegante y búsquedas de Velneo V7
Comandos de procesos de Velneo V7
Comandos de retornos de Velneo V7
