{"id":897,"date":"2026-08-19T18:24:40","date_gmt":"2026-08-19T23:24:40","guid":{"rendered":"https:\/\/nucleo.miespaciodigital.net\/?page_id=897"},"modified":"2026-08-19T18:27:04","modified_gmt":"2026-08-19T23:27:04","slug":"informes-y-rendicion-de-cuentas","status":"publish","type":"page","link":"https:\/\/miespaciodigital.net\/auditoria\/plataforma-saas-de-gestion-digital\/informes-y-rendicion-de-cuentas\/","title":{"rendered":"Informes y Rendici\u00f3n de Cuentas"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"897\" class=\"elementor elementor-897\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37f4063 e-con e-atomic-element e-flexbox-base e-be5119f \" data-id=\"37f4063\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"37f4063\" data-e-type=\"e-flexbox\" data-id=\"37f4063\">\n    <div class=\"elementor-element elementor-element-4be39c4 e-con e-atomic-element e-flexbox-base \" data-id=\"4be39c4\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"4be39c4\" data-e-type=\"e-flexbox\" data-id=\"4be39c4\">\n    \t\t<div class=\"elementor-element elementor-element-1527107 elementor-widget elementor-widget-html\" data-id=\"1527107\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>N\u00facleo \u2014 Informes y Rendici\u00f3n de Cuentas<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  :root{\r\n    --ink:#132029; --ink-soft:#3d4d55;\r\n    --paper:#F4F2EC; --paper-raised:#FFFFFF; --line:#DDD8CB;\r\n    --navy:#12303D; --navy-soft:#1C3E4E;\r\n    --gold:#C98A3B; --gold-soft:#E8C899;\r\n    --green:#3A7D57; --green-bg:#E4EEE6;\r\n    --amber:#B8862F; --amber-bg:#F2E9D6;\r\n    --red:#B4432B; --red-bg:#F3E1DB;\r\n    --radius:14px;\r\n    --shadow: 0 1px 2px rgba(19,32,41,0.06), 0 8px 24px -12px rgba(19,32,41,0.18);\r\n  }\r\n  *{box-sizing:border-box;}\r\n  html,body{margin:0;padding:0;}\r\n  body{background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans', sans-serif; -webkit-font-smoothing:antialiased;}\r\n  .app{display:grid; grid-template-columns:260px 1fr; min-height:100vh;}\r\n\r\n  .sidebar{background:var(--navy); color:#EDEBE2; padding:28px 20px 20px; display:flex; flex-direction:column; gap:28px;}\r\n  .brand{display:flex; align-items:center; gap:10px;}\r\n  .brand-mark{width:34px;height:34px;border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--gold-soft), var(--gold) 60%); box-shadow: inset 0 0 0 2px rgba(255,255,255,0.25); flex-shrink:0;}\r\n  .brand-name{font-family:'Fraunces', serif; font-weight:600; font-size:1.25rem;}\r\n  .brand-sub{font-size:0.7rem; color:#9FB2BC; letter-spacing:0.06em; text-transform:uppercase; margin-top:-22px; margin-left:44px;}\r\n  nav{display:flex;flex-direction:column;gap:2px;margin-top:6px;}\r\n  .nav-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; font-size:0.87rem; color:#C7D3D8; text-decoration:none; cursor:pointer; transition:background 0.15s ease, color 0.15s ease;}\r\n  .nav-item .num{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:#7C929B; width:16px;}\r\n  .nav-item:hover{background:rgba(255,255,255,0.06); color:#fff;}\r\n  .nav-item.active{background:var(--navy-soft); color:#fff; box-shadow: inset 3px 0 0 var(--gold);}\r\n  .nav-item.active .num{color:var(--gold);}\r\n  .sidebar-footer{margin-top:auto; font-size:0.72rem; color:#7C929B; padding-top:16px; border-top:1px solid rgba(255,255,255,0.1);}\r\n\r\n  main{padding:32px 40px 60px; max-width:1260px;}\r\n  .topbar{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:26px; flex-wrap:wrap; gap:16px;}\r\n  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:6px;}\r\n  h1{font-family:'Fraunces', serif; font-weight:600; font-size:2rem; margin:0; color:var(--navy);}\r\n  .subtitle{color:var(--ink-soft); font-size:0.95rem; margin-top:6px;}\r\n  .user-chip{display:flex; align-items:center; gap:10px; background:var(--paper-raised); border:1px solid var(--line); border-radius:999px; padding:6px 14px 6px 6px; box-shadow:var(--shadow);}\r\n  .user-avatar{width:30px;height:30px;border-radius:50%; background:var(--navy); color:#EDEBE2; display:flex;align-items:center;justify-content:center; font-size:0.75rem;font-weight:600; font-family:'IBM Plex Mono',monospace;}\r\n  .user-chip .name{font-size:0.82rem;font-weight:500;}\r\n  .user-chip .role{font-size:0.72rem;color:var(--ink-soft);}\r\n\r\n  .summary-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px;}\r\n  .kpi-card{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); position:relative; overflow:hidden;}\r\n  .kpi-card::before{content:\"\"; position:absolute; top:0; left:0; right:0; height:3px; background:var(--navy);}\r\n  .kpi-label{font-size:0.74rem; color:var(--ink-soft); margin-bottom:6px;}\r\n  .kpi-value{font-family:'Fraunces', serif; font-size:1.8rem; font-weight:600; color:var(--navy);}\r\n\r\n  .section-title{font-family:'Fraunces', serif; font-size:1.1rem; color:var(--navy); font-weight:600; margin:0 0 4px;}\r\n  .section-sub{font-size:0.82rem; color:var(--ink-soft); margin-bottom:14px;}\r\n\r\n  .catalog{display:flex; flex-direction:column; gap:12px; margin-bottom:28px;}\r\n  .report-card{\r\n    background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);\r\n    padding:18px 22px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;\r\n  }\r\n  .report-icon{\r\n    width:42px; height:42px; border-radius:10px; background:var(--navy); color:var(--gold-soft); flex-shrink:0;\r\n    display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; font-weight:600; font-size:1rem;\r\n  }\r\n  .report-info{flex:1; min-width:220px;}\r\n  .report-info .name{font-family:'Fraunces', serif; font-size:1rem; font-weight:600; color:var(--navy);}\r\n  .report-info .meta{font-size:0.78rem; color:var(--ink-soft); margin-top:3px;}\r\n  .report-status{font-size:0.7rem; font-weight:600; padding:4px 10px; border-radius:999px;}\r\n  .report-status.publicado{background:var(--green-bg); color:var(--green);}\r\n  .report-status.pendiente{background:var(--amber-bg); color:var(--amber);}\r\n  .btn{font-family:'IBM Plex Sans', sans-serif; font-size:0.82rem; font-weight:600; padding:10px 16px; border-radius:9px; border:1px solid var(--navy); background:var(--navy); color:#fff; cursor:pointer;}\r\n  .btn.secondary{background:transparent; color:var(--navy);}\r\n\r\n  .doc-panel{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; margin-bottom:28px; display:none;}\r\n  .doc-panel.open{display:block;}\r\n  .doc-header{background:var(--navy); color:#fff; padding:16px 24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}\r\n  .doc-header .t{font-family:'Fraunces', serif; font-weight:600; font-size:1rem;}\r\n  .doc-header .badge{background:var(--gold); color:var(--navy); font-size:0.7rem; font-weight:700; padding:4px 10px; border-radius:999px;}\r\n  .doc-body{padding:26px 30px;}\r\n  .doc-section{margin-bottom:20px;}\r\n  .doc-section:last-child{margin-bottom:0;}\r\n  .doc-section h4{font-family:'Fraunces', serif; font-size:0.92rem; color:var(--navy); margin:0 0 10px; font-weight:600;}\r\n  .doc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}\r\n  .doc-stat .k{font-size:0.68rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); margin-bottom:4px;}\r\n  .doc-stat .v{font-family:'IBM Plex Mono',monospace; font-size:1.1rem; font-weight:600; color:var(--navy);}\r\n  .doc-text{font-size:0.85rem; line-height:1.7; color:var(--ink);}\r\n  .doc-footer{padding:16px 24px; background:#FAF9F5; border-top:1px solid var(--line); font-size:0.78rem; color:var(--ink-soft); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}\r\n\r\n  .panel{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;}\r\n  table{width:100%; border-collapse:collapse;}\r\n  thead th{text-align:left; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); padding:12px 20px; border-bottom:1px solid var(--line); background:#FAF9F5;}\r\n  tbody td{padding:12px 20px; font-size:0.83rem; border-bottom:1px solid var(--line);}\r\n  tbody tr:last-child td{border-bottom:none;}\r\n  .code{font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:var(--gold);}\r\n\r\n  .demo-note{margin-top:20px; font-size:0.78rem; color:var(--ink-soft); text-align:center; padding:14px; border:1px dashed var(--line); border-radius:10px; background:rgba(201,138,59,0.05);}\r\n\r\n  @media (max-width:980px){\r\n    .app{grid-template-columns:1fr;}\r\n    .sidebar{display:none;}\r\n    .summary-strip{grid-template-columns:repeat(2,1fr);}\r\n    .doc-grid{grid-template-columns:1fr;}\r\n    thead{display:none;}\r\n    table, tbody, tr, td{display:block; width:100%;}\r\n    tbody tr{padding:12px 20px; border-bottom:1px solid var(--line);}\r\n    tbody td{padding:4px 0;}\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"app\">\r\n\r\n  <aside class=\"sidebar\">\r\n    <div>\r\n      <div class=\"brand\"><div class=\"brand-mark\"><\/div><div class=\"brand-name\">N\u00facleo<\/div><\/div>\r\n      <div class=\"brand-sub\">Gesti\u00f3n Digital<\/div>\r\n    <\/div>\r\n    <nav>\r\n      <a class=\"nav-item\"><span class=\"num\">01<\/span> Tablero General<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">02<\/span> Atenci\u00f3n Ciudadana<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">03<\/span> Asistente Interno (IA)<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">04<\/span> Gesti\u00f3n por Resultados<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">05<\/span> Planeamiento y Presupuesto<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">06<\/span> Auditor\u00eda y Control<\/a>\r\n      <a class=\"nav-item active\"><span class=\"num\">07<\/span> Informes y Rendici\u00f3n<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">08<\/span> Configuraci\u00f3n<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">09<\/span> Ayuda y Soporte<\/a>\r\n    <\/nav>\r\n    <div class=\"sidebar-footer\">Municipalidad Distrital de Ejemplo<br>Sesi\u00f3n de demostraci\u00f3n<\/div>\r\n  <\/aside>\r\n\r\n  <main>\r\n    <div class=\"topbar\">\r\n      <div>\r\n        <div class=\"eyebrow\">Informes y Rendici\u00f3n de Cuentas<\/div>\r\n        <h1>Reportes Institucionales<\/h1>\r\n        <div class=\"subtitle\">Genera informes autom\u00e1ticamente con los datos de Presupuesto, Planeamiento, Auditor\u00eda y Atenci\u00f3n Ciudadana<\/div>\r\n      <\/div>\r\n      <div class=\"user-chip\">\r\n        <div class=\"user-avatar\">DM<\/div>\r\n        <div><div class=\"name\">Demo Municipal<\/div><div class=\"role\">Gerente Municipal<\/div><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"summary-strip\">\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Informes generados (2026)<\/div><div class=\"kpi-value\" id=\"kpiGenerados\">\u2014<\/div><\/div>\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Pendientes este trimestre<\/div><div class=\"kpi-value\" id=\"kpiPendientes\">\u2014<\/div><\/div>\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Publicados en portal<\/div><div class=\"kpi-value\" id=\"kpiPublicados\">\u2014<\/div><\/div>\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Pr\u00f3ximo vencimiento<\/div><div class=\"kpi-value\" style=\"font-size:1.2rem;\">21 ago<\/div><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"section-title\">Cat\u00e1logo de informes<\/div>\r\n    <div class=\"section-sub\">Cada informe se arma solo con los datos actuales del sistema \u2014 solo confirmas y publicas.<\/div>\r\n\r\n    <div class=\"catalog\" id=\"catalog\"><\/div>\r\n\r\n    <div class=\"doc-panel\" id=\"docPanel\"><\/div>\r\n\r\n    <div class=\"panel\">\r\n      <table>\r\n        <thead><tr><th>C\u00f3digo<\/th><th>Informe<\/th><th>Fecha de generaci\u00f3n<\/th><th>Estado<\/th><\/tr><\/thead>\r\n        <tbody id=\"historyBody\"><\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n\r\n    <div class=\"demo-note\">\r\n      Prototipo de demostraci\u00f3n \u2014 haz clic en \"Generar informe\" para ver c\u00f3mo se arma el documento con los datos de ejemplo de los otros m\u00f3dulos.\r\n    <\/div>\r\n  <\/main>\r\n<\/div>\r\n\r\n<script>\r\nconst catalogo = [\r\n  {\r\n    id:\"presupuestal\", sigla:\"EP\", nombre:\"Informe de Ejecuci\u00f3n Presupuestal Trimestral\",\r\n    gerencia:\"Gerencia de Planeamiento y Presupuesto\", periodicidad:\"Trimestral\", ultimoEstado:\"pendiente\"\r\n  },\r\n  {\r\n    id:\"poi\", sigla:\"POI\", nombre:\"Informe de Cumplimiento de Metas POI\",\r\n    gerencia:\"Gerencia de Planeamiento y Presupuesto\", periodicidad:\"Trimestral\", ultimoEstado:\"pendiente\"\r\n  },\r\n  {\r\n    id:\"transparencia\", sigla:\"RC\", nombre:\"Informe de Rendici\u00f3n de Cuentas (Portal de Transparencia)\",\r\n    gerencia:\"Gerencia Municipal\", periodicidad:\"Semestral\", ultimoEstado:\"publicado\"\r\n  },\r\n  {\r\n    id:\"auditoria\", sigla:\"AC\", nombre:\"Reporte de Hallazgos y Acciones Correctivas\",\r\n    gerencia:\"Auditor\u00eda y Control\", periodicidad:\"Mensual\", ultimoEstado:\"pendiente\"\r\n  },\r\n  {\r\n    id:\"tupa\", sigla:\"TP\", nombre:\"Informe de Atenci\u00f3n de Tr\u00e1mites TUPA\",\r\n    gerencia:\"Atenci\u00f3n Ciudadana\", periodicidad:\"Mensual\", ultimoEstado:\"publicado\"\r\n  }\r\n];\r\n\r\nlet historial = [\r\n  {code:\"INF-2026-018\", nombre:\"Informe de Rendici\u00f3n de Cuentas \u2014 I Semestre 2026\", fecha:\"15 jul 2026\", estado:\"publicado\"},\r\n  {code:\"INF-2026-021\", nombre:\"Informe de Atenci\u00f3n de Tr\u00e1mites TUPA \u2014 Julio 2026\", fecha:\"02 ago 2026\", estado:\"publicado\"},\r\n  {code:\"INF-2026-014\", nombre:\"Reporte de Hallazgos y Acciones Correctivas \u2014 Junio 2026\", fecha:\"05 jul 2026\", estado:\"publicado\"}\r\n];\r\n\r\nconst today = new Date(\"2026-08-19T00:00:00\");\r\n\r\n\/\/ Datos agregados de otros m\u00f3dulos (consistentes con los prototipos ya construidos)\r\nconst datosAgregados = {\r\n  presupuestal: {\r\n    stats: [\r\n      {k:\"PIM total\", v:\"S\/ 4,820,000\"},\r\n      {k:\"Ejecutado\", v:\"S\/ 2,795,600 (58.0%)\"},\r\n      {k:\"Saldo disponible\", v:\"S\/ 2,024,400\"}\r\n    ],\r\n    texto: \"Al cierre del per\u00edodo, la ejecuci\u00f3n presupuestal institucional alcanz\u00f3 el 58.0% del Presupuesto Institucional Modificado (PIM), frente a una meta trimestral de 65.0%. Las partidas con mayor rezago corresponden a mantenimiento de veh\u00edculos (Seguridad Ciudadana) y campa\u00f1as de salud preventiva. Se recomienda reprogramar el cronograma de ejecuci\u00f3n de las gerencias con avance menor al 50%.\"\r\n  },\r\n  poi: {\r\n    stats: [\r\n      {k:\"Objetivos estrat\u00e9gicos (PEI)\", v:\"4\"},\r\n      {k:\"Actividades POI activas\", v:\"8\"},\r\n      {k:\"Avance promedio\", v:\"65%\"}\r\n    ],\r\n    texto: \"De las 8 actividades operativas vinculadas a los 4 objetivos estrat\u00e9gicos institucionales, el avance promedio es de 65%. La actividad con mayor avance es la modernizaci\u00f3n de la estructura org\u00e1nica (90%); la de menor avance es la actualizaci\u00f3n del padr\u00f3n catastral urbano (40%), la cual requiere refuerzo de personal t\u00e9cnico para cumplir la meta anual.\"\r\n  },\r\n  transparencia: {\r\n    stats: [\r\n      {k:\"Ejecuci\u00f3n presupuestal\", v:\"58.0%\"},\r\n      {k:\"Metas POI cumplidas\", v:\"65% prom.\"},\r\n      {k:\"Tr\u00e1mites atendidos\", v:\"8 este per\u00edodo\"}\r\n    ],\r\n    texto: \"En cumplimiento de la Ley de Transparencia y Acceso a la Informaci\u00f3n P\u00fablica, se informa a la ciudadan\u00eda sobre la gesti\u00f3n institucional del per\u00edodo: ejecuci\u00f3n presupuestal, cumplimiento de metas del Plan Operativo Institucional, y atenci\u00f3n de tr\u00e1mites administrativos. El detalle completo est\u00e1 disponible en el Portal de Transparencia Est\u00e1ndar.\"\r\n  },\r\n  auditoria: {\r\n    stats: [\r\n      {k:\"Hallazgos abiertos\", v:\"5\"},\r\n      {k:\"Severidad alta\", v:\"3\"},\r\n      {k:\"Subsanados en el per\u00edodo\", v:\"3\"}\r\n    ],\r\n    texto: \"El \u00edndice de preparaci\u00f3n para auditor\u00eda se ubica en 71%. Persisten 3 hallazgos de severidad alta sin subsanar, dos de ellos vinculados a procesos de contrataciones de la Gerencia de Administraci\u00f3n y Finanzas. Se recomienda priorizar su cierre antes de la pr\u00f3xima visita de control del \u00d3rgano de Control Institucional.\"\r\n  },\r\n  tupa: {\r\n    stats: [\r\n      {k:\"Solicitudes registradas\", v:\"8\"},\r\n      {k:\"Resueltas dentro de plazo\", v:\"3\"},\r\n      {k:\"Fuera de plazo\", v:\"2\"}\r\n    ],\r\n    texto: \"Se registraron 8 solicitudes de procedimientos administrativos del TUPA en el per\u00edodo. De estas, 3 fueron resueltas dentro del plazo legal establecido. 2 solicitudes se encuentran fuera de plazo en estado \\\"Observado\\\" y requieren atenci\u00f3n prioritaria para evitar la aplicaci\u00f3n de silencio administrativo.\"\r\n  }\r\n};\r\n\r\nfunction renderCatalog(){\r\n  const container = document.getElementById(\"catalog\");\r\n  container.innerHTML = \"\";\r\n  catalogo.forEach(r => {\r\n    const card = document.createElement(\"div\");\r\n    card.className = \"report-card\";\r\n    card.innerHTML = `\r\n      <div class=\"report-icon\">${r.sigla}<\/div>\r\n      <div class=\"report-info\">\r\n        <div class=\"name\">${r.nombre}<\/div>\r\n        <div class=\"meta\">${r.gerencia} \u00b7 Periodicidad: ${r.periodicidad}<\/div>\r\n      <\/div>\r\n      <span class=\"report-status ${r.ultimoEstado}\">${r.ultimoEstado === \"publicado\" ? \"\u00daltimo: Publicado\" : \"Pendiente este per\u00edodo\"}<\/span>\r\n      <button class=\"btn\" onclick=\"generarInforme('${r.id}')\">Generar informe<\/button>\r\n    `;\r\n    container.appendChild(card);\r\n  });\r\n}\r\n\r\nfunction renderHistory(){\r\n  const body = document.getElementById(\"historyBody\");\r\n  body.innerHTML = historial.map(h => `\r\n    <tr>\r\n      <td class=\"code\">${h.code}<\/td>\r\n      <td>${h.nombre}<\/td>\r\n      <td>${h.fecha}<\/td>\r\n      <td><span class=\"report-status ${h.estado}\">${h.estado === \"publicado\" ? \"Publicado\" : \"Borrador\"}<\/span><\/td>\r\n    <\/tr>\r\n  `).join(\"\");\r\n\r\n  document.getElementById(\"kpiGenerados\").textContent = historial.length;\r\n  document.getElementById(\"kpiPendientes\").textContent = catalogo.filter(c => c.ultimoEstado === \"pendiente\").length;\r\n  document.getElementById(\"kpiPublicados\").textContent = historial.filter(h => h.estado === \"publicado\").length;\r\n}\r\n\r\nlet counter = 25;\r\nfunction generarInforme(id){\r\n  const r = catalogo.find(x => x.id === id);\r\n  const d = datosAgregados[id];\r\n  const fechaStr = today.toLocaleDateString(\"es-PE\", {day:\"2-digit\", month:\"long\", year:\"numeric\"});\r\n  const code = \"INF-2026-0\" + (counter++);\r\n\r\n  const docPanel = document.getElementById(\"docPanel\");\r\n  docPanel.innerHTML = `\r\n    <div class=\"doc-header\">\r\n      <div class=\"t\">${r.nombre}<\/div>\r\n      <div class=\"badge\">Borrador generado<\/div>\r\n    <\/div>\r\n    <div class=\"doc-body\">\r\n      <div class=\"doc-section\">\r\n        <h4>Datos generales<\/h4>\r\n        <div class=\"doc-text\"><b>C\u00f3digo:<\/b> ${code} &nbsp;\u00b7&nbsp; <b>Fecha de generaci\u00f3n:<\/b> ${fechaStr} &nbsp;\u00b7&nbsp; <b>Gerencia responsable:<\/b> ${r.gerencia}<\/div>\r\n      <\/div>\r\n      <div class=\"doc-section\">\r\n        <h4>Cifras del per\u00edodo<\/h4>\r\n        <div class=\"doc-grid\">\r\n          ${d.stats.map(s => `<div class=\"doc-stat\"><div class=\"k\">${s.k}<\/div><div class=\"v\">${s.v}<\/div><\/div>`).join(\"\")}\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"doc-section\">\r\n        <h4>Resumen ejecutivo<\/h4>\r\n        <div class=\"doc-text\">${d.texto}<\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"doc-footer\">\r\n      <span>Este es un borrador generado autom\u00e1ticamente a partir de los datos del sistema. Debe ser revisado antes de su publicaci\u00f3n oficial.<\/span>\r\n      <button class=\"btn secondary\" onclick=\"publicarInforme('${code}','${r.nombre.replace(\/'\/g,\"\\\\'\")}')\">Publicar en historial<\/button>\r\n    <\/div>\r\n  `;\r\n  docPanel.classList.add(\"open\");\r\n  docPanel.scrollIntoView({behavior:\"smooth\", block:\"center\"});\r\n}\r\n\r\nfunction publicarInforme(code, nombre){\r\n  const fechaStr = today.toLocaleDateString(\"es-PE\", {day:\"2-digit\", month:\"short\", year:\"numeric\"});\r\n  historial.unshift({code, nombre, fecha: fechaStr, estado:\"publicado\"});\r\n  renderHistory();\r\n  document.getElementById(\"docPanel\").classList.remove(\"open\");\r\n}\r\n\r\nrenderCatalog();\r\nrenderHistory();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>N\u00facleo \u2014 Informes y Rendici\u00f3n de Cuentas N\u00facleo Gesti\u00f3n Digital 01 Tablero General 02 Atenci\u00f3n Ciudadana 03 Asistente Interno (IA) 04 Gesti\u00f3n por Resultados 05 Planeamiento y Presupuesto 06 Auditor\u00eda y Control 07 Informes y Rendici\u00f3n 08 Configuraci\u00f3n 09 Ayuda y Soporte Municipalidad Distrital de EjemploSesi\u00f3n de demostraci\u00f3n Informes y Rendici\u00f3n de Cuentas Reportes Institucionales [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":638,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-897","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/comments?post=897"}],"version-history":[{"count":4,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/897\/revisions"}],"predecessor-version":[{"id":902,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/897\/revisions\/902"}],"up":[{"embeddable":true,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/638"}],"wp:attachment":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/media?parent=897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}