VJavascript ejemplo cargar plurales

En este artículo vamos a escribir un ejemplo de VJavascript que nos servirá para hacer algo super frecuente en v7: Cargar plurales, pero de forma genérica.

De esta forma podremos aprovechar el fichero javascript para cargar cualquier plural de cualquier tabla. Solo tendremos que crear el objeto proceso en v7 que nos índique cual es la ficha origen y cual la lista destino, y asociarlo con este fichero. Con la salvedad que la lista destino tiene que ser de un histórico de la ficha origen.

Fichero: CargarPlurales.js

// IN.- Ficha
// OUT.- Lista de historico (Cargar plurales en v7 )
// Este proceso puede recibir una ficha de cualquier tabla
// Retornará la lista del historico de esa ficha, que espere a la salida

// Recogemos la información de las dos tablas
var TableInfoEntrada = VRegisterIn.tableInfo();
var TableInfoOut = VRegisterListOut.tableInfo();

var ListOut = VRegisterList;

var NumHist = TableInfoEntrada.PluralCount();

// Suponemos que la numeración de los historicos es de 0 a n-1
for (h= 0; h < NumHist; h++ )
{

if ( TableInfoEntrada.pluralBoundedTableId( h ) == TableInfoOut.id() )
{
ListOut = VRegisterIn.loadPlurals( TableInfoEntrada.pluralId( h ) );

     h = NumHist;
}

}

// Retornamos la lista
VRegisterListOut.append( ListOut );

Anuncios

Velneo y Javascript la conexión de dos mundos

Ya deciamos que después del 11/11/11 algo iba a cambiar y vaya que cambió. Las jornadas no tuvieron desperdicio, cada cual mejor. Pero no me he puesto a esta hora a escribir para hablar de la conferencia de hace casi un mes (lo siento pero no he tenido mucho tiempo, y supongo que eso es bueno ;), sobre todo para los tiempos que corren ). Me pongo por que después de esas jornadas ha habido otro acontecimiento a destacar y ha sido el blog de nuestro querido vArquitecto Juan Muñoz-Cobos, en él nos está informando de primerísima mano por donde se está trabajando para las siguientes versiones, algo que muchos reclamabamos a Velneo desde hace tiempo y ahora Juan, como siempre, nos ha dicho “quieres caldo… pues toma tres tazas”.

En él nos está informando de la apertura de v7 a la programación en javascript, detallandonos los objetos que tendremos para acceder a toda las información de la aplicación desde el entorno gráfico a la base de datos. Así podremos crear procesos y funciones en javascript o v7, a gusto del consumidor.

Pero me parece que cuando empezemos a hacer los procesos en javascript, vamos a dejar los de v7 para las cosas sencillas solamente.

Estoy tratando de digerir las posibilidades, y lo que quiero en esta entrada es hacer un ejercicio teorico, de las posibilidades que se abren. Para ello voy a partir del ejemplo de su entrada http://varquitecto.wordpress.com/2011/11/24/procesos-javascript/ donde dispone de una estructura de tres tablas:

Hay tenemos un ejemplo de como en javascript podemos retornar las PELICULAS de una PERSONA.

Yo voy a tratar de hacer un proceso en javascript que sustituya a 2 procesos de v7.

Procesos en v7:

  1. PERSONAS_REPARTOS. Origen ficha PERSONA, Salida Lista REPARTOS
  2. PELICULAS_REPARTOS. Origen ficha PELICULA, salida Lista REPARTOS

Estos procesos en v7 todos sabremos hacerlos, ahora ¿como sería un único proceso en javascript que nos sirva para los dos casos?.

// Este proceso puede recibir una ficha de la tabla PERSONAS o de la tabla PELICULAS

// Retornará en cualquier caso la lista de la tabla REPARTOS historica de la ficha recibida

var TableInfoEntrada = VRegisterIn.tableInfo();

var reparto = VRegisterList;

if ( TableInfoEntrada.id() == “PELICULAS” ) {

reparto = VRegisterIn.loadPlurals( “REPARTOS_PELICULAS” );

}

else {

reparto = VRegisterIn.loadPlurals( “REPARTOS_PERSONAS” );

}

// Ponemos a la salida la lista

VRegisterListOut.append( reparto );

 

Ya tenemos el mismo proceso que retorna el histórico REPARTOS a partir de cualquiera de sus maestros. Ahora es cuestión de perfeccionar el proceso para que sirva para muchas mas combinaciones.

Espero que funcione, pues no lo he podido probar ;), pero si no es así es culpa mía no de la herramienta.