function evt__form_filas__modificacion($datos) { //--- Este ml cuando se cambio el combo de la tabla a usar ya no tiene datos necesarios if (!$this->cambio_tabla) { //--- Se actualizan las opciones que dependen del tipo de dato seleccionado foreach (array_keys($datos) as $id) { $nuevos_seteos = toba_catalogo_asistentes::get_fila_opciones_de_tipo($datos[$id]['asistente_tipo_dato']); $datos[$id]['dt_tipo_dato'] = $nuevos_seteos['dt_tipo_dato']; $datos[$id]['cuadro_estilo'] = $nuevos_seteos['cuadro_estilo']; $datos[$id]['cuadro_formato'] = $nuevos_seteos['cuadro_formato']; $datos[$id]['elemento_formulario'] = $nuevos_seteos['elemento_formulario']; } $this->dep('datos')->tabla('filas')->procesar_filas($datos); } }
/** * Asume que el dt 'filas' tiene un cursor seteado en la fila actual */ function autocompletar_carga_combo($columna) { $nombre_tabla = $this->dr_molde->tabla('base')->get_columna('tabla'); $nombre_fuente = $this->dr_molde->tabla('base')->get_columna('fuente'); $nuevas = toba_catalogo_asistentes::get_lista_filas_tabla($nombre_tabla, $nombre_fuente); $datos = array(); //-- Busca la fila a actualizar foreach ($nuevas as $nueva) { if ($nueva['columna'] == $columna) { $datos['ef_carga_col_clave'] = $nueva['ef_carga_col_clave']; $datos['ef_carga_col_desc'] = $nueva['ef_carga_col_desc']; $datos['ef_carga_tabla'] = $nueva['ef_carga_tabla']; $datos['ef_carga_sql'] = $nueva['ef_carga_sql']; break; } } $this->dr_molde->tabla('filas')->set($datos); }
function posee_informacion_completa() { $mensajes = array(); if (parent::posee_informacion_completa()) { $base = $this->dr_molde->tabla('base')->get(); if (!isset($base['tabla'])) { return false; } if (!isset($base['cuadro_carga_origen'])) { $mensajes[] = 'Formulario: Falta indicar el origen de la carga del cuadro'; } $filas = $this->dr_molde->tabla('filas')->get_filas(); foreach ($filas as $fila) { if ($fila['asistente_tipo_dato'] == toba_catalogo_asistentes::tipo_dato_referencia()) { if (!isset($fila['ef_carga_origen'])) { $mensajes[] = 'Formulario: Falta indicar el origen de la carga del campo "' . $fila['columna'] . '"'; } } } } return empty($mensajes) ? true : $mensajes; }
function asistente($reset = false) { $datos = null; if ($this->existe_dependencia('asistente')) { $datos = $this->dep('asistente')->dep('datos'); } if ($reset || !isset($this->asistente)) { if ($this->s__molde_preexistente) { $this->asistente = toba_catalogo_asistentes::cargar_por_molde($this->s__clave_molde['proyecto'], $this->s__clave_molde['molde'], $datos); $this->asistente->preparar_molde(); } else { $this->asistente = toba_catalogo_asistentes::cargar_por_tipo_operacion($this->s__datos_asistente['operacion_tipo'], $datos); } } return $this->asistente; }
function tipo_asistente_utilizado() { $tipo = toba_catalogo_asistentes::get_asistente_molde($this->proyecto, $this->datos['basica']['molde']); return $tipo; }