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;
}
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’.
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.
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.