Buenas tardes, se me presento el siguiente problema, tengo que dar de alta dos tablas, una padre y otra hijo, aunque por un restricción en el diseño solo puede un hijo a pedido del cliente, teniendo en cuenta esto lo que hice fue, en la pantalla de edición, crear dos formularios uno con los datos del padre y otro con los datos del hijo, cargue los dos datos tabla en el dr, indique como se relacionan entre ambos. El problema es que no persiste ninguna de las dos tablas porque me dice que se intenta dar de alta al hijo sin que este persistido el padre. Depurando paso a paso, me doy cuenta de que en el evento implícito de modificación de cada formulario, el primero que se ejecuta es el del hijo en lugar que el del padre, por ello el error, probé cambiando el orden de los métodos en el archivo php del ci, probé cambiando el orden en la configuración de la pantalla, probé cambiando el orden de los datostabla en el datosrelacion, probé eliminar los datos tabla y volver a cargarlos, robe persistir el padre únicamente lo que persistió ok, pero no tuve éxito en el guardado del padre y del hijo. La pregunta es hay alguna forma de redefinir el orden en el que se ejecutan estos eventos implícitos de modificación de cada formulario, así persiste primero el padre y después el hijo.
Hola Facundo,
los eventos de los componentes se procesan en el orden visual que se encuentran los mismos, esto es… si el padre esta primero en la pantalla, procesara sus eventos antes que el otro formulario.
De todas maneras, creo que tu problema pasa por otro lado, en la segunda pestaña de edicion del DR… que parametros le colocaste a los limites de filas de cada tabla?.
Saludos
Buenas tardes Richard, ya he chequeado lo que menciona del orden visual de los elementos, pero en la ejecución no respeta ese orden, por eso el inconveniente. En la segunda pantalla de edición del DR no le agregue nada, simplemente lo que aparece es la tabla con el nombre del DT, e inclusive ahi, aparece primero la tabla padre y después la tabla hijo. Alguna otra sugerencia?
Hola Facundo,
En que version especifica de Toba estas?.. por si acaso se trata de un caso puntual.
En la segunda pantalla de edición del DR no le agregue nada, simplemente lo que aparece es la tabla con el nombre del DT, e inclusive ahi, aparece primero la tabla padre y después la tabla hijo. Alguna otra sugerencia?
Si, como estas trabajando con 1 solo registro por vez, te conviene agregarle los limites minimos y maximos. De esa forma, Toba automaticamente posiciona el cursor en la tabla y no debes hacerlo vos en forma manual.
Saludos
Estimado Richard,
Estoy trabajando en la versión 2.1, descargue el fuente del SIU TOBA de la rama hace no mas de dos semanas.
¿A que te referis con que “estas trabajando con 1 solo registro por vez, te conviene agregar los limites minimos y maximos”. No entiendo claramente el concepto, paso a explicar la situacion, tengo un alumno en una tabla, y despues tengo asignaciones en otra tabla, y de acuerdo al tipo de asignacion guarda un dato adicional de esa asignacion (relacion 1x1 entre asignaciones y datos adicionales ) en una u otra tabla dependiendo de este tipo. Mi problema es que cargo los datos de la asignacion y despues el adicional, pero cuando el motor de persistencia de ejecuta, el orden es inverso a ese, por lo que intenta persistir primero el adicional y despues la asignacion, provocando un error ya que la asignacion (tabla padre), aun no esta cargada. Si podrias explicarme un poco mas tu sugerencia te lo agradecería.
Estimado Richard, he seguido tus recomendaciones y no he podido solucionar el problema del orden, la solución fue eliminar la pantalla y volver a crear tanto la pantalla como los formularios del interior, de esta manera se solucionó el problema; no hizo falta setear los valores de minimos y maximos en la configuracion del dr como lo mencionaste. Muchas gracias por las sugerencias y las respuestas obtenidas. Saludos.