Hola Martin,
creo que el inconveniente puede estar justamente en el conf__ de dicho formulario, el detalle radica en una sutil diferencia en la interpretacion de lo que hace el metodo datos_relacion::esta_cargada() , ese metodo surgio para determinar cuando una relacion fue cargada exitosamente desde la bd, que es distinto a determinar si la relacion tiene datos o no. Creo que la documentacion es responsable de esta diferencia de interpretacion ya que no explicita desde donde se carga.
Por lo pronto hay 2 opciones:
- En los metodos de modificacion utilizas el metodo set_cargado(true) para indicar que la relacion esta cargada, el problema de esto es que te puede traer fantasmas en alguno de los formularios ya que dicho metodo afecta toda la relacion y no individualmente a las tablas
- Modificar el metodo conf__ del formulario para contemplar la diferencia de interpretacion:
function conf__formulario_materia_dictado(toba_ei_formulario $form)
{
$cant_datos = $this->get_relacion->tabla('materias_dictados')->get_cant_filas(); //Contamos la cantidad de filas que tiene, debe tener 1 fila si hay datos
if ($cant_datos > 0) {
$datos = $this->get_relacion()->tabla('materias_dictados')->get();
$form->set_datos($datos);
}
}
Probalo, creo que con esto puede funcionar
Saludos
Richard