8.4 El almacén de objetos
8.5.2. Encarpetado de histórico
Los encarpetados de históricos se utilizan en los formularios para ver la in- formación de forma clasificada dentro de una rejilla de histórico según los va- lores de un determinado campo de la tabla de datos (campo subclasificador). Es necesario que el campo subclasificador sea la segunda parte (o compo- nente) del índice por el que se accede a los registros de la tabla histórica. En el cuadro de diálogo Propiedades del encarpetado se establecen las si- guientes propiedades:
Descripción: será la que aparezca al usarlo.
Tabla de datos maestra: la tabla de datos maestra del histórico.
Histórico: es el histórico a encarpetar, pudiendo elegir de entre los que po-
damos tener creados, según el índice.
08
Desarrollo completo de una aplicacióne
e
Si se trata de un encarpetado automático es Velázquez Visual quien lo crea, tomando los valores del campo subclasificador. Quedará más claro con un ejemplo: supongamos que queremos ver los libros encarpetados por mate- rias en una ficha de editoriales. El usuario vería una rejilla con una Lista des- plegable en la parte superior donde estarían todas las materias de todos los libros de la editorial. Para crear este encarpetado habría que añadirle al ín- dice EDITORIALES de la tabla LIBROS el campo MATERIAS. Al crear el ob- jeto, en su definición, especificaremos como maestro EDITORIALES y co- mo histórico Libros -> Editoriales. Automáticamente, se mostrará como campo subclasificador MATERIAS. Activamos la casilla Encarpetado auto-
mático. En el formulario de edición de EDITORIALES creamos un control de
rejilla de histórico, activamos la casilla Encarpetado y seleccionamos el en- carpetado que hemos creado.
En caso de no ser automático, o sea, encarpetado manual, el encarpetado será creado por el usuario de la aplicación y será guardado en el disco pa- ra su posterior uso. Por ejemplo, se quieren ver las facturas de venta en- carpetadas por fechas en la ficha de artículos. El usuario vería una rejilla con una Lista desplegable en la parte superior y un botón titulado Carpetas don- de podría establecer los períodos adecuados para encarpetar las facturas. Para crear este encarpetado habrá que añadirle al índice ARTICULOS de la tabla FACTURAS el campo FECHA. Al crear el encarpetado, en su defini- ción, especificamos como maestro ARTICULOS y como histórico Facturas -> Artículos. En el formulario de ARTICULOS crearemos un control de reji- lla de histórico, activamos la casilla Encarpetado y seleccionamos el encar- petado de facturas por fecha. En tiempo de ejecución, Velázquez Visual nos lanza un formulario en el que establecemos los límites del período de tiem- po para el encarpetado.
Como norma general, si el campo subclasificador apunta a un maestro, lo normal es utilizar encarpetado automático. Velázquez Visual se encarga de averiguar la lista de posibles valores del campo y de realizar el encarpeta-
do. Si el campo subclasificador no apunta a maestro alguno, lo normal es utilizar encarpetado manual y dejar que el usuario establezca los valores de encarpetado.
Por ejemplo, si tenemos una tabla de Tareas enlazada a maestro a dos ta- blas, una de Clientes y otra de Tipos de Tareas, y queremos presentar en un formulario las Tareas de un Cliente (es decir, los históricos de una ficha), po- demos con un encarpetado histórico elegir de qué Tipo de Tarea serán las
Tareas que mostremos. Tipos de Tareas sería el campo subclasificador, y el
encarpetado sería automático, pudiendo elegir de qué tipo será la tarea de una lista que se genera en ejecución de forma automática.
Si queremos, sin embargo, mostrar las Tareas según otro campo que no es- té enlazado como por ejemplo la Fecha de la Tarea, no declararemos el en- carpetado como automático y dejaremos que ésta sea elegida por el usua- rio en ejecución, pudiendo incluso buscar entre límites.
Ejemplo: Encarpetado de Histórico Automático
Mediante este ejemplo veremos cómo utilizar los encarpetados de histórico de Velázquez Visual.
Los encarpetados de históricos se utilizan en los formularios para ver la in- formación de forma clasificada dentro de una rejilla. La clasificación se rea- liza encarpetando los registros según los valores de un determinado cam- po de la tabla de datos al que llamamos campo subclasificador. Para que pueda encarpetarse la lista de registros, el campo subclasificador debe ser el segundo componente del índice por el que se accede a los registros de la tabla histórica.
Como norma general, si el campo subclasificador apunta a un maestro, lo normal es utilizar encarpetado automático. Velázquez Visual se encarga de averiguar la lista de posibles valores del campo y de realizar el encarpeta- do. Si el campo subclasificador no apunta a maestro alguno, lo normal es utilizar encarpetado manual y dejar que el usuario establezca los valores de encarpetado.
Para este ejemplo se ha creado un mapa de datos con la siguiente es- tructura:
08
Desarrollo completo de una aplicaciónAhora vamos a crear los encarpetados: pretendemos incluir en el formula- rio de modificación de MARCAS una rejilla de histórico de ARTICULOS, en la que se pueda visualizar los registros de la misma según la familia a la que pertenezcan, de modo que el campo subclasificador será Familias. Este campo está enlazado a una tabla de datos maestra, así que en este caso el encarpetado será automático.
Para realizar el encarpetado automático seguimos los siguientes pasos: Modificamos el índice MARCAS de la tabla ARTICULOS para añadir el cam- po subclasificador, que será FAMILIAS, como segundo componente.
Seleccionamos el objeto Encarpetado de Histórico de la Galería. Sus pro- piedades son:
Maestro: MARCAS
Histórico: ARTICULOS -> MARCA
Campo subclasificador: Familias (lo detecta el programa automáticamente). Encarpetado automático: Activado
A este encarpetado lo hemos llamado ARTICULOS-MARCA-FAMILIA. En el formulario de modificación de MARCAS incluiremos un control de Re-
jilla de histórico. Sus propiedades son: Encarpetado: Activado Histórico/Carpetas: ARTICULOS-MARCA-FAMILIA Rejilla: ARTICULOS
08
Desarrollo completo de una aplicación eEn tiempo de ejecución, al editar un registro de la tabla MARCAS, se verá en la rejilla de ARTICULOS todos los artículos que se hayan dado de alta de dicha marca. Al abrir el combo box que se encuentra encima de la rejilla, se mostrará una lista que contendrá todas las familias de los artículos dados de alta de dicha marca, así como una opción para ver la lista completa de los artículos de la marca. Cada vez que se seleccione una familia de dicho combo box, en la rejilla sólo se visualizarán aquellos artículos de la marca que pertenezcan a dicha familia.
Ejemplo: Encarpetado de Histórico Manual
Mediante este ejemplo veremos cómo utilizar los encarpetados de histórico de Velázquez Visual del tipo encarpetado manual.
En este caso vamos a encarpetar los albaranes de un cliente por el campo
Fecha del albarán; y para ello, el índice Cliente de la tabla ALBARANES de-
berá tener como segunda parte el campo Fecha. Se ha creado un mapa con la siguiente estructura:
Ahora vamos a crear el Encarpetado de Histórico Manual:
Incluimos, en el formulario de modificaciones de CLIENTES, una rejilla de histórico de ALBARANES DE VENTAS que permita visualizar los registros
e
de la misma, clasificados según la fecha de emisión. De esto se deduce que el campo subclasificador será la FECHA del albarán.
Modificamos el índice Clientes de la tabla ALBARANES DE VENTAS para añadir el campo subclasificador, que será Fecha. Este índice es el que se utiliza para generar el enlace histórico de CLIENTES a ALBARANES.
Creamos el objeto Encarpetado de Histórico de la Galería de Objetos. Sus propiedades son:
Maestro: CLIENTES
Histórico: VALBARANES -> CLIENTES (como ya hemos dicho, aquí es don-
de se utiliza el índice Fecha para resolver el enlace histórico y que es el compuesto por cliente + fecha).
Campo subclasificador: Fecha (lo detecta el programa automáticamente). Encarpetado automático: Desactivado.
08
Desarrollo completo de una aplicaciónA este encarpetado lo hemos llamado ENCARPETADO-VALBARANES. En el formulario de modificación de CLIENTES incluiremos un control de
Rejilla de histórico. Sus propiedades son: Encarpetado: Activado
Histórico: ENCARPETADO-VALBARANES Rejilla: VALBARANES-SIN-CLIENTE
En tiempo de ejecución, al editar un registro de la tabla CLIENTES, se verá en la rejilla ALBARANES VENTAS el listado completo de todos los albara- nes del cliente editado. Junto al combo box que aparece encima de la reji- lla se incluye un botón, llamado Carpetas, que será el que permita crear y modificar las carpetas al usuario.
Para crear una carpeta tendremos que, en ejecución, pulsar el botón men- cionado anteriormente, pasando a la ventana de creación de carpetas. Por ejemplo: queremos crear una con todos los albaranes de todos los meses del 2000. Tendríamos que pulsar el botón Añadir y rellenar los siguien-
tes controles:
Título: Enero 2000 Límites: Fecha
Inicial: 01-Ene-2000 Final: 31-Ene-2000
Tras aceptar esta entrada, en el combo box ya tendrá Lista Completa de Al-
baranes de Ventas y Enero 2000.
Tendremos que repetir la operación con el resto de los meses. De esta ma- nera podremos ver, de un Cliente, aquellos albaranes que se incluyan en las fechas dadas, o la lista completa.
Con los botones podemos Añadir, Insertar, Eliminar, Orde-
nar arriba y abajo y Editar los distintos encarpetados, y si queremos modi-
ficar una carpeta, simplemente habrá que seleccionarla en el combo box y pulsar el botón Propiedades.