Skip to main content

Descripción General

El módulo de Reportes de SMAF proporciona capacidades completas de generación de informes para el seguimiento y control de gastos de viaje, garantizando transparencia y cumplimiento normativo en la Administración Pública Federal Mexicana.

Reportes de Viáticos

Informes detallados de gastos de viaje con filtros avanzados y exportación a Excel

Reportes de Transparencia

Reportes regulatorios para cumplimiento de obligaciones de transparencia pública

Reportes Financieros

Análisis presupuestario y reportes comparativos por programa

Análisis Estadísticos

Comparativos mensuales y análisis de tendencias de gastos

Tipos de Reportes

Reportes Operativos

Reportes utilizados para la gestión diaria de comisiones y viáticos:
  • Reporte de Viáticos: Listado detallado de comisiones con montos autorizados y comprobados
  • Reporte por Usuario: Gastos individuales por comisionado
  • Reporte por Proyecto: Consumo presupuestal por proyecto de investigación
  • Control de Reintegros: Seguimiento de devoluciones pendientes

Reportes Ejecutivos

  • Resumen Ejecutivo: Consolidado por centro de investigación
  • Resumen de Auditoría: Información detallada para procesos de auditoría
  • Comparativo Mensual: Análisis de tendencias por período

Reportes Regulatorios

  • Transparencia: Cumplimiento con la Ley General de Transparencia
  • Formato de Artículo 70: Viajes nacionales e internacionales de funcionarios públicos

Características Principales

Filtros Avanzados

Todos los reportes incluyen capacidades de filtrado:
  • Año Fiscal: Selección de ejercicio presupuestal
  • Rango de Fechas: Fecha inicio y fin de comisión
  • Período Mensual: Filtrado por mes específico
  • Nacional o Internacional
  • Tipo de viáticos (Anticipados/Devengados)
  • Estatus de comprobación
  • Adscripción (Centro de Investigación)
  • Programa o Proyecto
  • Usuario comisionado
  • Comprometido
  • Prepagado
  • Pagado
  • Pagado Pasivo

Formatos de Exportación

Los reportes pueden generarse en múltiples formatos:
Formato Principal de ExportaciónEl sistema genera archivos Excel compatibles con análisis posterior:
const string FIELDSEPARATOR = "\t";
const string ROWSEPARATOR = "\n";
StringBuilder output = new StringBuilder();

// Escribir encabezados
foreach (DataColumn dc in tableFinal.Columns)
{
    output.Append(dc.ColumnName);
    output.Append(FIELDSEPARATOR);
}
output.Append(ROWSEPARATOR);

// Escribir datos
foreach (DataRow item in tableFinal.Rows)
{
    foreach (object value in item.ItemArray)
    {
        output.Append(value.ToString().Replace('\n', ' ').Replace('\r', ' '));
        output.Append(FIELDSEPARATOR);
    }
    output.Append(ROWSEPARATOR);
}

string raiz = HttpContext.Current.Server.MapPath("..") + "\\Reportes\\Excel\\" + nombreArchivo + ".xls";
StreamWriter sw = new StreamWriter(raiz);
sw.Write(output.ToString());
sw.Close();

clsPdf.DonwloadFile(raiz, nombreArchivo + ".xls");

Estructura de Datos de Reportes

Campos Comunes

Todos los reportes incluyen información básica:
CampoDescripciónEjemplo
OFICIONúmero de oficio de comisiónRJL-INAPESCA-001-2024
ARCHIVOIdentificador único001-2024
COMISIONADONombre del funcionarioJUAN PÉREZ LÓPEZ
LUGARDestino de la comisiónMAZATLÁN, SINALOA
FECHASPeríodo de comisión15/01/2024 - 18/01/2024

Montos Autorizados

tableFinal.Columns.Add("PASAJES_OTORGADOS", typeof(Double));
tableFinal.Columns.Add("PEAJES_OTORGADOS", typeof(Double));
tableFinal.Columns.Add("COMBUSTIBLE_OTORGADO", typeof(Double));
tableFinal.Columns.Add("VIATICOS_OTORGADOS", typeof(Double));
tableFinal.Columns.Add("SINGLADURAS_OTORGADAS", typeof(Double));
tableFinal.Columns.Add("TOTAL_OTORGADOS", typeof(Double));

Montos Comprobados

// Cálculo de comprobaciones por concepto
workRow[11] = MngNegocioComprobacion.Sum_Importe(
    comisionado, 
    periodo, 
    "8",  // Código de concepto: Pasajes
    oficio, 
    archivo
);

workRow[12] = MngNegocioComprobacion.Sum_Importe(
    comisionado, 
    periodo, 
    "7",  // Código de concepto: Peajes
    oficio, 
    archivo
);

Programación de Reportes

Los reportes se generan bajo demanda. Para grandes volúmenes de datos, el sistema muestra un mensaje de espera durante el proceso de generación.

Tiempo de Procesamiento

<asp:Button ID="btnGenerar" runat="server"
    Text="Generar Archivo de Transparencia" 
    OnClick="btnGenerar_Click" 
    OnClientClick="clickOnce(this, 'Espere este proceso puede tardar minutos')" 
    ValidationGroup="Procesar" 
    UseSubmitBehavior="false" />
function clickOnce(btn, msg) {
    btn.value = msg;
    btn.disabled = true;
    return true;
}

Control de Acceso por Rol

Los reportes disponibles dependen del rol del usuario:
if (Session["Crip_Rol"].ToString() == Dictionary.DIRECTOR_ADMINISTRACION)
{
    // Acceso a todos los centros de investigación
    dplAdscripcion.DataSource = MngNegocioAdscripcion.ObtieneAdscripcion();
    dplAdscripcion.DataTextField = Dictionary.DESCRIPCION;
    dplAdscripcion.DataValueField = Dictionary.CODIGO;
    dplAdscripcion.DataBind();
    
    // Opciones de resumen ejecutivo
    CheckBox1.Visible = true;
    CheckBox2.Visible = true;
}

Validaciones y Controles

Validación de Parámetros

if ((txtNombre.Text == "") | (txtNombre.Text == null) | (txtNombre.Text == string.Empty))
{
    ClientScript.RegisterStartupScript(
        this.GetType(), 
        "Inapesca", 
        "alert('Nombre de archivo forzoso');", 
        true
    );
    return;
}

if (dplAnio.SelectedValue.ToString() == string.Empty)
{
    ClientScript.RegisterStartupScript(
        this.GetType(), 
        "Inapesca", 
        "alert('Debe seleccionar un ejercicio fiscal para poder avanzar');", 
        true
    );
    return;
}

Manejo de Archivos Existentes

string raiz = HttpContext.Current.Server.MapPath("..") + "\\Reportes\\Excel";

if (File.Exists(raiz + "/" + txtNombre.Text + ".xls"))
{
    File.Delete(raiz + "/" + txtNombre.Text + ".xls");
}

Próximos Pasos

Reportes de Viáticos

Aprenda a generar reportes detallados de gastos

Reportes de Transparencia

Configure reportes regulatorios de transparencia

Reportes Financieros

Analice presupuestos y programas

API de Reportes

Integre reportes en sistemas externos

Build docs developers (and LLMs) love