Javascript


([N4] Juega) #1

Buenos días

Por si queda alguien que no esté de vaciones.

Estoy tratando de usar javascript (del que tengo pocas nociones) para lanzar acciones y procesos desde un evento de un formulario, al estilo del menú de vErp2.

Tengo una tabla donde se define la acción o proceso a ejecutar, y en el formulario de edición de esa ficha un botón que lanza un evento javascript que a su vez debería lanzar el proceso o la acción.

Aparentemente todo está en orden, pero no se ejecuta la acción (sin ningún mensaje) ni tampoco el proceso ( que indica que no se ha ejecutado ).

El código del evento que se ejecuta es el siguiente:

var view = theMainWindow.currentView();
var root = view.root();
var registro = root.content();
var opcion = registro.fieldToString(“ACCION”);
var tipo = registro.fieldToString(“TIPO_DE_OBJETO”);

switch(tipo)
{
case “0”:
theMainWindow.runAction(opcion);
break;

case "1":
	theRoot.runProcess(opcion);
    break;

};

Alguien podría echarme una mano?
Gracias
Carlos Juega


([N1] wikan) #2

Si haces un alert de opcion te devuelve algo?

Yo lo haría:

var opcion = theRegisterIn.fieldToString("ACCION");
var tipo = theRegisterIn.fieldToString("TIPO_DE_OBJETO");

PD: Ya cuesta buscar en el foro, así que alguna etiqueta identificativa no sobra


([N4] Juega) #3

Gracias wikan por tu respuesta.

Sí, un alert previo al run correspondiente me devuelve el nombre del proceso o función a ejecutar.
Probaré lo que me indicas. En ese caso, supongo que tanto la acción como el proceso deberán tener origen en la ficha y no ‘sin origen’ como lo había pensado inicialmente.

Ya te contaré
Carlos Juega


([N4] Infortic) #4

¿ El nombre del proceso/acción está en formato alias_proyecto/id_accion ?

Si sólo está el Id no funcionará.

Si lo que tienes es una tabla de acciones/procesos lo mejor es que como dice wikan crees un proceso js con entrada ficha de la tabla de acciones.

Desde el manejador lo único que tienes que hacer es ejecutar dicho proceso induciéndole el registro de acción que quieras, o bien con ejecutar proceso o bien con un manejador de objeto.


([N1] wikan) #5

Yo no he dicho eso :wink:

Yo lo que entiendo es que tiene un tabla de “Acciones/Procesos” y lanza un manejador en javascript desde la ficha de dicha tabla.

Si lo que quiere es ejecutar procesos o acciones de una determinada tabla, creo que de esta manera no va a poder. Precisamente por lo que dices, tendrías que estar en el origen adecuado.


([N4] Infortic) #6

Si estamos de acuerdo, jejeje :wink:


([N4] Juega) #7

Hola de nuevo y gracias a los dos

Lo que pretendía transmitir es exactamente lo que entendió wikan.
La solución es la que aportó infortic. El problema era que no tenía el alias.

La solución ‘wikan’ funciona también (añadiendo el alias, claro) pero como lo que pretendo es lanzar acciones sin origen mantengo la mía.

Gracias de nuevo
Carlos Juega