[SOLUCIONADO] Carga de relaciones entre tablas

Hola amigos de la comunidad toba: una consulta, respecto el manejo del “datos-relacion”

Estuve leyendo la wiki de referencia y el archivo .doc que viene con el framework , respecto el datos tabla, pero todavia no me quedan claro algunos aspectos:

Tomemos como ejemplo caso simple y familiar un ABM multibla, caso concreto dar de alta una provincia apartir de la seleccion de un pais:

Tengo diseñada la operacion, en dos partes una seleccion y otra edicion como el ejemplo de Personas-juegos-deportes del toba referencia.
Segun lo que lei , las relaciones se pueden manejar a partir de una variable de sesion o un cursor.

Para la primer parte de seleccion del pais, para seleccionarlo y llevar los datos del pais seleccionado al formulario de ediccion.

function evt__cuadro__seleccion($datos)
{
$this->dep(“datos”)->cargar($datos);
$this->set_pantalla(“pant_edicion”);

}

datos es mi “datos-relacion” dentro de datos relacion tengo “tabla_pais” y “tabla_provincia” donde configure la relacion como “provincia depende de pais” la clave comun es “codigopais”

Pero no me lleva los datos del registro seleccionado a la pantalla de edición.

Quisiera saber si alguien tiene un ejemplo completo y detallado o a grandes rasgos los pasos siguientes para completar esta operacion (adjunto las pantallas)
saludos


Hola Marcos,

Las imagenes no se subieron del todo bien, las ultimas dos quedaron cortadas, mas alla de eso.
Vos lo que decis es que diste de alta un registro y cuando lo seleccionas para edicion, no te carga los valores correctos ahora, eso significa que te carga otro registro o que no te carga datos en lo absoluto?.

Podrias incluirme una captura con las propiedades basicas del ei_cuadro?.

Saludos

Hola ricardo, no me carga el registro seleccionado en la pantalla de seleccion para llevarlo a la pantalla de edicion.En controlador interfaz principal tiene el siguiente contenido


<?php
require_once('consultas_php/paises.php');
class ci_ABM_Provincias extends prueba_ci
{
    
    //-----------------------------------------------------------------------------------
    //---- cuadro -----------------------------------------------------------------------
    //-----------------------------------------------------------------------------------

    function conf__cuadro(prueba_ei_cuadro $cuadro)
    {
            $datos = consultas_paises::get_paises();
            $cuadro->set_datos($datos);
    }

    function evt__cuadro__seleccion($datos)
    {
        $this->dep("datos")->cargar($datos);   
        $this->set_pantalla("pant_edicion");
            
    }
?>


Hola Marcos,

una cosa que te recomendaria es que mires en el log de Toba para verificar que efectivamente se esta cargando una fila al objeto datos_relacion.
Lo otro que te pediria es el codigo del ci editor, ya que es alli donde se configuran los formularios que editan los datos.

Saludos

Hola nuevamente Ricardo, el ci editor no tiene metodos implementados, no me queda muy claro la logica para manejar datos entre formulario.

<?php class ci_editor_provincia extends prueba_ci { //----------------------------------------------------------------------------------- //---- provincias ------------------------------------------------------------------- //----------------------------------------------------------------------------------- function evt__provincias__cancelar() { $this->set_pantalla("pant_seleccion"); } //----------------------------------------------------------------------------------- //---- pais ------------------------------------------------------------------------- //----------------------------------------------------------------------------------- function conf__pais(prueba_ei_formulario $form) { } //----------------------------------------------------------------------------------- //---- Configuraciones -------------------------------------------------------------- //----------------------------------------------------------------------------------- function conf__pant_pais(toba_ei_pantalla $pantalla) { } function conf__pant_provincia(toba_ei_pantalla $pantalla) { } } ?>

Hola Marcos,

me parece que te me fuiste un poco por las ramas, te recomiendo que antes de continuar te leas la documentacion sobre la parte de eventos (http://repositorio.siu.edu.ar/trac/toba/wiki/Referencia/Eventos#Listeners), la idea es que cada metodo sirve de listener para un evento en un componente determinado, ahi dentro se manipulan los datos y luego se le devuelven al componente mediante los metodos ‘conf’.

En resumen, los metodos ‘evt__’ son los que reciben la llamada del usuario y los metodos ‘conf__’ son lo que le ‘cargan’ datos a los componentes para que los envien a los usuarios.

Saludos