Personalización

Buenas tardes, al querer personalizar un reporte me devuelve el siguiente error.

SQLSTATE[42P01]: Undefined table: 7 ERROR: falta una entrada para la tabla «sga_propuestas_ra» en la cláusula FROM\nLINE 1: …promedio_sa from negocio_pers.f_aband_propuesta( sga_propue…\n ^ Más info…


SQLSTATE: db_42P01

CODIGO: 7

MENSAJE: ERROR: falta una entrada para la tabla «sga_propuestas_ra» en la cláusula FROM\nLINE 1: …promedio_sa from negocio_pers.f_aband_propuesta( sga_propue…\n ^

SQL: select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta( sga_propuestas_ra.propuesta = “19”\n AND fecha::date = “2025-08-22”::date\n AND sga_propuesta_aspira.anio_academico = “2025”) – toba_log: 1062265371

Copio el ci:

<?php
class ci_rep_alumnos_ucel extends ci_rep_sin_listado_inicial
{
		
	function conf__filtro(toba_ei_filtro $filtro)
	{
			if (isset($this->s__datos)) {
			$filtro->set_datos($this->s__datos);
			}
	
			$filtro->columna('id_propuesta')->set_condicion_fija('es_igual_a');
			$filtro->columna('id_fecha')->set_condicion_fija('es_igual_a');
			$filtro->columna('id_anio_academico')->set_condicion_fija('es_igual_a');
	}
	function evt_filtro_filtrar($datos)
	{
		if (isset($datos)) {
			$this->s__dato = $datos;
			
			$filtro_pro = '0';
			$filtro_fecha = '';
			$filtro_ac = '0';
			
			$filtro_pro = isset($datos['propuesta']) ? $datos['propuesta']['valor'] : '0';
			$filtro_fecha = isset($datos['fecha']) ? $datos['fecha']['valor'] : '';
			$filtro_ac = isset($datos['anio_academico']) ? $datos['anio_academico']['valor'] : '0';
		
			
			$filtro = $filtro_pro.", '".$filtro_fecha."', ".$filtro_ac;
    
			
			$this->s__filtro = $filtro;
		    
		    
		} else {
			unset($this->s__datos);
			$this->s__filtro = '';
			}
	
	}
	function get_tabla_principal()
	{
	    return 'sga_alumnos';
	}
	function get_datos($filtro)
	{
	    if(!empty($filtro))
	    {
		$sql = "select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta(".$filtro.")";
		
		return guarani_db::consultar($sql);
	    }
	}
	
}
?>

Si fuerzo la consulta con datos reales el reporte funciona (select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta(19,’2025-08-08’,2025)).
Lo que no me está leyendo son los filtros.
Necesito ayuda con esto.
Gracias de antemano.

Versión 3.21.2

Buenas tardes Pablo,

nos podrías ampliar un poco más en detalle sobre cuál sería el reporte que están tratando de realizar la personalización?, qué información están agregando al mismo?, así podemos analizar mejor por qué les esta mostrando ese error.

Saludos

Buenas tardes, es un reporte de alumnos con mejores promedios, la función es f_aband_propuetas dónde tiene tres parámetros (propuesta, fecha, año académico).

Cuando ingreso datos en los parámetros funciona bien, el error está en el armado del filtro.

$sql = "select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta(".$filtro.")";

lo reemplacé por $sql = "select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta(19, current_date, 2025)"; y funciona correcto, me armar el cuadro con los datos.

Saludos

select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta( sga_propuestas_ra.propuesta = “27”\n AND vw_hist_academica.fecha::date <= “2025-08-25”::date\n AND sga_propuesta_aspira.anio_academico = “2025”)

Así me está armado la función.

Hola Pablo! Cómo estás?

Estamos analizando este tema junto con los técnicos.

Te pedimos si podés enviarnos la query completa de la function get_datos así vemos cómo arma los filtros.
Agreganos por favor cómo queda el filtro al final.

Les está quedando con estos “\n”?? Esto lo están sacando del log?

select clegajo, capellido, cnombres, vpromedio_sa from negocio_pers.f_aband_propuesta( sga_propuestas_ra.propuesta = “27”\n AND vw_hist_academica.fecha::date <= “2025-08-25”::date\n AND sga_propuesta_aspira.anio_academico = “2025”)

Saludos!

Buenas tardes Martín, ya lo pude solucionar, error en la función de filtro.

Muchas gracias

Saludos