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.
// --------------------------------------------------------------------------------
// 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());
};
// --------------------------------------------------------------------------------
// 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());
};
// -----------------------------------------------------------------
// 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())
};
};
};