VDataView

Hereda de: VObjectInstance.

La clase VDataView representa un objeto en ejecución de ficha o lista con interfaz. Nos permite ejecutar objetos de lista o ficha como rejillas, formularios, casilleros, etc. en modo vista. Construimos un objeto VDataView pasándole el objeto VRoot de entrada.

Indice de funciones

Constructor

vDataView(VRoot, root)

Inicialización

void setDataView( Number nTypeObj, String szIdRefObj )

Boolean setRegister( VRegister register)

Boolean setRegisterList( VRegisterList registerList)

De operaciones

Boolean exec()

Enumeraciones

Runmode (Modos de ejecución)

  • RunInThisThread

  • RunInNewThread

  • RunInServer

Documentación de funciones

Constructor

VDataView( VRoot, root)

Crea una instancia del objeto de la clase VDataView. Debe ejecutarse la función setDataView() para asignarle el objeto a ejecutar.

Parámetros:

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

Inicialización

void setDataView( Number nTypeObj, String szIdRefObj )

Fija el proceso que se asocia al objeto.

Parámetros:

  • nTypeObj: ver enum de tipos de objetos en la clase VObjectInfo.

  • szIdRefObj: identificador de referencia (IdRef=Alias_Proyecto/Id_Objeto) del objeto del proyecto.

Boolean setRegister( VRegister register)

Añade una ficha o registro al objeto. Esta es la forma de alimentar el registro de entrada del objeto.

Parámetros:

  • register: objeto de la clase VRegister del objeto.

El registro que se pasa al objeto si exec devuelve true contendrá la información actualizada tras haber sido procesado en el objeto.

No se genera un nuevo registro de salida (result), sino que se trabaja sobre el mismo VRegister de entrada.

Boolean setRegisterList( VRegisterList registerList)

Añade una lista de registros al objeto. Esta es la forma de alimentar la lista de registros de entrada del objeto.

Parámetros:

La lista de registros que se pasa al objeto si exec devuelve true contendrá la información actualizada tras haber sido procesada en el objeto.

No se genera una lista nueva (result), sino que se trabaja sobre el mismo VRegisterList de entrada.

Funciones de operaciones

Boolean exec()

Ejecuta el objeto. El registro que se pasa al objeto si exec devuelve true contendrá la información actualizada tras haber sido procesado en el objeto. No se genera un nuevo registro de salida (result), sino que se trabaja sobre el mismo VRegister de entrada.

Ejemplos

1. Ejemplo que muestra un formulario de una película seleccionada con un localizador

// --------------------------------------------------------------------------------
// Proceso sin origen que lanza un localizador de películas y si seleccionan una
// la presenta en formulario en vista
// --------------------------------------------------------------------------------

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 modo vista con el formulario de películas
  var dlg = new VDataView( theRoot );
  dlg.setDataView(VObjectInfo.TypeForm, "CINE/PELICULA");

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

2. Lanzar un formulario pasándole parámetros

// -------------------------------------------------------------------------------------------
// Abrimos un formulario en modo vista al que le pasamos parámetros y del que recuperamos valores de retorno
// -------------------------------------------------------------------------------------------

//Manejamos una lista de registros
var Registros = new VRegisterList(theRoot);
Registros.setTable("49z6dcke.vcd/DUMMY");
Registros.load("ID", [1]);

if (Registros.listSize())
{
  //Nos quedamos con un registro
  Registro = Registros.readAt(0);

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

  //Le pasamos un valor a la variable local del formulario (como manejador de objetos)
  formulario.setVar("TEXTO", "Hola mundo");
  formulario.setRegister(Registro);