Buena tarde,
El modelo que trato de llevar a la interfaz es de PADRE-1 → HIJO-1 → HIJO DE HIJO-1; con las dos primeras se ha hecho sin problemas, pero ahora se requiere un nivel mas de complejidad.
La dificultad en una interfaz que contiene un ABM (tabla abuelo), ABM (tabla hijo) y un ML (tabla nieto), para que se sincronisen al guardar,
ya que el ABM, requiere de los botones ALTA y MODIFICACION (no implicitos); para que se guarden en la base de datos, y los datos del ML se guardan con el boton MODIFICAR (implicito) y que almacena con GUARDAR del CI,
El problema es que cada uno cumple su función por separado bien, pero si Adiciono un nuevo registro en el ML, me indica que el padre NO existe;
Alguien paso por esta que me de una mano ?
vi la imagen y me maree mas :D… vamos a lo que tratas de hacer.
Segun veo tenes un cuadro, que carga el ABM del final (con evt explicitos) y ademas te abre el ML (con evt implicito), lo que se me ocurre es no mostrar el ML hasta que no selecciones el boton ‘Items x Referencia’… y solo el ML, no el form del ABM.
A dicho ML deberias colocarle un evt explicito de modificacion, sino como se cuando termino de editar los items y quiero dar de alta otra referencia?.
Ademas de esa manera podes ir alternando entre los forms y la interfase te queda mas limpia. Un boton del cuadro te muestra uno, el otro te muesta el ML… pero nunca ambos al mismo tiempo, sino se te arma el desmadre.
La otra cosa que podes hacer es que mientras se edite una referencia, se deshabilite el boton ‘Guardar’, de esa forma nunca podrias disparar el evt implicito del ML sin el explicito del form comun, entonces si podrias tener ambos presentes… pero solo cuando edites una referencia, si no estas editando una… el ML no deberia verse.
En conclusion, si ambos forms estan relacionados… no pueden tener evts que se disparen de manera independiente… y si lo hacen… deben ser explicitos para que no te generen problemas de logica, como que un nieto exista sin hijo. Son las dos opciones de salida que le veo a tu dilema de interfase, que te genera uno de logica.