[SOLUCIONADO]Mediante JavaScript calcular monto total

Hola:
tengo en un ef_multilinea tres ef: cantidad, precio_unit y monto_total.
Lo que quiero hacer es que cuando cambie cantidad o precio_unti me calcule el monto_total. Estoy utilizando n el el formulario:

function extender_objeto_js()
{
echo "

      // Abreviatura para hacer referencia al formulario actual
       dep={$this->objeto_js}.dependencia('form_ml_comprobante_detalle');

// // Declaraci??n de funciones
check_calculo = function()
{
var unit = dep.ef(‘monto_unitario’).get_estado();
var cant = dep.ef(‘cantidad’).get_estado();
var tipo = unit * cant ;
dep.ef(‘monto_neto’).set_estado(tipo);
}

      dep.ef('cantidad').cuando_cambia_valor(check_calculo());
      dep.ef('monto_unitario').cuando_cambia_valor(check_calculo());
     
      ";

Al ser multilinea debiera pasarle la fila tambien.
Agradecería la ayuda
Salu2

A primera vista, estaría mal referenciado, ya que cuando es un ML, se debe hacer referencia a la fila. por ejemplo:

{$this->objeto_js}.evt__cmv_tipo_movimiento__procesar = function (es_inicial, fila) {
var saldo_inicial = this.controlador.dep(‘ml_movimientos’).ef(‘aux_saldo_inicial’).ir_a_fila(fila).valor();
this.controlador.dep(‘ml_movimientos’).ef(‘aux_saldo_final’).ir_a_fila(fila).cambiar_valor(saldo_final);
}

Muchas gracias jorozco por orientarme en cuanto a pasarle la referencia de la fila. La duda que me queda es como capturar que uno de los efs (precio_uni o cantidad) variaron su valor para poder ejecutar la función sin depender de un evento (procesar), solo con el cambio de valor.
Muchas gracias y Salu2.

No hay problema, el evento procesar se encarga de actualizar, solamente cuando se pase por dicho campo, diría yo que es una acutalización en línea

Me podrías explicar un poco más sobre el evento procesar??? Lo que necesito es que los efs se actualicen al momento de cargar la fila, antes de procesar.
Muchas gracias y salu2.

Hola Sonia,

el evento procesar se lanza por primera vez al llegar la pagina al cliente y luego cuando el ef pierde el foco, por tanto haya cambiado o no el valor del ef, si se pasa por el mismo probablemente se lance el evento procesar.

Si necesitas hacer algo previamente a eso, ya vas a tener que redefinir alguna de las funciones JS del ML, por ejemplo la de creacion de la fila.

Saludos

Hay algo que no esta funcionando. Cuando la página se cargar se dispara el evento, pero al cambiar de estado el ef no se llama nuevamente a la función.

Hola Sonia,

podria ser que hubiera algun error JS en el intermedio de ambos sucesos, lo que este provocando que no vuelva a lanzarse el evento procesar de ef cuando este pierde el foco.

Fijate puntualmente si es el caso con las herramientas de desarrollo del browser.

Saludos

Muchas gracias por la ayuda. Pude solucionar el problema y capturar el evento correctamente.
Salu2.