Hola a todos, se me presenta el siguiente inconveniente:
Tengo definidos en una pantalla:
1 formulario, que actúa como filtro y tiene definidos dos eventos (filtrar y limpiar),
1 formulario, que consta de un único ef donde se muestra el saldo de una cuenta en formato solo_lectura, y
1 formulario multilínea, donde se ingresan una serie de conceptos e importes, la columna de importes está totalizada.
A nivel CI definí dos eventos: procesar y cancelar.
Extendí el ml y le agregué una serie de controles, como para por ejemplo verificar que el total del importe ingresado en el ml coincida con el importe que se detalla en el segundo formulario, a ese control lo agregué en el evt__validar_datos, el tema es que cuando hago click en los eventos del primer formulario (filtrar y limpiar) no quiero que se efectúe esa validación. ¿Hay forma de evitar esto?
esto te sucede porque el ML tiene un evento de modificacion implicito, por tanto todo pedido de pagina al servidor disparar una modificacion y por ende validacion de datos.
Lo que podrias hacer es, colocar ese control en una funcion aparte que se llame desde el evt__procesar, de manera que solo se ejecute cuando estas confirmando los datos y no cuando filtras.
Hola Richard, hice lo que me aconsejabas y quedó funcionando correctamente.
Definí el evt__procesar en el CI que maneja la operación e invoco a la validación solo en el caso de confirmar los datos.
Les dejo el código de como lo hice por si les sirve a alguien.
Y luego en la extensión del formulario ml definí el {$this->objeto_js}.evt__validar_importes = function(es_inicial, fila) con los controles que necesita.