# Tutor de localizador básico

Un localizador es el objeto de proyecto de aplicación que permite localizar registros haciendo uso de los índices existentes en la tabla, de acuerdo a los caracteres introducidos, y retornando la ficha seleccionada por el usuario de entre los registros encontrados. Para ello debe tener una tabla asociada de la que podrá presentar los registros.

![](https://content.gitbook.com/content/hGRTr5J3e6YsZ6MYIEDz/blobs/7sukA5iNTRBEtjW9ZtSf/res_2121.jpg)

Un localizador consta de varias partes:

Un control para seleccionar el índice de búsqueda.

Un control de edición para escribir el dato a buscar.

Una rejilla donde se mostrarán los registros encontrados y donde podremos seleccionar el deseado.

En este tutor vamos a explicar cómo se crea un localizador y dos formas distintas de invocarlo.

El localizador los encontraremos en la carpeta correspondiente a los objetos de la tabla de sectores de actividad del proyecto de aplicación de vTutor, y el objeto [localizador](../../velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/localizador) se llama SEC\_ACT.

Se pretende poder localizar,desde la ficha de un cliente, un sector de actividad para asignárselo. Para ello, haremos uso de las siguientes tablas de vTutor:

![](https://content.gitbook.com/content/hGRTr5J3e6YsZ6MYIEDz/blobs/mDzA9dm7Ix41ftuDKc9M/res_2119.jpg)

Por un lado tenemos la tabla de Sectores de actividad (SEC\_ACT\_M) y por el otro la tabla de Clientes (CLT\_M). Esta última contiene un enlace maestro a Sectores de actividad:

![](https://content.gitbook.com/content/hGRTr5J3e6YsZ6MYIEDz/blobs/kK9Sy3nSXOhcPWvJQuEs/res_2087.jpg)

El formulario desde el cual desplegaremos este localizador se llama CLT\_M\_TUT\_LOC y lo encontraremos en la carpeta **tutores/básicos/localizador básico**.

## Creación del localizador

Para crear un localizador pulsaremos el botón ![](https://content.gitbook.com/content/hGRTr5J3e6YsZ6MYIEDz/blobs/YODHXXSiclVBF6H71Tao/res_1220.jpg) de la [galería de objetos](../../velneo-vdevelop/proyectos-objetos-y-editores/objeto). Le asignaremos las propiedades siguientes:

**Identificador**: SEC\_ACT\_M\_LOC.

**Nombre**: sectores de actividad.

**Tabla asociada**: SEC\_ACT\_M.

**Rejilla**: SEC\_ACT\_M\_LOC. Se trata de una [rejilla](../../velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/rejilla) que se ha creado asociada a la tabla de Sectores de actividad y que está en la carpeta de los objetos específicos de este tutor. Para conocer cómo se crear una rejilla, ver el [tutor de rejillas](tutor-de-rejillas).

**Todos los índices**: asignaremos el valor verdadero. Esto nos permitirá que el usuario pueda usar cualquier índice de la tabla de Sectores de actividad para localizar un registro.

Y ya tenemos nuestro localizador creado.

En los capítulos siguiente explicaremos dos modos de invocar a este localizador de Sectores de actividad desde una ficha de un Cliente.

## Invocar el localizador directamente desde un botón de formulario

Para este ejemplo se ha usado el formulario CLT\_M\_TUT\_LOC que encontraremos en la misma carpeta que el tutor. Es un formulario que está asociado a la tabla de Clientes (CLT\_M) y se trata de localizar un sector de actividad para asignarlo a la ficha de un cliente. Para ello creamos en el formulario un control de tipo [botón ](../../velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/formulario/controles-de-entrada/boton)y le establecemos las propiedades siguientes:

**Comando**: localizar maestro. Este comando nos permite disparar un objeto [localizador](../../velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/localizador) de una tabla maestra de la actual.

**Campo**: en esta propiedad debemos indicar cuál es el campo enlazado a maestro que queremos usar. En este caso indicaremos el campo enlazado a la tabla de Sectores de actividad, es decir, SEC\_ACT.

**Objeto**: en esta propiedad indicaremos el localizador que habíamos creado: SEC\_ACT\_M\_LOC.

Cuando el usuario final pulse este botón y seleccione un registro en el localizador, el registro seleccionado será automáticamente asignado al campo SEC\_ACT del cliente.

## Invocar el localizador directamente desde un manejador de evento de formulario

Para este ejemplo se ha usado también el formulario CLT\_M\_TUT\_LOC que encontraremos en la misma carpeta que el tutor. Recordemos que es un formulario que está asociado a la tabla de Clientes (CLT\_M) y se trata de localizar un sector de actividad para asignarlo a la ficha de un cliente. Lo que vamos a hacer es simular la funcionalidad del botón anterior: es decir, seleccionar un sector de actividad en el localizador y asignar el registro leído al campo enlazado a sectores de actividad de la ficha del cliente.

Para ello creamos en el formulario un subobjeto de tipo [manejador de evento](../../velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/sub-objetos-de-vistas-de-datos/manejador-de-evento), en que crearemos las instrucciones siguientes:

![](https://content.gitbook.com/content/hGRTr5J3e6YsZ6MYIEDz/blobs/xZHEmo1icVitkKfMrkhC/res_2122.jpg)

Con el comando [set](../../../velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/basicos/variables#set) inicializaremos una variable local en la que guardaremos el ID del sector de actividad que haya seleccionado el usuario.

Con el comando [localizador](../../../velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/base-de-datos/busquedas#localizador) disparemos el localizador de sectores de actividad que habíamos creado.

Este comando de instrucción genera un subproceso, el origen de este subproceso será la ficha seleccionada por el usuario. Si no selecciona ninguna ficha, no se ejecutará dicho subproceso. En el subproceso que genera lo que hacemos es guardar en la variable local que hemos inicializado al comienzo del manejador de evento el ID del sector de actividad seleccionado en el localizador.

Y, finalmente, solamente en el caso de que se haya seleccionado un registro en el localizador, con el comando [modificar campo](../../../velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/base-de-datos/campos-grupo-de-comandos#modificar-campo) asignamos el dato leído al campo enlazado a Sectores de actividad del cliente.

Si ejecutamos este tutor tendremos que editar cualquier registro de la lista de clientes que se presenta y, en el formulario que se abre, pulsar uno u otro botón.
