runProcess y entrada de proceso


([N1] sergi.esteve) #1

Hola.

Veo que en js existe la función runProcess( String szIdRefProcess ), pero…

¿No hay forma de especificarle el registro/lista de entrada?, al igual que hay desde v7 en añadir ficha o lista al objeto?


([N1] Mario) #2

Buenas tardes, en principio, en la 7.15 esas opciones estarán disponibles.

Saludos


([N1] Velasco) #3

Buenas Sergi

La ayuda pone:

- Si se pasa un proceso sin origen los ejecuta. - Si el Root corresponde a un objeto de ficha y el proceso es de ficha lo alimenta con la ficha. - Si el Root corresponde a un objeto de lista y el proceso de ficha lo alimenta con la ficha seleccionada de la lista. - Si el Root corresponde a un objeto de lista y el proceso es de lista lo alimenta con la lista.

Dependiendo del origen el proceso se alimenta con ese origen.

Yo tengo en un proceso vJavascript una búsqueda, selecciono un registro y después lanzo un proceso v7. El proceso al tener origen la ficha de la tabla ya me coge el registro seleccionado en v7.

Un saludo


([N1] Velasco) #4

[quote quote=31391]Buenas Sergi

La ayuda pone:

<br>

  • Si se pasa un proceso sin origen los ejecuta.<br>
  • Si el Root corresponde a un objeto de ficha y el proceso es de ficha lo alimenta con la ficha.<br>
  • Si el Root corresponde a un objeto de lista y el proceso de ficha lo alimenta con la ficha seleccionada de la lista.<br>
  • Si el Root corresponde a un objeto de lista y el proceso es de lista lo alimenta con la lista.

Dependiendo del origen el proceso se alimenta con ese origen.

Yo tengo en un proceso vJavascript una búsqueda, selecciono un registro y después lanzo un proceso v7. El proceso al tener origen la ficha de la tabla ya me coge el registro seleccionado en vJavascript.

Un saludo
[/quote]


([N1] sergi.esteve) #5

Gracias a los 2.

  • Si el Root corresponde a un objeto de lista y el proceso de ficha lo alimenta con la ficha seleccionada de la lista.

Yo tengo en un proceso vJavascript una búsqueda, selecciono un registro y después lanzo un proceso v7. El proceso al tener origen la ficha de la tabla ya me coge el registro seleccionado en v7.

mmmm, ¿ desde javascript cómo se selecciona una ficha de una lista theRegisterListIn para que sepa que ficha es la que le mando ?, ¿puedes ponerme un ejemplo por favor?, creo que no lo he pillado del todo, ¿en js se trabaja como en v7, en el que estás “dentro” de una ficha o lista? .


([N1] Velasco) #6

Buenas Sergi

Mira un ejemplo:

if ( lista_tabla.listSize() > 0 )
{
var ficha_tabla = lista_tabla.readAt(0);
var OK = ficha_tabla.runProcess(proyecto_app + “/VER_IMP_EXP_TMP”);

En esta parte de código veo si la lista lista_tabla en la que estoy tiene registros.
Si tiene registros me quedo con el primero. readAt(0)
Después ejecuto un proceso que tiene origen la ficha de esa tabla seleccionada y coge la ficha que he seleccionado previamente con el readAt

Un saludo


([N1] sergi.esteve) #7

O sea que el ultimo read sirve como origen.

No creia que funcionara así.

Muchas gracias!


([N1] Velasco) #8

Fíjate que en la instrucción en la que llamo al proceso le paso antes la ficha:

ficha_tabla.runProcess

Un saludo


([N1] sergi.esteve) #9

ahhhhhhhh

No me había dado cuenta de que es un método de vRegister, ahora me queda claro!!!

Gracias.


([N1] sergi.esteve) #10

Tengo una pregunta relacionada, no quiero ser pesado pero…

A ver.

Desde un proceso en js, ¿cómo puedo devolver falso?, es decir cómo puedo hacer

“Set retorno de proceso = NO”

Es porque tengo en un js la orden:

var Importado = theRegisterIn.runProcess(InstanciaDatos + “/” + regPaquete.fieldToString(“PROC_IMPORT”));

Que ejecuta un proceso, pero no se ni como hacer que dicho proceso retorne un booleano, ni cómo desde el proceso que lo llama, recoger las variables locales del proceso.

¿Alguien tiene idea?

MUCHAS GRACIAS!


([N1] Velasco) #11

Buenas Sergi.

En el proceso que llamas usa la instrucción “Set retorno proceso = NO” cuando quieras indicar que algo no ha ido bien. Si todo ha ido bien no hace falta que pongas nada.

Después en el proceso en vJavascript puedes recoger en una variable local booleana el valor que retorna ese proceso llamado.

Te escribo un trozo de código de ejemplo:

var OK = ficha_tabla.runProcess(proyecto_app + “/VER_IMP_EXP_TMP”);
if (OK == true)
{

Si te fijas en la variable OK guardo si recibo un true o un false. Con el if ya determino por donde debe seguir el proceso

Un saludo.


([N1] sergi.esteve) #12

Hola Jorge.

El tema es, según tu ejemplo, si VER_IMP_EXP_TMP es un proceso javascript, y quiero que retorne false porque en alguna comprobación quiero terminar su ejecución, ¿Cómo lo hago? ¿cómo desde un proceso js fuerzo su salida con false?

Y si VER_IMP_EXP_TMP deja en una variable suya local un valor, ¿cómo lo recojo desde la función que ha ejecutado el runProcess?, porque desde V7 puedes hacer get variable local de objeto, pero desde js no sé cómo hacerlo.

Muchas gracias.