VQuery

Hereda de: VObjectInstance.

La clase VQuery representa una búsqueda en ejecución. Nos permite ejecutar búsquedas. Construimos un objeto VQuery pasándole el objeto VRoot en curso y le indicamos la búsqueda a ejecutar con la función setQuery. Una vez inicializado el objeto ya podemos usar el resto de funciones (salvo result): le pasamos contenido a las variables locales de la búsqueda con setVarLocal (si lo requiere) y la ejecutamos con la función exec. Ahora ya podemos recoger los resultados con la función result, que nos devuelve un objeto de la clase VRegisterList con el cual podemos operar.

Esta clase ha sido profundamente revisada en la versión 7.15 con la incorporación de la clase VObjectInstance de la que deriva.

Funciones

Constructor

Función

VQuery ( VRoot root )

De operaciones

Retorno

Función

Boolean

Inicialización

Retorno

Función

void

setQuery( String szIdRefQuery )

Documentación de funciones

Constructor

VQuery( VRoot root )

Crea una instancia de objeto de la clase VQuery. Debe ejecutarse la función setQuery() para asignarle la búsqueda.

Parámetros:

  • root: VRoot que indica el objeto VRoot en curso del que se hará uso, normalmente theRoot.

Funciones de operaciones

Boolean exec()

Ejecuta la búsqueda y devuelve true si finaliza correctamente.

VRegisterList result()

Devuelve un objeto VRegisterList con la lista de registros encontrados en la búsqueda.

Inicialización

void setQuery( String szIdRefQuery )

Fija la búsqueda que se asocia al objeto.

Parámetros:

  • szIdRefQuery: String que contiene el identificador referencia (IdRef=Alias_Proyecto/Id_Búsqueda) de la búsqueda.

Ejemplos

1. Ejecutar una búsqueda sin parámetros

// --------------------------------------------------------------------------------
// Ejemplo de búsqueda sin parámetros
// --------------------------------------------------------------------------------

// Se importa la clase para usar sus funciones
importClass("VQuery");

// Se crea el objeto búsqueda
var bus = new VQuery(theRoot);
bus.setQuery("vbaseUsuariosApp/USR_GRP_NOM");

// Se ejecuta la búsqueda y los registros encontrados se añaden a la salida
if (bus.exec())
{
    // Le pasamos los resultados a la lista de salida
    theRegisterListOut.append(bus.result());
};

2. Ejecutar una busqueda con parámetros

// --------------------------------------------------------------------------------
// Ejemplo de búsqueda con parámetros
// --------------------------------------------------------------------------------

// Se importa la clase para usar sus funciones
importClass("VQuery");

// Se crea el objeto búsqueda
var bus = new VQuery(theRoot);
bus.setQuery("VJS_APP/USR_GRP_ENT_NAM");

// Se alimentan los parametros de búsqueda
bus.setVar("NOM_DES", "VJS");
bus.setVar("NOM_HAS", "VJSzzzzzzzzzzzzzzz");

// Se ejecuta la búsqueda y los registros encontrados se añaden a la salida
if (bus.exec())
{
    // Le pasamos los resultados a la lista de salida
    theRegisterListOut.append(bus.result());
};

3. Lanzar una búsqueda con datos solicitados desde un formulario

// -----------------------------------------------------------------
// Lanzar una búsqueda con los datos solicitados desde un formulario
// -----------------------------------------------------------------

importClass("VQuery");

//Creamos el formulario
var formulario = new VDataViewDialog(theRoot);
formulario.setDataView(VObjectInfo.TypeForm, "49z6dckf.vca/DUMMY_PEDIR_DATOS")

//Mostramos el formulario
if(formulario.exec())
{
  //Leemos el valor de las fechas que introducimos en el formulario
  fechaDesde = formulario.varToDate("FCH_DES");
  fechaHasta = formulario.varToDate("FCH_HAS");

  //Si los datos no son vacíos
  if ((fechaDesde != null) && (fechaHasta != null))
  {
    //Creamos el manejador de la búsqueda
    var busqueda = new VQuery(theRoot);

    //Asignamos la búsqueda a utilizar
    busqueda.setQuery("49z6dckf.vca/VQUERY");

    //Asignamos los valores adquiridos previamente
    busqueda.setVar("FCH_DES", fechaDesde);
    busqueda.setVar("FCH_HAS", fechaHasta);

    //Ejecutamos la búsqueda
    if(busqueda.exec())
    {
      //Retornamos la lista de resultados
      theRegisterListOut.append(busqueda.result())
    };
  };
};

Última actualización