Fila ML, cambia valores de otra fila

Richard, buen día, me puedes colaborar en este caso

  1. Se tiene un ML
  2. Al cambiar la fecha y/o valores se actualizan otras columna por extensión JS
  3. Al posicionarme en una fila de ML, los efectos del JS se van para otra fila
  4. Sin la extensión JS, el ML se comporta bien, pero requiero actualizar columnas en el cliente

Como que se pierde la posición de la fila.

Gracias y cordial saludo

la función JS lo hace bien en la primera fila, falla al adiconar o tener más filas, el código JS utilizado es el sigueinte

{$this->objeto_js}.refrescar_minutos = function(es_inicial, fila) {
var fecha_inicio = this.ef(‘afeo_fecha_inicio’).ir_a_fila(fila).fecha();
var fecha_final = this.ef(‘afeo_fecha_final’).ir_a_fila(fila).fecha();
var hora_inicio = this.ef(‘afeo_hora_inicio’).ir_a_fila(fila).valor();
var hora_final = this.ef(‘afeo_hora_final’).ir_a_fila(fila).valor();
var oxigeno = this.ef(‘afeo_oxigeno’).ir_a_fila(fila).valor();

                var aHora1  = hora_inicio.split(':');   
                var hora1   = aHora1[0] + ':' + aHora1[1];                   
                                   
                var aHora2  = hora_final.split(':');   
                var hora2   = aHora2[0] + ':' + aHora2[1];  

                fecha_inicio.setHours(aHora1[0]);
                fecha_inicio.setMinutes(aHora1[1]);
                fecha_final.setHours(aHora2[0]);
                fecha_final.setMinutes(aHora2[1]);
               

                var dif = fecha_final.getTime() - fecha_inicio.getTime();
                var Minutos_de_T1_a_T2 = (dif / 1000) / 60;
                var Minutos_entre_fechas = Math.abs(Minutos_de_T1_a_T2);
                
                //alert(Minutos_entre_fechas);
                if (typeof(oxigeno) != 'number') oxigeno = 0;
                if (typeof(Minutos_entre_fechas) != 'number') Minutos_entre_fechas = 0;
                var consumo_oxigeno = Minutos_entre_fechas * oxigeno;
                this.ef('afeo_consumo').ir_a_fila(fila).set_estado(consumo_oxigeno);
                
              }

error oxigeno.png

error oxigeno.png

error oxigeno.png

error oxigeno.png

Hola Jhon,

te hago una consulta… el metodo en cuestion (refrescar_minutos) se dispara manualmente desde otro metodo? quizas desde el procesar de los efs de fecha?.

Si este es el caso, revisaria bien el orden de los parametros al metodo y trataria que solo se dispare cuando no es el pedido inicial… es decir, al crear la fila se van a disparar los evt procesar de todos los EFs (incluidos los de fecha), quizas este disparo multiple este generando valores inesperados.

El EF ‘afeo_consumo’ tiene algun procesamiento particular? a priori no veo algo extraño en la funcion… te recomendaria fijar un breakpoint con las herramientas de desarrollo del navegador y verificar el valor de fila. Si no llega el valor correcto al haber seleccionado la fila, probablemente el problema este durante la seleccion en si… quizas algun error JS en ese punto?

Saludos

Ingeniero, como siempre 100% de efectividad
Condicione el llamado a refrescar con !es_inicial y se solucionó

Gracias y cordial saludo