# VFinder

**Hereda de:** [VObjectInstance](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinstance).

La clase VFinder representa un localizador en ejecución. Nos permite ejecutar el objeto de proyecto localizar. Construimos un objeto VFinder pasándole el objeto [VRoot](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vroot) con el cual podemos operar.

Esta clase se ha incorporado al API en la versión 7.15.

## Funciones

**Constructor**

| Función               |
| --------------------- |
| VFinder( VRoot root ) |

**Inicialización**

| Retorno | Función                                         |
| ------- | ----------------------------------------------- |
| void    | [setFinder](#setfinder)( String szIdRefFinder ) |

**De operaciones**

| Retorno                                                                                              | Función             |
| ---------------------------------------------------------------------------------------------------- | ------------------- |
| Boolean                                                                                              | [exec](#exec)()     |
| [VRegister](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) | [result](#result)() |

## Documentación de funciones

### Constructor

#### VFinder( VRoot root) <a href="#vfinder" id="vfinder"></a>

Crea una instancia de objeto de la clase [VQuery](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vquery). Debe ejecutarse la función setQuery() para asignarle la búsqueda.

Parámetros:

* root: [VRoot](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vroot) que indica el objeto [VRoot](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vroot) en curso del que se hará uso, normalmente theRoot.

### Inicialización <a href="#ini" id="ini"></a>

#### void setFinder( String szIdRefFinder ) <a href="#setfinder" id="setfinder"></a>

Fija el localizador del proyecto que se asocia al objeto.

Parámetros:

* szIdRefFinder: String que contiene el identificador referencia (IdRef=Alias\_Proyecto/Id\_Localizador) del localizador.

### Funciones de operaciones

#### Boolean exec() <a href="#exec" id="exec"></a>

Ejecuta el objeto localizador y devuelve true si finaliza correctamente.

#### VRegister result() <a href="#result" id="result"></a>

Devuelve un objeto [VRegister](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) con el registro encontrado mediante el localizador.

## Ejemplos

### 1. Proceso sin origen que lanza un localizador de peliculas

```javascript
// --------------------------------------------------------------------------------
// Proceso sin origen que lanza un localizador de peliculas y si seleccionan una
// la presenta en formulario en diálogo
// --------------------------------------------------------------------------------

importClass("VFinder");

// Crea localizador
var finder = new VFinder(theRoot);
finder.setFinder("CINE/PELICULAS");

// Ejecuta localizador
if (finder.exec())
{
 // Si hay resultados
 if (finder.result())
 {
  // Crea el lanzador del formulario en cuadro de dialogo con el formulario de peliculas
  var dlg = new VDataViewDialog(theRoot);
  dlg.setDataView(VObjectInfo.TypeForm, "CINE/PELICULA");

  // Le inicializa el resultado del localizador (una peli)
  if (dlg.setRegister(finder.result()))
  {
   // presenta formulario en cuadro de dialogo
   dlg.exec();
  };
 };
};
```

### 2. Ejemplo de localizador con subindexación para multiempresa

```javascript
// ------------------------------------------------------------------------------------------
// Ejemplo de localizador multiempresa
// Localizador subindexado a un parámetro que le pasemos a la variable local que lo subindexa
// ------------------------------------------------------------------------------------------

//Importamos la clase
importClass("VFinder");

//Creamos el localizador
var Finder = new VFinder(theRoot);
Finder.setFinder("49z6dckf.vca/VFINDER");

//Le indicamos la subindexación(por ejemplo para multiempresa) sin el uso de variables globales
Finder.setVar("TIP", 1);

//Mostramos el localizador
if(Finder.exec())
{
  //Si se obtienen resultados
  if(Finder.result()){

  //Mostramos el formulario seleccionado
  var formulario = new VDataViewDialog(theRoot);
  formulario.setDataView(VObjectInfo.TypeForm, "49z6dckf.vca/DUMMY")
  formulario.setRegister(Finder.result());
  formulario.exec(); 
  };
};
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vfinder.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
