Problemas al cargar selección

Hola. Tengo un problema.

En el “ci_detallescontrato”, estando en la pantalla inicial, donde esta el “cuadro_detalle”. Cuando quiero pasar a la pantalla de edición para modificar un detalle, me muestra un error. Adjunto la captura de pantalla.

Esto ocurre cuando llamo a la función cargar, que se encuentra en la extensión del cn


  function evt__cuadro_detalle__edicion($seleccion)
  {
         $this->cn()->cargar($seleccion);
         $this->cn()->set_cursor_detalle($seleccion);
         $this->set_pantalla('pant_edicion');
  }


	function cargar($seleccion)
	{
		ei_arbol($seleccion);
		$this->dep('dr_contratos')->cargar($seleccion);
	}


Captura de pantalla de 2017-07-02 22:25:22.png

Captura de pantalla de 2017-07-02 22:25:22.png

Captura de pantalla de 2017-07-02 22:27:45.png

Captura de pantalla de 2017-07-02 22:27:45.png

Captura de pantalla de 2017-07-02 22:30:15.png

Captura de pantalla de 2017-07-02 22:30:15.png

Hola Mariano,

aparentemente el problema es que la columna id_servicio no existe en la tabla dt_contratos, al menos es lo que devuelve el motor.
Fijate que estas cargando la relación directamente con lo que te llega del cuadro, si ahi tenes cargada una clave compuesta, la tabla padre debe tener una clave compuesta.
Otra opcion es que te falte completar alguna letra en el nombre de la columna y por eso no la haya encontrado.

Saludos

Volviendo al tema. Pense que el problema surgía al tener claves compuestas y modifique el modelo para tener una clave única en la tabla. Sigue el mismo problema


Error cargando la tabla contratos, a continuación el mensaje de la base:
ERROR: no existe la columna dt_contratos.id_detalle_contrato
LINE 10: dt_contratos.id_detalle_contrato = "13" -- toba_log: 87950

Acá me llamo la atención. Contratos es la tabla padre y detalle_contrato es la tabla hija. La tabla contratos no tiene la columna id_detalle_contrato, pero la tabla detalle_contrato tiene la columna id_contrato, que seria lo correcto. Ademas, quiero cargar la tabla detalles_contrato.


function cargar_detalle($seleccion)
{
	$this->dep('dr_contratos')->tabla('dt_detalles_contrato')->cargar($seleccion);
}

Si hago la carga de esta forma, me devuelve que la tabla no ha sido cargada en este pedido de página

Adjunto una captura de como están asociadas ambas tablas. Cabe mencionar que estoy usando dos cuadros (con distintos nombres) en la misma operación, pero en ci distintos


Captura de pantalla de 2017-07-24 00:12:36.png

Captura de pantalla de 2017-07-24 00:12:36.png

Hola Mariano,

Vuelvo a lo que te planteaba en el mensaje anterior, el tema es saber que le esta llegando en la variable $seleccion, que es lo que envia el cuadro para efectuar la carga, si alli se recibe un arreglo que tiene una componente nombrada ‘id_detalle_contrato’, va a intentar usarlo para filtrar la SQL. Si solo recibe la clave de la tabla contratos, entonces el despiole viene por otro lado, de todas maneras la relacion parece estar armada correctamente.

```

function cargar_detalle($seleccion)
{
$this->dep(‘dr_contratos’)->tabla(‘dt_detalles_contrato’)->cargar($seleccion);
}



Si hago la carga de esta forma, me devuelve que la tabla no ha sido cargada en este pedido de página</blockquote>
Con respecto a esto,  por que estas intentando cargar la tabla de detalles directamente?.. se supone que cuando cargas el contrato, la relacion te carga todos los detalles automaticamente. Esto puede ser parte del problema si en [b] $seleccion [/b] viene algo que no deberia.

<blockquote>Adjunto una captura de como están asociadas ambas tablas. Cabe mencionar que estoy usando dos cuadros (con distintos nombres) en la misma operación, pero en ci distintos</blockquote>
Las tablas estan bien asociadas.. por otro lado, cargas la relacion desde los 2 cuadros?  en que se diferencian o con que funcion los estarias usando? 

Saludos