Objeto - grupo de comandos
Contenido
Get ítem array de variable local de objeto
Set ítem array de variable local de objeto
Objeto
Se trata de un conjunto de comandos que nos permiten manipular objetos de interfaz, tanto de ficha como de lista, de un proyecto de aplicación, etc.
Añadir ficha al objeto
Comando de instrucción del grupo de Comandos de objetos que añade la ficha en curso a un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: ficha de la tabla en curso.
Destino del subproceso: ninguno.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Funcionalidad
Permite añadir un registro.
El objeto tendrá que ser uno que maneje registros, como por ejemplo, un formulario.
Comentarios
El objeto tendrá que haber sido instanciado con anterioridad dentro del mismo proceso y el registro tendrá que ser de la misma tabla asociada al objeto.
Este comando lee el contenido que tiene la ficha en disco y sustituye lo que se tenga en memoria en el objeto al que se añada la ficha.
Por lo tanto, si queremos añadir una ficha creada en el mismo proceso, habría que guardarla en disco previamente antes de añadirla al objeto.
Ejemplo
Editamos el artículo con ID = 1 habiendo añadido previamente la ficha al manejador de objetos.
Añadir lista al objeto
Comando de instrucción del grupo de Comandos de objetos que añade la lista de registros en curso a un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: lista de la tabla en curso.
Destino del subproceso: ninguno.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Funcionalidad
Permite añadir una lista de registros registro.
El objeto tendrá que ser uno que maneje registros, como por ejemplo, una rejilla.
Comentarios
El objeto tendrá que haber sido instanciado con anterioridad dentro del mismo proceso y la lista de registros tendrá que ser de la misma tabla asociada al objeto.
Ejemplo
Cargamos la lista de clientes añadiendo los registros a un manejador de objetos de tipo informe que es disparado..
Crear manejador de objeto
Comando de instrucción del grupo Comandos de objeto que genera un manejador del objeto que seleccionemos en sus parámetros. El resto de los comandos de objeto han de usar este manejador como referencia para la acción que realizan.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Manejador de objeto
Etiqueta alfanumérica que servirá para referenciar el objeto en el resto de los comandos de objeto que vayan a hacer uso del mismo.
Identificador de objeto
Objeto que se desea manipular. Se desplegará una lista de todos los objetos disponibles, agrupados por tipo. Seleccionaremos el deseado.
Funcionalidad
Genera un manejador del objeto que seleccionemos en sus parámetro para su posterior manipulación dentro del proceso. El resto de los comandos de objeto han de usar este manejador como referencia para la acción que realizan.
Comentarios
Es posible instanciar un mismo objeto varias veces en un mismo proceso, o manejar distintos objetos al mismo tiempo.
El objeto no tendrá referencia alguna a registros, hasta que se los asignemos con el comando adecuado.
Cuando creamos un objeto de ficha con este comando de instrucción se crea una ficha nueva y se rellenan sus contenidos iniciales, por lo que cuando usamos el comando Disparar objeto, la ficha está ya creada previamente por el otro comando y ya dispone de los valores inicializados en los contenidos iniciales.
En un mismo proceso, no debemos crear varios objetos con el mismo manejador, ya que precisamente el manejador o handler es el que identifica al objeto por lo que, si tenemos manejadores duplicados, el sistema no podrá saber a cuál de los objetos ha de hacer referencia.
Ejemplo
Creamos un manejador de objetos del objeto Búsqueda ARTICULOS.
Disparar objeto
Comando de instrucción del grupo Comandos de objetos que permite hacer uso de un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ficha/Lista de la tabla asociada al objeto o Ninguno, depende de si el objeto tiene o no salida.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Modo de ejecución
En este parámetros especificaremos dónde y de qué modo va a ser disparado el objeto. Los valores posibles son:
1º plano: local
El objeto es disparado de forma local, bien sea en el cliente, bien sea en el servidor, y devuelve un retorno por el que espera el proceso. Por tanto, este parámetro es bloqueante del proceso llamador hasta que éste haya finalizado.
3º plano: servidor
El objeto es disparado en el servidor y devuelve un retorno por el que espera el proceso. Por tanto, este parámetro es bloqueante del proceso llamador hasta que la ejecución del objeto haya finalizado. Dado que el objeto será disparado en el servidor no podremos disparar objetos de interfaz en los que deba intervenir el usuario, como por ejemplo, formularios, pues éstos serían presentados en el servidor, no en el cliente.
Solamente podremos disparar en tercer plano objetos de tipo proceso y búsqueda.
4º plano: servidor (no espera retorno)
Solamente válido para ejecutar procesos. El subproceso será ejecutando en el servidor y su ejecución será paralela a la del proceso principal pues éste no esperará a que el subproceso finalice. Los procesos disparados en 4º plano son ejecutados en una cola de forma secuencial.
Identificador de variable local booleana de retorno de ok
Variable local.
Funcionalidad
Permite hacer uso de un objeto instanciado previamente en el mismo proceso por medio del comando de instrucción Crear manejador de objeto y atrapar su retorno. Pudiendo disparar el objeto tanto en local como en el servidor.
Comentarios
Este comando genera un subproceso cuyo origen será la salida del objeto disparado. Dicho subproceso solamente será ejecutado si el objeto disparado tiene salida.
Este comando no admite la ejecución de procesos en segundo plano (multitarea), ya que se trata de un comando de interfaz. Sí permite disparar los procesos en tercer o cuarto plano.
Para la ejecución de procesos en segundo plano debemos usar el comando Ejecutar proceso.
Si el objeto a disparar es un objeto de lista como, por ejemplo, una rejilla, al hacer sobre ella doble clic o intro se mostrará el formulario de modificación del ítem seleccionado y se cerrará la rejilla.
Cuando se utilizan los manejadores de objetos, si no tienen transacción a heredar, crean una transacción nueva independiente, sin embargo, si tienen una transacción a heredar incluyen sus operaciones en dicha transacción.
Por lo tanto, Si queremos forzar que diferentes procesos lanzados a través del manejador de objetos queden agrupadas en una sola transacción tan sólo hay que ejecutar el comando “Forzar transacción” antes de ejecutar los comandos “Disparar objeto”.
Nota |
Debemos tener en cuenta que, si disparamos un proceso en tercer plano y una instrucción del mismo dura más de 10 minutos, hará que el proceso no pueda reportar al llamador que continúa ejecutándose, por lo que de desenganchará y se deshará. |
Ejemplo
Creamos un manejador de objetos del objeto Búsqueda ARTICULOS, disparando el objeto y llevando los registros que nos devuelve la búsqueda a la salida.
Get ítem array de variable local de objeto
Comando de instrucción del grupo de Comandos de objetos de tipo array declarada en un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Identificador de la variable local del objeto
En este parámetro se desplegará una lista que contendrá todas las variables locales del objeto que sean de tipo array; seleccionaremos la deseada.
Fórmula de posición
Posición del array donde está el item. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.
Identificador de variable local de retorno
En este parámetro se declara una variable que retornará el valor del ítem leído del array.
Funcionalidad
Esta instrucción permite leer el valor de una posición variable local.
Comentarios
El objeto tendrá que haber sido instanciado con anterioridad a la lectura de sus variables, dentro del mismo proceso.
Ejemplo
Ejecutamos un proceso obtenido de él el valor de la posición 1 del array MAT_CONFIG guardando su valor en la variable local CONFIGURACION par mostrarla con un mensaje.
Get variable local de objeto
Comando de instrucción del grupo de Comandos de objetos declarada en un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Identificador de la variable local del objeto
En este parámetro se desplegará una lista que contendrá todas las variables locales del objeto; seleccionaremos aquella cuyo valor queramos obtener.
Identificador de variable local de retorno
En este parámetro se seleccionará o se creará la variable local del proceso donde se retornará el dato leído.
Funcionalidad
Este comando de instrucción permite leer el valor de una variable local.
Comentarios
El objeto tendrá que haber sido instanciado con anterioridad a la lectura de sus variables, dentro del mismo proceso.
Nota |
Si disparamos un proceso en tercer plano y en dicho proceso se usa el comando set retorno proceso = NO, no se retornará el valor de ninguna variable (en primer plano sí). En el caso de la ejecución en tercer plano, lo que podemos hacer es sustituir el set retorno proceso = NO por otra variable local, a la que asignaremos un 1 o un 0 y en el proceso llamador leer el valor de dicha variable.. |
Ejemplo
Ejecutamos un proceso en tercer plano que nos devolverá en la variable ESTA_FACTURADO el resultado de la ejecución del proceso de facturación.
Set ítem array de variable local del objeto
Comando de instrucción del grupo de Comandos de objetos de tipo array declarada en un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Identificador de la variable local del objeto
En este parámetro se desplegará una lista que contendrá todas las variables locales del objeto que sean de tipo array; seleccionaremos la deseada.
Fórmula de posición
Posición del array donde está el item. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.
Fórmula de dato (opcional)
Valor a establecer al item indicado en el parámetro anterior. En este parámetro podrá especificar tanto una constante como una expresión fórmula.
Funcionalidad
Esta instrucción permite asignar valor a un item de una variable local.
Comentarios
El objeto tendrá que haber sido instanciado con anterioridad a la lectura de sus variables, dentro del mismo proceso.
Ejemplo
Disparamos el proceso creado en el manejador de objeto proceso_facturación asignando un valor al ítem 1 al array declarado.
Set variable local del objeto
Comando de instrucción del grupo de Comandos de objetos declarada en un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Manejador del objeto
Identificador o manejador dado al objeto previamente en el proceso por medio del comando de instrucción Crear manejador de objeto.
Identificador de la variable local del objeto
En este parámetro se desplegará una lista que contendrá todas las variables locales del objeto; seleccionaremos aquella cuyo valor queramos modificar.
Fórmula de dato
En este parámetro se establecerá, por medio de una fórmula, el valor de la variable. Para facilitar su escritura podemos hacer uso del asistente para la edición de fórmulas.
Funcionalidad
Este comando de instrucción permite asignar un valor a una variable local.
Comentarios
El objeto tendrá que haber sido instanciado con anterioridad a la modificación de sus variables, dentro del mismo proceso.
En procesos ejecutados en 3er planoDocumentar como funciona en ambos casos.
Si disparamos un proceso en tercer plano y en éste se ejecuta el comando set retorno proceso NO.
En caso de proceso en tercer o cuarto plano, cuando hay un set retorno no, la información no viaja.
Entre otras cosas además el cliente no espera información ya que puede ser simplemente que el proceso no se ha podido ejecutar.
La opción es no retornar no y retornar una variable indicando el error.
Ejemplo
Creamos un manejador de objeto de un objeto búsqueda para que nos retorne los registros encontrados llevando el resultado a la salida. En el objeto búsqueda hay un índice que nos devolverá los registros dependiendo del valor de la variable TXT_BUS.
Última actualización