Hola,
Os pongo lo que hace tiempo puse en facebook, y me gustan que los demás decidan ir por este camino.
Sustitución de los campos TIPOS DE ENTIDADES booleanos, por una tabla de propiedades de entidades
<div class="clearfix">
<div class="mbs mbs uiHeaderSubTitle lfloat fsm fwn fcg">de Antonio Vela, el jueves, 03 de septiembre de 2009 a las 16:53</div>
</div>
(Cambiando la documentación sobre mi vBaseVisual particular)
Por todos es conocido la funcionalidad que tienen los campos booleanos
asignados en vBase como tipos de entidades. Pues bién, he decidido
cambiar este tipo de funcionalidad en mi vBaseVisual particular.
Los Tipos de Entidades que estoy analizando para un proyecto son:
- Usuario
- Comercial
- Transportista
- Organismo
- Ciudadano
- Precliente
- Acreedor
- Cliente
- Contacto
- Empleado
- Asociación
- Proveedor
La existencia de estas entidades, es debido a que cada una de ellas llevarán asociadas distintos módulos operaciones dentro de la aplicación, así como distintos tipos de formularios y subformularios entre otras operaciones que se velnearán.
Repasando los vídeos sobre herencia inversa y/o puntos de insercción que se podrán poner en los separadores de formularios; he optado por quitar los campos de tipos de entidades declarados en la tabla entidades y llevarlas a otra tabla que denominaré -propiedades de entidades-.
En esta tabla de propiedades crearé los tipos de entidades con una estructura básica como la siguiente:
- Código
- Descripción Tipo Entidad
- Aplicar Si o No
- Valor
El Código será autonumérico, ya que serán los enlaces plurales de la tabla maestra entidades. Por lo tanto ya no tendremos límites a la hora de crear tipos de entidades. Hasta ahora sólamente había que crearlas y velnearlas allí donde hiciese falta condicionándose su uso.
La Descripción del Tipo de Entidad podrá ser cualquiera de las necesarias que hayamos creado como información a incorporar en los puntos de inserción de los separadores de formularios.
Aplicar Si o No, será un campo booleano que nos servirá para condicionar el/los formulario/s correspondientes a cada entidad para poder interactuar con ellos donde haga falta.
Valor, será un número único que asignaremos para identificar así los registros que podrán usar los puntos de insercción.
De esta forma (y cuando tengamos operativa la herencia inversa, que sea pronto) ya no tendremos problemas ninguno a la hora de incorporar nuevos tipos de entidades a las fichas correspondientes.
También (para eso lo he pensado) podemos añadir multiples tipos de entidades a cada ficha.
La otra parte, es la del diseño correspondiente de las tablas,formularios y subformularios que se podrán incorporar dentro del formulario de las fichas. Tipo módulos de aplicación.
Se diseñan por independiente y gracias a los puntos de inserción los incorporamos en el formulario principal (o en cualquiera secundario). Es aquí donde usamos el campo -Valor- incorporado en cada tipo de entidad,
con condición de activo/visible según el campo -Aplicar Si o No- de la ficha en curso.
Ejemplo:
Creamos -Ciudadanos-, con sus formularios y subformularios correspondientes a las tablas.
Creamos -Curriculum-, con sus formularios y subformularios correspondientes a las tablas.
Creamos -Multas-, con sus formularios y subformularios correspondientes a las tablas.
Creamos -Actividades-, con sus formularios y subformularios correspondientes a las tablas.
Creamos -Impuestos-, con sus formularios y subformularios correspondientes a las tablas.
...etc....
A cada uno de ellos le asignamos internamente un -Valor- en variables locales a los formularios/subformularios de cada tipo de tabla.
Cuando editemos cualquier ficha, cargaremos previamente las propiedades (puede ser en un array), serán activos/visibles aquellos formularios/subformularios que coincidan con el -Valor- de la ficha en curso.
¿Qué aparecen nuevos tipos de entidades?
Se diseñan los formularios(subformularios Se les dá un valor único para identificarlos
Se incorporan manualmente o por proceso en las fichas correspondientes.
Y a funcionar....
Creo que debe funcionar así perfectamente, esperemos esta funcionalidad mientras tanto.
- Módulos Heredables = Puntos de inserción = Herencia Inversa -
saludos
Antonio Vela
http://www.velavisual.com