A ver si me se explicar, tengo una tabla articulos donde he creado un indice indexado con los campos familia subfamilia marca y nombre
He creado un localizador con ese indice y un formulario de busqueda donde mediante localizadores a familias subfamilias y marcas relleno las variables
En el formulario de busqueda (que apunta a la tabla articulos) si ademas de rellenar las variables relleno el valor de los campos familias subfamilias y marcas entonces se me actualiza la rejilla del localizador, si no los relleno no lo hace
Mi problema es que quiero poder buscar por un solo criterio, por marca, por familia, por 2 criterios o a lo mejor por los tres y la rejilla del localizador sólo se me actualiza si relleno los 3 campos, con uno sólo no lo hace
Como puedo hacer que la rejilla del localizador se vaya actualizando cuando rellene solo 1, 2 o los 3 criterios?
Cuando dices que no se actualiza la Rejilla me imagino que te refieres a que no muestra ningún registro.
Tienes que tener en cuenta lo siguiente:
La subindexación funciona solo cuando las partes que resuelves están a la izquierda del Índice.
Así en tu caso tienes familia subfamilia marca y nombre. Siempre deberás rellenar estas combinaciones.
1º familia -> devolverá todos los artículos de la familia
2º familia subfamilia -> devolverá todos los artículos de la familia y subfamilia
3º familia subfamilia marca -> devolverá todos los artículos de la familia, subfamilia y marca
4º familia subfamilia marca nombre -> devolverá un solo artículo nombre (esto no es subindexación)
Por ejemplo la opción:
5º subfamilia -> no funcionará porque hay una parte (familia) más a la izquierda que no está resuelta.
Para tu caso, monta una Búsqueda normal con los 4 componentes.
Saludos
Paco Satué
Hola muchas gracias por la aclaración solo una cosa, pues lo que trataba de resolver es esto por si me pudieras arrojar luz de como hacerlo
Tengo un formulario para hacer un presupuesto, en el formulario he puesto una rejilla con las lineas del presupuesto Cuando creo una linea de presupuesto quiero poder elegir de los articulos mediante esa busqueda con 4 componentes para lo que he creado un menu que me dispara un formulario donde elijo con localizadores las variables para familia, subfamilia, marca… y una rejilla bajo con la busqueda normal de esos 4 componentes
Al hacer doble click en la rejilla en el registro he hecho un evento que me alimenta una variable y la introduce en el registro de la linea de presupuesto como deseaba pero tengo que darle en el presupuesto a un boton “actualizar” que me refresca la rejilla y no se como evitarlo
Tambien tengo el problema que en las lineas del presupuesto al darle al boton menu para que me dispare el formulario de busqueda la linea del presupuesto no esta guardada, tengo que darle previamente a otro boton para guardarla porque sino la variable de la busqueda no le puedo decir el numero de registro al que tiene que ir
La operativa no es agil por eso intentaba a ver si con un localizador subindexado podía resolverlo pero veo que no Se te ocurre que puedo hacer? Gracias
En los apenas 2 años que llevo con Velneo he aprendido algo importante: Velneo hace solo 10 cosas, pero esas 10 cosas las hace muy bien. Como intentes salirte de esas 10 cosas verás que programar deja de ser Life is Soft para ser un dolor de cabeza.
Solo te puedo decir que te limites a hacer las cosas tal como las hacen en los Tutoriales y cursos de Velneo. Una buena referencia es ayudavelneo.com donde encontrarás por ejemplo cómo montar Búsquedas con varios componentes.
En otros lenguajes más dinámicos hacer lo que planteas sería algo trivial pero con Velneo solo dispones de objetos estáticos que has debido de diseñar muy bien antes de empezar a programarlos o llegarás a situaciones como la que planteas.
Si la rejilla no se refresca significa que estás lanzando Manejadores o Acciones que no Actualizan la Lista asociada a esa Rejilla (necesitas un Recalcular). No uses localizadores subindexados cuando vas a buscar por todas las partes del Índice, monta una Búsqueda normal.
En definitiva, desde mi punto de vista yo replantearía el diseño de ese módulo y me limitaría a patrones de diseño que encajen en la estructura estática de Velneo.
Puedes probar lo siguiente para no amargarte el día:
Tienes el formulario de edición de la Línea de presupuesto FRM_PRE_EDI
Tienes un botón en FRM_PRE_EDI que ejecuta con “Disparar Objeto” un formulario de Búsqueda FRM_BUS
El formulario de Búsqueda FRM_BUS localiza el Artículo y lo guarda en la variable local ID_ART
El formulario de Búsqueda FRM_BUS obtiene un valor en la variable local VALOR_ART
El formulario FRM_PRE_EDI obtiene de FRM_BUS los valores ID_ART y VALOR_ART con Get variable local.
De esta forma la Línea de presupuesto no debe estar guardada en disco en ningún momento.