Filtrar entidades


([N1] joce) #1

Hola,
¿Alguien podría indicarme, utilizando la plantilla vGestion o vBase, cómo filtrar la tabla ENTIDADES para obtener una rejilla sólo con los clientes? Lo siento, ya se que es muy simple, pero aún pienso en V6. Os agradecería que propusieseis una forma simple de hacerlo. Muchas gracias.


([N4] eic) #2

Hola.

Aquí se explica con más detalle el diseño de vBase:

http://nachov7.wordpress.com/2010/12/13/vbase-personalizando-entidades/

Saludos,

Fran Varona


([N1] joce) #3

Hola Fran.

Me ha sido de gran utilidad el artículo que aconsejas, pero no termino de resolver el problema concreto. El caso es el siguiente: se trata de filtrar una búsqueda para presentar en pantalla un listado de clientes. Si estoy usando la tabla ENT, el campo a filtrar es ENT_TIP y en este caso el contenido a filtrar es la expresión CLT que corresponde al tipo de entidad "clientes". Puesto que el campo puede contener varias expresiones (separadas por comas) o tipos de entidad, debemos entonces localizar la expresión CLT dentro del contenido del campo ENT_TIP y revisando las funciones estándar, resuelvo el filtro con la siguiente fórmula: #ENT_TIP="getStringRegExp(A-Z,CLT, 0, 0,0)", pero devuelve la rejilla vacía, por lo que es obvio que me estoy equivocando en elgo. La cosa funciona con: #ENT_TIP=",CLT," pero sólo si las entidades tienen asignado únicamente este tipo, en el momento que tuviese asignados los tipos "cliente" y "proveedor" por ejemplo, el registro no sería filtrado.

Un saludo.
Juan Carlos


([N1] Valdes) #4

Es sencillo de solucionar.
-En la tabla ENT-GES creas un campo alfabético grande ("LOCALIZADOR").
-En la tabla ENT creas manejadores de evento de alta y modificación donde (cuando se cambien los datos que quieras usar para búsqueda) modifique el campo LOCALIZADOR de la tabla ENT-GES.
-Ahora solo debes usar un localizador por ese índice para buscar los clientes (Ese indice ha de estar condicionado a CLT)
.
Saludos
Mario Valdés
valdes.m@gmail.com