Tubos

Conjunto de comandos de proceso que permiten hacer uso en los procesos de los objetos tubo de ficha y tubo de lista.

Tubo de ficha

Comando de instrucción del grupo Tubos que permite el uso de un objeto tubo de ficha.

Origen de la instrucción: ficha.

Destino del subproceso: ficha.

Parámetros

Identificador del tubo

Identificador del tubo de ficha que queremos ejecutar a partir de la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de tubos de ficha disponibles, incluyendo los de los proyectos heredados.

Funcionalidad

Este comando de instrucción de proceso ejecuta el tubo de ficha declarado en el parámetro.

Comentarios

Si el tubo de ficha tiene asignado formulario de confirmación de alta, pedirá validación por parte del usuario, mediante el formulario declarado en el tubo, antes de realizar el alta de la ficha.

Esta función crea un subproceso de ficha. Este subproceso se ejecuta después de aceptar el formulario de la ficha de destino. Si se pulsa el botón Cancelar, el subproceso no será ejecutado. Este subproceso es de solo lectura, por lo tanto, ningún cambio realizado en la ficha de destino será guardado en el disco.

Dicho subproceso se ejecutará siempre, haya creado o no registros.

Ejemplo

Duplicar el artículo con ID = 1

Cargar lista ( ARTICULOS@ejemplo_dat, ID, 1, , ,  )
    Seleccionar ficha por posición ( 1 )
    Leer ficha seleccionada
        Tubo de ficha ( ARTICULOS_DUPLICAR@ejemplo_dat )
            Libre

Tubo de lista

Comando de instrucción del grupo Tubos que permite el uso de un objeto tubo de lista.

Origen de la instrucción: lista.

Destino del subproceso: lista.

Parámetros

Identificador del tubo

Identificador del tubo de lista que queremos ejecutar a partir de la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de tubos de lista disponibles, incluyendo los de los proyectos de heredados.

Funcionalidad

Este comando de instrucción de proceso ejecuta el tubo de lista declarado en el parámetro.

Comentarios

Si el tubo de lista tiene asignado formulario de petición de datos en destino, los pedirá mediante el formulario declarado en el tubo, antes de realizar el alta de las fichas.

Esta función crea un subproceso de lista con los registros dados de alta en la tabla de destino. Estos registros son de sólo lectura, no pudiendo modificarlos. Dicho subproceso se ejecutará siempre, haya creado o no registros.

Ejemplo

Leemos todos los clientes y añadimos todos los registros a la tabla de destino declarada en el tubo de lista.

El tubo de lista tiene como tabla asociada CLIENTES y como tabla de destino CLIENTES_COPIA.

Cargar lista ( CLIENTES@ejemplo_dat, ID, , , ,  )
    Tubo de lista ( TUBO_COPIAS_DE_CLIENTES@ejemplo_dat )
        Libre

Tubo de lista inducido

Comando de instrucción del grupo Tubos que permite el uso de un objeto tubo de lista, induciendo el valor de un maestro enlazado en la lista generada.

Origen de la instrucción: lista de la tabla de datos de origen del tubo.

Destino del subproceso: lista de la tabla de datos de destino del tubo.

Parámetros

Identificador del tubo

Identificador del tubo de lista que queremos ejecutar a partir de la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de tubos de lista disponibles, incluyendo los de los proyectos heredados.

Manejador de ficha

Identificador de una ficha guardada.

Funcionalidad

Esta función realiza el tubo de lista declarado y le induce la ficha guardada de una tabla maestra a cada elemento de la lista a crear. La inducción consiste en que a cada una de las fichas de la lista de destino se les introduce el código de su ficha de maestro.

Comentarios

La ficha que se induce debe haber sido guardada previamente con la instrucción crear copia de ficha en memoria.

Si el tubo de lista tiene asignado formulario de petición de datos en destino, los pedirá mediante el formulario declarado en el tubo, antes de realizar el alta de las fichas.

Esta función crea un subproceso de lista con los registros dados de alta en la tabla de destino. Estos registros son de sólo lectura, no pudiendo modificarlos. Dicho subproceso se ejecutará siempre, haya creado o no registros.

Ejemplo

Desde una formulario con origen ficha de facturas en memoria traspasamos la factura y sus líneas a la tabla en disco de facturas.

El tubo de ficha de FACTURAS se encarga de pasar el registro de la factura en memoria a disco.

Tubo de ficha ( FACTURAS@ejemplo_dat )
    Crear copia de ficha en memoria ( factura )
    Añadir ficha a la salida
Cargar plurales ( LINEAS_VENTA_MEN_ID )
    Tubo de lista inducido ( LINEAS_FACTURA@ejemplo_dat, factura )
        Libre

Este comando de instrucción de proceso ejecutado en tercer plano no dispara las actualizaciones al maestro inducido. En este caso nuestra recomendación es disparar el tubo mediante comandos de objeto. Para ello, en el tubo de lista usaremos una variable local para asignar el capilar correspondiente al campo maestro que se debe inducir.