pasar lista a proceso vjavascrip


([N4] rpaton) #1

Hola:

 Si tengo un proceso en V7 que obtiene una lista puedo pasar esta lista a otro proceso en vJavascript al igual que hacemos con el paso de variables a los controladores de objetos.
 La idea es porque me resulta más fácil armar la lista en un proceso V7 pero necesito pasarla a otro proceso que hace otras cosas en vJavascrip.

Saludos.

Ricardo Patón


([N4] Infortic) #2

Hola Ricardo.

Se puede pasar exáctamente igual, un proceso js es “por fuera” un proceso de velneo, con su tabla de entrada y de salida, la única diferencia es que usa como código un script en lugar de instrucciones V7.

Una vez dentro del proceso js puedes usar el objeto theRegisterListIn para referirte a la lista de entrada, mira los ejemplos de registerlist para hacerte una idea:

http://velneo.es/info_v7_717_es/velneo_vdevelop_v7/scripts/clases/core/vregisterlist/

Un saludo


([N4] rpaton) #3

Hola:
En mi caso querría pasar listas de registros a un proceso js que me devuelve el json de la lista. Si en el proceso js pongo una tabla de entrada asociada solo podría recoger listas de esa tabla y yo quiero utilizar ese proceso js para cerca de 60 tablas de las que tengo que extraer datos y enviarlos a otros vserver.

Si no se puede tendre que pasar por variables la tabla y los limites inferior y superior para hacer la vquery en el js.

Un saludo.

Ricardo Paton


([N3] pacosatu) #4

Hola Ricardo.

Efectívamente, para que sea dinámico el Proceso de exportación no puedes usar Lista de Entrada.
Tienes una Open App en http://velneo.es/velneo-open-app/importacion-y-exportacion-dinamica-con-javascript/ donde verás cómo lo resuelven para distintos casos.

Saludos
Paco Satué


([N1] wikan) #5

Puedes usar tabla de entrada, pero tendrás que hacer el proceso abstracto y obtener el VTableInfo de la lista de entrada. Además, tienes que crear un proceso por cada tabla aunque todos usarán el mismo script.


([N4] rpaton) #6

Hola:

Estoy utilizando el js de esa open app. Pasare la tabla, la busqueda y los limites y obtendré la lista dentro del js de exportacion json.

Gracias.

Un saludo.

Ricardo Patón


([N4] Infortic) #7

Yo tengo un sistema de ese tipo.

Casi todas las tablas de la aplicación pueden viajar de un servidor a otro, y sí, no estaba dispuesto a crear un proceso para cada tabla.

En mi caso me decidí por crear una tabla de paquetes de datos:

Contiene el nombre de tabla, definición de su clave primaria, si está activo o no el paquete, y una serie de datos de control.

Luego tiene una tabla de campos de ese paquete, para definir el orden en el que se exportan e importan los campos, esto es muy importante, pues en js no existe el comando “modificar campo solamente”, y si te limitas a importar los campos en orden, puede que algún contenido inicial te juegue una mala pasada, tienes que tener un mecanismo para especificar qué campos y en qué orden procesarlos.

Para controlar las comunicaciones creé tabla de bandeja de salida y bandeja de entrada, cada registro tiene un objeto JSON a procesar, estado del paquete, etc…

El paquete lo mando desde la bandeja de salida del servidor origen a la de entrada del servidor destino, usando una función remota, pero se podría usar cualquier otro método, ficheros por FTP, SDV … .

De este modo los mismos scripts me sirven para cualquier tabla, para mandar una tabla más, sólo tengo que crear un nuevo registro en la tabla de paquetes de datos.

Es un tema puñetero, jejejeje.