Diferencia entre revisiones de «SIU-Guarani/Version3.21.0/personalizaciones/reporte alumnos»

De SIU
Saltar a: navegación, buscar
(Página creada con «===== <div id="modificar_reporte_alumnos">Modificar Reporte Alumnos</div> ===== Para consultar a la BD de negocios del sistema, SIU-Guarani cuenta con un conjunto de clase...»)
 
 
(No se muestran 11 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
===== <div id="modificar_reporte_alumnos">Modificar Reporte Alumnos</div> =====
+
<span style="float: right; margin: 0 0 15px 15px;">{{TOClimit|4}}</span>
Para consultar a la BD de negocios del sistema, SIU-Guarani cuenta con un conjunto de clases (aproximadamente una por modulo-submodulo) definidas en la solapa "''Datos''" -> "''Consultas PHP''" del '''Editor Toba'''. Las clases de consultas definidas allí, son accesibles a través del framework desde cualquier clase a partir del llamado:
+
== Personalizar Reporte de Alumnos ==
<source lang="php" enclose="div">
+
 
  toba::consulta_php('co_XXXXXXXX')
+
Documentación para <b>agregar columnas opcionales</b> al reporte.<br>
</source>
+
Para otro tipo de personalizaciones como por ejemplo agregar filtros ver la documentación en [[SIU-Guarani/Version3.21.0/personalizaciones/reporte|Personalizar un reporte]]. <br>
 +
 
 +
* Aclaración: Esta personalización debe hacerse en el esquema de personalización [[SIU-Guarani/Version3.21.0/personalizaciones/personalizaciones_gestion | Ver documentación aquí]]
 +
* <XXXX> Representa el nodo de la institución otorgado por el SIU como lo especificado previamente.
  
En este caso, se debe redefinir la clase de consulta "''co_certificados''" de la siguiente forma:
+
=== Pasos ===
  
Ir a la la solapa "''Datos''" -> "''Consultas PHP''" del '''Editor Toba''' y seleccionar para editar la clase de Consulta "''co_certificados''" presionando [[File:G3_editar.png]]. Realizar los siguientes cambios:<br>
+
1. Ingresar a <b>Toba Editor</b> y buscar el cuadro en <b>PROYECTO > Matrícula > Reportes > Reporte de alumnos</b>. Dentro de la pestaña "columnas", crear el campo en el cuadro (72000002) para que se muestre en la tabla, por ejemplo: "usuario".
*'''Punto de Montaje''' : ''"personalizacion"''.
+
<br>
*'''Clase''': "''co_certificados_XXX''"
 
*'''Archivo''': La idea es crear una clase dentro del path (<tt><path proyecto Guaraní>/personalizacion/php/nucleo</tt>) que extienda de la original. En este caso entonces, a traves del editor crear la estructura de carpetas y el archivo: ''nucleo/propuestas/certificados/co_certificados_XXX.php'' (donde ''XXX'' es el nodo de institución otorgado por el SIU). Esta estructura de directorios se creara dentro de <tt><path proyecto Guaraní>/personalizacion/php</tt> ya que previamente indicamos el punto de montaje "personalizacion".
 
  
Una vez realizado esto, presionar el botón "Guardar" para almacenar los cambios realizados y luego abrir el archivo recién creado y dejarlo de la siguiente forma:
+
2. En el archivo personalizaciones/php/operaciones/matriculas/alumnos/ci_rep_alumnos_<XXXX>.php, agregar los elementos en la función <b>''get_opciones_columnas_optativas()''</b>:
 +
<br>     
 
<source lang="php" enclose="div">
 
<source lang="php" enclose="div">
<?php
+
['valor' => 'usuario', 'descr' => 'Usuario','metodo'=>'get_columna_dinamica_usuario'],
class co_certificados_XXX extends co_certificados
+
</source>
{
+
<br>
  
  // Se agrega el siguiente metodo como una nueva consulta a la BD para traer ademas de los datos basicos, el campo 'duracion_en_meses'
+
3. En personalizaciones/php/nucleo/matriculas/alumnos/co_alumnos_<XXXX>.php, crear la función nombrada en el paso anterior, por ejemplo: ''function get_columna_dinamica_usuario(&$select, &$from,&$where)''.<br>
  function get_listado_validez($where)
+
Por ejemplo:
  {
+
<br>
if ($where) {
+
<source lang="php" enclose="div">
$where = 'AND ' . $where;
+
/*
}
+
* Este metodo es utilizado exclusivamente en el Reporte de alumnos
       
+
*/
$sql = "SELECT sga_certificados.certificado,
+
function get_columna_dinamica_usuario(&$select, &$from,&$where)
sga_certificados.nombre,
+
{
sga_certificados.nombre_femenino,
+
$select_metodo = " mdp_personas.usuario ";
sga_certificados_tipos.certificado_tipo as certificado_tipo_codigo,
+
$select = ($select == '1') ? $select_metodo : $select . ' , ' . $select_metodo;
sga_certificados_tipos.descripcion as certificado_tipo,
+
}
sga_titulos_niveles.descripcion as titulo_nivel,
+
</source>
sga_certificados.disciplina,
+
<br>
sga_certificados.titulo_araucano,
 
".guarani_sql::get_case('sga_certificados','estado').",
 
  sga_certificados.codigo,
 
      sga_g3entidades.entidad,
 
  sga_certificados.duracion_en_meses
 
FROM sga_certificados
 
LEFT JOIN sga_titulos_niveles ON sga_certificados.titulo_nivel = sga_titulos_niveles.titulo_nivel
 
LEFT JOIN sga_g3entidades ON sga_certificados.entidad = sga_g3entidades.entidad,
 
sga_certificados_tipos
 
WHERE sga_certificados.certificado_tipo = sga_certificados_tipos.certificado_tipo
 
$where
 
ORDER BY codigo,
 
certificado_tipo,
 
titulo_nivel
 
";
 
return guarani_db::consultar($sql);
 
  }
 
  
}
+
4. Finalmente, revisar la vista preliminar del reporte para confirmar que se han agregado las columnas opcionales correctamente. Si todo salió bien exportar los metadatos para no perder los cambios en toba.
?>
+
[[File:Usuario.png]]
</source>
 
De esta forma, se redefine solamente el método que traía los datos del cuadro sustituyéndolo por el que obtiene los datos de la nueva consulta que generaremos en el paso siguiente.
 

Revisión actual del 12:01 5 ene 2024

Personalizar Reporte de Alumnos

Documentación para agregar columnas opcionales al reporte.
Para otro tipo de personalizaciones como por ejemplo agregar filtros ver la documentación en Personalizar un reporte.

  • Aclaración: Esta personalización debe hacerse en el esquema de personalización Ver documentación aquí
  • <XXXX> Representa el nodo de la institución otorgado por el SIU como lo especificado previamente.

Pasos

1. Ingresar a Toba Editor y buscar el cuadro en PROYECTO > Matrícula > Reportes > Reporte de alumnos. Dentro de la pestaña "columnas", crear el campo en el cuadro (72000002) para que se muestre en la tabla, por ejemplo: "usuario".

2. En el archivo personalizaciones/php/operaciones/matriculas/alumnos/ci_rep_alumnos_<XXXX>.php, agregar los elementos en la función get_opciones_columnas_optativas():

['valor' => 'usuario', 'descr' => 'Usuario','metodo'=>'get_columna_dinamica_usuario'],


3. En personalizaciones/php/nucleo/matriculas/alumnos/co_alumnos_<XXXX>.php, crear la función nombrada en el paso anterior, por ejemplo: function get_columna_dinamica_usuario(&$select, &$from,&$where).
Por ejemplo:

/*
 * Este metodo es utilizado exclusivamente en el Reporte de alumnos
 */

function get_columna_dinamica_usuario(&$select, &$from,&$where)
{
        $select_metodo = " mdp_personas.usuario ";
        $select = ($select == '1') ? $select_metodo : $select . ' , ' . $select_metodo;
}


4. Finalmente, revisar la vista preliminar del reporte para confirmar que se han agregado las columnas opcionales correctamente. Si todo salió bien exportar los metadatos para no perder los cambios en toba. Usuario.png