[SOLUCIONADO] Enlazar un dr a un cuadro.-

Buenas, les comento antes que nada, que soy nuevo en esto de TOBA, por lo tanto no tengo casi idea de como es, bueno, mi consulta es la siguiente, tengo un cuadro, en el cual necesito desplegar datos de una tabla, esto asi sencillo ya lo logré, ahora, cuando necesito que en base a un campo de mi tabla, me traiga el valor de un campo de otra tabla, ahi se me complica, explico:

tengo una tabla MAESTRO, con datos de empleados, y otra tabla DEPENDENCIA, con datos de la dependencia donde trabaja el empleado,
en MAESTRO, el campo dependencia es integer, y debe ser la FK de DEPENDENCIA.

arme un datos relacion con las dos tablas, y puse DEPENDENCIA como padre y MAESTRO como hijo, relacionando los campos correspondientes.-

como hago para que el cuadro me tome este datos relacion?, ya que al seleccionar, solo me permites tablas.-

arme un CI, con el cuadro y el datos relacion como dependencias, pero no me muestra nada.-
desde ya muy agradecido al que me eche una mano.-

La clave está en el código del cuadro, debe haber un llamado al sql que donde tienes los campos de las tablas implicadas; por ejemplo

function conf__cuadro() {
$datos = $this->get_datos ($this->s__filtro);
return $datos;
}

Y por el toba_editor del cuadro, debes incluir los campos a mostrar y que se encuentran en la respuesta del sql

Disculpame jorozco, pero como le asigno los campos al cuadro por codigo?

Amigo,

  1. en al editar el campo en toba editor, en el TAB columnas, van los campos de las tablas que deseas mostrar como resultado el sql
  2. en el código debes ejecutar un sql que cargue el cuadro con el resultado del sql; por ejemplo lo que hace la función get_datos ()

function get_datos ($filtro=null) {
$where = array();
if(isset($filtro[‘x_id’])) {
$where = “x_id = “.quote(”{$filtro[‘x_id’]}”);
}

    $sql = "  SELECT * FROM tabla_1, tabla_2 ...................;";

    if(count($where)>0) {
       $sql = sql_concatenar_where($sql, $where);
    }
    return consultar_fuente($sql);

}

Hola Jose,

te voy a invertir el texto para responderte.

como hago para que el cuadro me tome este datos relacion?, ya que al seleccionar, solo me permites tablas.- arme un CI, con el cuadro y el datos relacion como dependencias, pero no me muestra nada.-

Bien, el cuadro que queres cargar… es el de presentacion y seleccion digamos (que lleva filtro etc) o es un cuadro que esta dentro de la operacion y te deja seleccionar registros de la tabla hija?.
Esto es importante, no conviene cargar los cuadros a partir de los DT’s ya que estos tienen un overhead importante para la sincronizacion de datos, por tanto si hay muchos registros se ralentiza todo.
Para el caso de cuadros internos, si se puede usar porque en gral son pocos registros y son los que se estan editando ya.
Si es un cuadro de busqueda y seleccion, es mejor cargarlo siempre desde el recordset que devuelve una SQL, por ejemplo como te menciona Jhon.

Una forma de lograr esto, es con las columnas externas… donde vos en la tabla que tiene la referencia agregas una columna que no se persiste (por estar marcada como externa) y que se carga en base a un mecanismo explicitado en la tercer solapa del DT. Te paso un link a la documentacion sobre el tema. Igual como te digo, me parece que tu caso esta cubierto por la parte superior de la respuesta.

Saludos

Hola Richard, lo que necesito es solo listar los datos, sin selección, y poder exportar.-
de todas formas muchas gracias… siempre cuento con tu ayuda.-