Problema con filtros en reportes

Buenas!, les comento un problema que tengo:
Al personalizar un reporte, como se hace generalmente, crear la clase ci_rep y sobreescribir los métodos correspondientes como por ejemplo:


function get_tabla_principal()
{
	return 'sga_comisiones';
}
	
function get_datos($filtro)
{
	return toba::consulta_php('co_comisiones')->get_x($filtro);
}

El problema que tengo es con la función get_datos que trae el filtro ya codeado internamente por ustedes con el AND para que sea usado en la query directamente. Yo la query que uso en la clase de consultas es con una función a la cual le paso parámetros, y cada parámetro debería ser una parte del filtro, por ejemplo:


function get_consulta_x($filtro)
{ 
         $sql = "SELECT * FROM f_funcion_x($filtro['propuesta'], $filtro['actividad'], null, $filtro['anio_desde'], $filtro['anio_hasta'])";  

         $datos = guarani_db::consultar($sql);
		
         return $datos;
}

Hay alguna manera de conseguir eso?

Saludos!

Hola Lautaro,

Tu clase personalizada extiende de ‘ci_reporte’? Fijate que allí tenés en sesión el filtro armado como cláusula WHERE en ‘$this->s__filtro’ y los datos del filtro en ‘$this->s__datos’.

Saludos, Florencia.

Hola, si extiende de ci_reporte, probé con todas esas variables que me dicen como son, s__filtro y s__datos (ci_reporte) , s__filtros, s__datos_filtros (ci_guarani), y todos tiran o null o “Array” al momento de mostrarlo en log de sistema. Si es array pruebo mostrando la primera posición y no trae nada. El unico que trae datos es el s__filtro de ci_reporte pero que ya viene formateado con el where.

Saludos.

Lautaro,

Podés adjuntar la clase PHP del CI?

Saludos, Florencia.

Buenas, dejo adjunto clase y clase de consulta.

Saludos.


adj.rar (3.9 KB)

Lautaro,

Probá con la clase que te adjunto. Fijate que puse un ‘ei_arbol’ para ver los datos del filtro en la carga del cuadro.

Saludos, Florencia.
2


ci_rep_cuadro_coneau_7_1_umet.zip (710 Bytes)

Te adjunto lo que arroja en la pantalla.


chrome_jrPPVPTj2n.png

chrome_jrPPVPTj2n.png

Lautaro,

Claro, esos son los valores ingresados por el usuario en el filtro. Tenés que acceder a las componentes del arreglo que necesites. Por ejemplo, $this->s__datos[‘propuesta’][‘valor’] es la propuesta seleccionada.

Saludos, Florencia.

Hola, perfecto, ya quedo funcional, muchas gracias!

Saludos.