Cestas

Contenido

Cesta: ¿Está la ficha en la cesta?

Cesta: agregar ficha a la cesta

Cesta: agregar lista a la cesta

Cesta: agregar a la lista en curso

Cesta: crear cesta local

Cesta: cruzar lista de la cesta

Cesta: cruzar la lista en curso

Cesta: enviar mensaje a la cesta

Cesta: limpiar

Cesta: procesar

Cesta: quitar ficha de la cesta

Cesta: quitar lista de la cesta

Cesta: quitar de la lista en curso

Cestas

Conjunto de comandos de proceso que permite interactuar con cestas de listas de registros de una tabla. Este conjunto de comandos de proceso permite tanto el manejo de cestas locales al proceso como globales.

Al igual que las variables locales de un objeto son compartidas por todos los manejadores de evento de dicho objeto, las cestas locales creadas en los manejadores de evento también pueden ser compartidas por otro manejadores del mismo objeto.

Para evitar que varios manejadores tengan conflicto con las cestas locales, sólo tenemos que asignarles nombres diferentes a las cestas.

Lo importante es que esta funcionalidad nos permite de forma sencilla compartir listas de registros entre los manejadores de un objeto. Las cestas creadas por un manejador de objetos se destruyen cuando el manejador de evento finaliza, pero en el caso de que el manejador de evento sea llamado por otro manejador las cestas no se destruyen hasta que finaliza el manejador principal, es en este caso en el que si usamos cestas creadas con el mismo nombre en 2 manejadores sus datos son compartidos.

Cesta: ¿Está la ficha en la cesta?

Comando de instrucción del grupo Cestas que permite localizar una ficha dentro de una cesta de la compra.

Origen de la instrucción: ficha.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta en la que queremos añadir la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas de los proyectos de datos heredados.

Identificador de variable local numérica de retorno posición de la ficha

Aquí se declara una variable que retornará la posición de la ficha actual dentro de la cesta. Si no la contuviese devolverá 0

Funcionalidad

Esta función devuelve la posición de la ficha actual dentro de la cesta especificada como parámetro.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Ejemplo

Comprobamos si la ficha en curso del formulario CLT_M (Clientes) se encuentra en la cesta global CLT_CESTA y mostramos un mensaje con la posición de la ficha en la cesta en caso de que exista.

Cesta: ¿Está la ficha en la cesta? ( CLT_CESTA@ejemplo_app, POS )
If ( POS > 0 )
    Mensaje ( "Posición de la ficha en la cesta: " + POS, Información, 30,  )
Else
    Mensaje ( "La ficha en curso no está en la cesta", Información, 30,  )

Cesta: agregar ficha a la cesta

Comando de instrucción del grupo Cestas que permite añadir un registro concreto a una cesta.

Origen de la instrucción: ficha.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta en la que queremos añadir la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas de los proyectos de datos heredados.

Funcionalidad

Esta función guarda la ficha procesada en la cesta especificada en su parámetro.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Este comando de instrucción no podrá ser usado en el subproceso que genera el comando cesta: procesar.

Por lo tanto, agregar una ficha a una cesta, debemos hacerlo fuera del subproceso que genera el comando de instrucción cesta: procesar.

Ejemplo

Cargamos la ficha de la tabla CLT_M(Clientes) cuyo ID sea igual a 1 y la agregamos a la cesta global CLT_CESTA.

Cargar lista ( CLT_M@ejemplo_dat, ID, 1, , ,  )
    Seleccionar ficha por posición ( 1 )
    Leer ficha seleccionada
        Cesta: agregar ficha a la cesta ( CLT_CESTA@ejemplo_app )

Cesta: agregar lista a la cesta

Comando de instrucción del grupo Cestas que permite añadir una lista de registros concretos a una cesta.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta en la que queremos añadir la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas de los proyectos de datos heredados.

Funcionalidad

Esta función guarda la lista procesada en la cesta especificada en su parámetro.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Ejemplo

Añadimos todos los registros de la tabla CLT_M(Clientes) a la cesta global CLT_CESTA.

Cargar lista ( CLT_M@ejemplo_dat, ID, , , ,  )
    Cesta: agregar lista a la cesta ( CLT_CESTA@ejemplo_app )

Cesta: agregar a la lista en curso

Comando de instrucción del grupo Cestas que permite añadir los registros contenidos en una cesta a la lista en curso.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta cuyo contenido queremos añadir la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas de los proyectos de datos heredados.

Funcionalidad

Esta función añade los registros contenidos en una cesta a la lista en curso.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

La tabla de origen tanto de la cesta como de la lista en curso ha de ser la misma.

Ejemplo

Añadimos a la rejilla LST_ETI los registros incluídos en la cesta global CLT_CESTA.

Interfaz: procesar ( LST_ETI, Todas )
    Cesta: procesar ( CLT_CESTA@ejemplo_app )
        Cesta: agregar a la lista en curso ( CLT_CESTA@ejemplo_app )

Cesta: crear cesta local

Comando de instrucción del grupo Cestas que permite crear una cesta de la compra local de un proceso.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de tabla

Identificador de la tabla para la que se desea crear la cesta. Para facilitar su especificación, este parámetro desplegará la lista de tablas de los proyectos de datos heredados.

Nombre de cesta

Nombre que se le vaya a dar a la cesta que se utilizará a nivel local en el proceso.

Funcionalidad

Esta función permite crear una cesta local de un proceso.

Ejemplo

Crear una cesta local de la tabla PED_G (Pedidos).

Cesta: crear cesta local ( PED_G@ejemplo_dat, cesta_PED_G)

Cesta: cruzar lista de la cesta

Comando de instrucción del grupo Cestas que permite cruzar una lista de registros concretos con los de una cesta.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta con la que queremos cruzar la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Funcionalidad

Esta comando de instrucción cruza la lista actual con los registros contenidos en una cesta. El resultado será que deja en la cesta los registros que coincidan en ambas listas.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Los registros se quitan únicamente de la cesta, permaneciendo igual que antes en la base de datos.

Este comando de instrucción no podrá ser usado en el subproceso que genera el comando cesta: procesar.

Por lo tanto, para cruzar una lista con los registros contenidos en una cesta, debemos hacerlo fuera del subproceso que genera el comando de instrucción cesta: procesar.

Ejemplo

Cruzamos los registros de la cesta global de clientes con la cesta local de etiquetas para clientes dejando los registros coincidentes.

Rem ( Cesta de etiquetas )
Cesta: crear cesta local ( CLT_M@ejemplo_dat, cesta.ETI )
Interfaz: procesar ( LST_ETI, Todas )
    Cesta: agregar lista a la cesta ( cesta.ETI )
    Rem ( Dejamos los registros coincidentes)
    Cesta: procesar ( CLT_CESTA@ejemplo_app )
        Cesta: cruzar lista de la cesta ( CLT_CESTA@ejemplo_app )

Cesta: cruzar la lista en curso

Comando de instrucción del grupo Cestas que permite cruzar los registros contenidos en una cesta con los de la lista en curso.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta cuyo contenido queremos cruzar con la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Funcionalidad

Este comando de instrucción cruza los registros contenidos en una cesta con los de la lista en curso. El resultado será que permanecerán en la lista en curso los elementos coincidentes con los contenidos en la cesta.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Los registros se quitan únicamente de la lista, permaneciendo igual que antes en la base de datos.

La tabla de origen de la lista en curso y la de la cesta ha de ser la misma.

Ejemplo

Cruzamos los registros de la cesta global de clientes con la lista de registros de la rejilla LST_ETI de etiquetas.

Interfaz: procesar ( LST_ETI, Todas )
    Cesta: cruzar la lista en curso ( CLT_CESTA@ejemplo_app )

Cesta: enviar mensaje a la cesta

Comando de instrucción del grupo Cestas que permite enviar un mensaje a la barra de tareas de una cesta de la compra que es usada como dock de un marco.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta a la que queremos enviar el mensaje.Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Fórmula de mensaje

Expresión fórmula con el mensaje que será mostrado en la barra de estado de la cesta.

Funcionalidad

Esta función enviar un mensaje a la barra de estado de una cesta de la compra que es usada como dock de un marco.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso. Para facilitar la especificación del mensaje podemos hacer uso del asistente para edición de fórmulas.

Ejemplo

Mostramos un mensaje en la barra de tareas de la cesta de clientes.

Cesta: enviar mensaje ( CLT_CESTA@ejemplo_app, "Cesta de clientes" )

Cesta: limpiar

Comando de instrucción del grupo Cestas que permite vaciar el contenido de una cesta.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta que queremos limpiar. Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Funcionalidad

Esta función vacía el contenido en la cesta de la compra especificada en su parámetro.

Comentarios

Los registros eliminados se quitan únicamente de la cesta, permaneciendo igual que antes en la base de datos.

Ejemplo

Limpiamos los registros de las cesta CLT_CESTA (Clientes)

Cesta: limpiar ( CLT_CESTA@ejemplo_app )

Cesta: procesar

Comando de instrucción del grupo Cestas que permite trabajar sobre una cesta.

Origen de la instrucción: cualquiera.

Destino del subproceso: lista.

Parámetros

Identificador de cesta

Identificador de la cesta en la que queremos trabajar. Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Funcionalidad

Esta función genera un subproceso. El origen del subproceso será una lista de la tabla de datos de la cesta.

Todas las funciones que se incluyan dentro de dicho subproceso se ejecutarán sobre la lista de registros contenidos en la cesta y afectarán a los mismos. Es decir, que si en ese sub-proceso filtramos o cortamos la lista, filtraremos/cortaremos el contenido de la cesta.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Los comandos de instrucción cesta: agregar ficha a la cesta, cesta: quitar ficha de la cesta y Cesta: cruzar lista de la cesta no podrán ser usados en el subproceso que genera este comando.

Por lo tanto, para realizar ese tipo de operaciones con una cesta debemos hacerlo fuera del subproceso que genera este comando de instrucción.

Ejemplo

Modificamos los registros de la cesta CLT_CESTA (Clientes) y modificamos el valor del campo FCH (Fecha) por la fecha actual.

Cesta: procesar ( CLT_CESTA@ejemplo_app )
    Recorrer lista lectura/escritura
        Modificar campo ( FCH, currentDate() )

Cesta: quitar ficha de la cesta

Comando de instrucción del grupo Cestas que permite quitar el registro que estamos procesando de una cesta local al proceso o de un objeto cesta.

Origen de la instrucción: ficha.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta en la que queremos eliminar la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas de los proyectos de datos.

Funcionalidad

Esta función quita la ficha que estamos procesando de la cesta especificada en su parámetro.

Comentarios

Puede especificarse o bien un objeto cesta creado en el panel derecho del vDevelop o una cesta local del proceso.

El registro eliminado se quita únicamente de la cesta, permaneciendo igual que antes en la base de datos.

Este comando lo usaremos cuando queramos quitar un registro de la cesta desde fuera de la misma. Si lo que queremos es procesar directamente una cesta y quitarle una ficha, lo que haremos será usar el comando cesta: procesar y, en el subproceso que genera, usar el comando quitar ficha de la lista.

Ejemplo

Quitamos la ficha en curso del formulario CLT_M(Clientes) de la cesta global CLT_CESTA.

Cesta: quitar ficha de la cesta ( CLT_CESTA@ejemplo_app )

Cesta: quitar lista de la cesta

Comando de instrucción del grupo cestas que permite quitar una lista de registros concretos a una cesta.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la cesta a la que queremos quitar la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Funcionalidad

Esta función elimina la lista procesada de la cesta especificada en su parámetro.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Los registros eliminados se quitan únicamente de la cesta, permaneciendo igual que antes en la base de datos.

Ejemplo

Quitamos los registros de la rejilla LST_ETI de la cesta global CLT_CESTA.

Interfaz: procesar ( LST_ETI, Todas )
    Cesta: quitar lista de la cesta ( CLT_CESTA@ejemplo_app )

Cesta: Quitar de la lista en curso

Comando de instrucción del grupo Cestas que permite quitar de la lista actual los registros contenidos en una cesta.

Origen de la instrucción: lista.

Destino del subproceso: ninguno.

Parámetros

Identificador de cesta

Identificador de la Cesta cuyo contenido queremos quitar de la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de cestas del proyecto en curso y heredados.

Funcionalidad

Esta función permite quitar de la lista actual los registros contenidos en una cesta.

Comentarios

Puede especificarse o bien un objeto cesta o una cesta local del proceso.

Los registros eliminados se quitan únicamente de la lista, permaneciendo igual que antes en la base de datos.

La tabla de origen de la lista y la de la cesta ha de ser la misma.

Ejemplo

Quitamos los registros contenidos en la cesta CLT_CESTA de la rejilla LST_ETI.

Interfaz: procesar ( LST_ETI, Todas )
    Cesta: quitar de la lista en curso ( CLT_CESTA@ejemplo_app )

Última actualización