¿Cómo crear un localizador avanzado en Velneo V7?

El localizador de Velneo V7 cumple perfectamente con su cometido pero ¿y si queremos pasarle valores desde un evento? ¿y si queremos que el localizador nos devuelva un valor? La solución es crear un localizador avanzado.

En este artículo te explicaré como realizarlo… ¿me acompañas?

Planteamiento

  • Para construir este ejemplo vamos a suponer que estamos introduciendo líneas de un pedido a un proveedor.
  • En el formulario de líneas tenemos un campo enlazado al maestro de artículos.
  • Hemos insertado en un menú una acción para llamar al localizador de artículos
  • Hemos insertado en un menú una acción para llamar al localizador de artículos del proveedor.

Form_Pedidos_Lin

Creando los objetos necesarios

¿Qué objetos necesitamos para crear el localizador avanzado?

  • Una accion en el menú asociado al control enlazado al artículo que dispare una señal para lanzar nuestro localizador avanzado
  • Una conexión de evento en el formulario de líneas de pedido que recoja la señal disparada desde el menú
  • Un evento que disparará el manejador de objeto que llamará a nuestro localizador avanzado
  • Un formulario sin origen que hará de localizador
  • Una búsqueda que devolverá los registros que cumplan la condición del localizador

Creación de los objetos

Para la creación de los objetos comenzaremos en orden inverso.

  • Búsqueda de artículos del proveedor. Crearemos en la búsqueda 2 variables locales: Proveedor y Palabras (para pasarle los valores a buscar desde el localizador). Además esta búsqueda tendrá dos componentes:1.- Proveedor: asociado al índice Proveedor de la tabla de artículos del proveedor. Estará condicionado a que la variable PROVEEDOR tenga algún valorLoc_Avanzado_Bus_1

    2.- Palabras: asociado al índice Palabras de la tabla de artículos del proveedor. Estará condicionado a que la variable PALABRAS tenga algún valor. En el índice palabras podemos meterle los campos que queramos que busque.

    Loc_Avanzado_Bus_2

  • Formulario sin origen disfrazado de localizador.Loc_Avanzado_FormComo podéis observar el “formulario-localizador” está compuesto de:

    1.- Un control de edición para introducir la cadena a buscar.
    2.- Un botón para poder ejecutar la búsqueda
    3.- Una vista de datos para devolver los registro de la búsqueda.
    4.- Un botón aceptar.

    Lo más interesante se encuentra en el botón “Buscar“. Este botón lanza un “Manejador de evento” desde el que se llama a la búsqueda creada anteriormente pasándole la cadena de texto a buscar:

    Loc_Avanzado_Manejador_

    1.- Los Rem me los salto…. creo que no hace alta su explicación…..
    2.- Creamos una cesta local de la tabla “Artículos del proveedor” para poder pasarle a la vista de datos los registros devueltos por la búsqueda.
    3.- Mas Rem que me vuelvo a saltar…..
    4.- Creamos un manejador de objeto para llamar a la búsqueda creada anteriormente.
    5.- Con “Set variable local de objeto = REG_PROVEEDOR” le pasamos a la búsqueda el valor del proveedor a buscar (¿recuerdas la variable PROVEEDOR del objeto búsqueda creada anteriormente?)
    6.- Con “Set variable local de objeto= PALABRAS” le pasamos a la búsqueda el valor del texto a buscar por el índice paabras (¿recuerdas la variable PALABRAS del objeto búsqueda creada anteriormente?). Este valor es el que introducimos en el control de edición “TEXTO” de nuestro localizador avanzado.
    7.- Disparamos el objeto creado con el manejador
    8.- Añadimos los registros devueltos por la búsqueda a la cesta creada en el punto 2
    9.- Procesamos el control vista de datos del localizador
    10.- Añadimos a la vista de datos los registros de la cesta

  • Evento LANZA_LOC_ART_PRO que será el encargado de lanzar el localizador avanzadoLoc_Avanzado_Evento
    1.- Asignamos a una variable el valor del PROVEEDOR del que estamos haciendo el pedido (esta variable servirá para localizar solo los artículos de dicho proveedor).
    2.- Creamos un “manejador de objeto” para llamar a nuestro localizador avanzado.
    3.- Le pasamos al localizador la variable con el valor del proveedor para que sólo aparezcan los artículos de dicho proveedor.
    4.- Disparamos el objeto creado anteriormente
    5.- Con la instrucción “Get variable local de objeto” recuperamos el valor del artículo seleccionado en el localizador para poder realizar operaciones posteriormente con este dato.
    6.- Modificamos el campo #ART con el valor del código del artículo seleccionado en el localizador.
  • Conexión de evento: esta es la conexión de evento que recogerá la acción disparada desde el menúLoc_Avanzado_Conexion
  • Acción en el menú: Creamos una acción llamada PED_LIN_CM_LOC_ART_PROV…. como su propio nombre indica pedidolineadecompralocalizaartículodelproveedor…. jejejeje… tu puedes llamarla como quieras. Lo único importante es que como comando tiene “Disparar acción

Ya no tienes excusa para montar tus propios localizadores en las aplicaciones. Si te ha parecido interesante por favor difúndelo por las redes sociales y si tienes alguna duda… déjame un comentario

Francisco José Vila Martín
ayudavelneo@ayudavelneo.com

Francisco José Vila es programador certificado y formador en la plataforma de desarrollo de aplicaciones empresariales Velneo V7. Es autor del blog Ayudavelneo desde donde ayuda a desarrolladores que se están iniciando en Velneo V7 a acortar su curva de aprendizaje para que obtengan beneficios y sean rentables desde el minuto 1. Ampliar información

No Comments

Post A Comment

Pin It on Pinterest