EF_editable como atajo para cascada de ef_combo

Buen dia estimados, tengo un formulario que tiene 4 combos en cascada, los cuales se van cargando (excepto el primero) en función del contenido del de arriba, hasta acá normal, pero como se trata de productos, el requerimiento del cliente es contar con un campo de tipo ef_editable donde poniendo el código corto de producto y sacando el foco cargue las opciones en el combo, logre hacer esto, utilizando el evento procesar del ef_editable mediante ajax y recuperando el dato de la base de datos y seteando con éxito solamente el primer combo, debido a que la respuesta es del ajax es tan rápida setea el primer combo, pero al momento de setear el segundo me arroja el error de que el mismo esta vacío, 1 segundo después carga el combo pero ya me arroja el error que dice “Error JS. Error: el combo no tiene 6 en sus elementos” donde 6 es el id de la fila correcta del combo. ¿Hay alguna solución que pueda aplicar para que “espere” a que este cargado o quizás alguna otra forma de encarar el requerimiento ? Desde ya muchas gracias por la ayuda.

Hola Facundo,

a ver si te entiendo bien, tenes N combos cada uno con un editable que fija el estado segun el codigo que dice el editable.
Vos queres cargar los editables en secuencia y que se vayan fijando los valores en los combos no?.. hasta aca voy bien?.

Tengo un par de dudas:

  • Cada editable dispara un ajax al momento de perder el foco?
  • Como es que obtenes los valores a fijar para los combos restantes sino?
  • El tabindex va ciclando por los editables o pasa tambien por los combos?

Veamos… suponiendo que hagas un ajax por editable… estas complicado y mucho, los ajax son asincronicos… asi que no podes establecer un orden en el que van a llegar las respuestas o cuanto van a tardar. Podrias intentar definir este evt en el formulario

ei_formulario.prototype.evt__cascadas_fin = function(ef_esclavo, datos) {}; 

Pero tene en cuenta que se va a disparar para cada uno de los combos por cada vez que se cambie un valor. Quizas si guardas ahi una lista de que combos estan cargados te ayude.
Ahora si cargan los valores al mejor estilo COBOL… para que los combos?, si el sistema tiene los combos… para que hacer carga al estilo COBOL?.

Saludos

Buen día Richard, quizás no me explique bien, tengo un solo ef_editable que va a contener el código de producto, en el formulario que estoy trabajando necesito necesito definir 4 opciones (que están en los 4 ef_combo que tengo), la idea es que cuando el tipo ponga ese código en el único ef editable ya le predefina los 4 opciones en cada uno de los combos “recomendadas”, el tema es que esos combos están en cascada, por eso hago referencia a que de alguna forma necesito el retraso sino me arroja el error, porque lo que hago es al evento procesar del ef editable, mediante AJAX traigo la configuración “recomendada” e intento setear eso en cada uno de los ef_combos, pero esa asignación es mas rápida que lo que tarda en cargarse ese combo.

Adjunto un extracto de la pantalla para reforzar la explicación, el primero es el “atajo” y los demas combos se van cargando en función del contenido del superior.

Desde ya muchas gracias por la mano. Saludos.


Captura de pantalla (7).png

Captura de pantalla (7).png

Hola Facundo,

es por lo que te decia, no hay manera de que vuelvan las cascadas porque son asincronicas… vos seguis ejecutando codigo una vez que se hace el pedido… y como ya tenes los datos ahi, vas a ir mas rapido indefectiblemente.

Una opcion seria que al finalizar la cascada (la controlas con el evt que te mencionaba antes) te fijes si existe un valor para ese ef en la “lista sugerida” y lo setees, en ese caso… la cascada te hace de disparador para la asignacion… y no la vuelta del ajax original.

Sino casi que es mas facil ir hasta el servidor al cargar el codigo y setear todos los valores sugeridos en el conf del formulario.

Saludos

Gracias Richard, voy a reformular el esquema. Saludos.