{"id":2492,"date":"2025-05-12T10:46:13","date_gmt":"2025-05-12T14:46:13","guid":{"rendered":"https:\/\/w3.cndc.bo\/?page_id=2492"},"modified":"2025-12-23T01:54:43","modified_gmt":"2025-12-23T05:54:43","slug":"programacion-de-la-operacion","status":"publish","type":"page","link":"https:\/\/w3.cndc.bo\/index.php\/programacion-de-la-operacion\/","title":{"rendered":"Programaci\u00f3n de la Operaci\u00f3n"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; admin_label=\u00bbHeader\u00bb _builder_version=\u00bb4.20.0&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||23px|||\u00bb custom_padding=\u00bb||4px|||\u00bb collapsed=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb border_color_all=\u00bb#00bfff\u00bb border_width_left=\u00bb15px\u00bb border_color_left=\u00bb#0C71C3&#8243; global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.20.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbd0f65e86-ae69-4d33-bfd0-6f3392592cd4&#8243; custom_margin=\u00bb|||25px|false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Programaci\u00f3n de la Operaci\u00f3n<\/h2>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00bb1_4,3_4&#8243; use_custom_gutter=\u00bbon\u00bb gutter_width=\u00bb1&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb89%\u00bb custom_margin=\u00bb|14px||auto||\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb0px||0px|60px|true|false\u00bb global_colors_info=\u00bb{}\u00bb] <pee class=\"fecha-cndc\" data-api=\"https:\/\/www.cndc.bo\/api\/last_date_category_1_simple.php\">Cargando fecha&#8230;<\/pee><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.addEventListener(\"DOMContentLoaded\", function () {<!-- [et_pb_line_break_holder] -->  document.querySelectorAll('.fecha-cndc').forEach(el => {<!-- [et_pb_line_break_holder] -->    fetch(el.dataset.api)<!-- [et_pb_line_break_holder] -->      .then(res => res.text())<!-- [et_pb_line_break_holder] -->      .then(date => el.textContent = date.trim())<!-- [et_pb_line_break_holder] -->      .catch(() => el.textContent = \"Fecha no disponible\");<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->.menu-cndc h3 {<!-- [et_pb_line_break_holder] -->  font-size: 17px;<!-- [et_pb_line_break_holder] -->  color: #0c71c3;<!-- [et_pb_line_break_holder] -->  font-weight: normal;<!-- [et_pb_line_break_holder] -->  margin-left: 40px;<!-- [et_pb_line_break_holder] -->  padding-left: 15px;<!-- [et_pb_line_break_holder] -->  border-left: 2px solid #C1C3C3;<!-- [et_pb_line_break_holder] -->  cursor: pointer;<!-- [et_pb_line_break_holder] -->  transition: all 0.3s ease;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.menu-cndc h3:hover {<!-- [et_pb_line_break_holder] -->  font-size: 18px;<!-- [et_pb_line_break_holder] -->  border-left-color: #083169;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.menu-cndc h3.activo {<!-- [et_pb_line_break_holder] -->  font-weight: bold;<!-- [et_pb_line_break_holder] -->  font-size: 18px;<!-- [et_pb_line_break_holder] -->  color: #083169;<!-- [et_pb_line_break_holder] -->  border-left-color: #083169;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"menu-cndc\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu1\" class=\"activo\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/www.cndc.bo\/php\/dload.php?f=precmp_{ddmmaa}.htm&#038;d=boldia&#8217;,&#8217;menu1&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Predespacho y Costo Marginal Previsto<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu2\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/www.cndc.bo\/php\/dload.php?f=indp_{ddmmaa}.htm&#038;d=boldia&#8217;,&#8217;menu2&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Indisponibilidades previstas<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu3\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/www.cndc.bo\/php\/dload.php?f=dathid_{ddmmaa}.htm&#038;d=boldia&#8217;,&#8217;menu3&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Datos Hidrol\u00f3gicos previstos<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][et_pb_column type=\u00bb3_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb min_height=\u00bb100vh\u00bb height=\u00bb100vh\u00bb max_height=\u00bb100vh\u00bb custom_margin=\u00bb||||false|false\u00bb custom_padding=\u00bb|100px|||false|false\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<!-- =========================<!-- [et_pb_line_break_holder] -->     VISOR (SEGUNDA VENTANA)<!-- [et_pb_line_break_holder] -->     &#8211; Este c\u00f3digo expone window.cargarIframe y precarga menu1 al iniciar<!-- [et_pb_line_break_holder] -->========================= &#8211;><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"contenedor-iframe\" style=\"width:100%; height:100vh; border:1px solid #ccc; position:relative;\"><!-- [et_pb_line_break_holder] -->  <iframe id=\"visor-cndc\" style=\"width:100%; height:100%; border:none;\"><\/iframe><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"msg-cndc\" class=\"cndc-overlay\" style=\"position:absolute; inset:0; display:flex; flex-direction:column; gap:14px; align-items:center; justify-content:center; padding:16px; text-align:center; background:#fff; font-family:Arial,sans-serif;\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cndc-topbar\">\n<div class=\"cndc-topbar-fill\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cndc-skeleton\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block sk-title\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block sk-wide\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cndc-spinner\" aria-label=\"Cargando\" role=\"status\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"cndc-texto\" style=\"color:#333;\">Cargando&#8230; espere por favor&#8230;<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->\/* Spinner circular *\/<!-- [et_pb_line_break_holder] -->.cndc-spinner {<!-- [et_pb_line_break_holder] -->  width: 36px; height: 36px;<!-- [et_pb_line_break_holder] -->  border: 3px solid rgba(0,0,0,0.12);<!-- [et_pb_line_break_holder] -->  border-top-color: #0c71c3;<!-- [et_pb_line_break_holder] -->  border-radius: 50%;<!-- [et_pb_line_break_holder] -->  animation: cndc-spin 0.9s linear infinite;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@keyframes cndc-spin { to { transform: rotate(360deg); } }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Barra indeterminada animada arriba *\/<!-- [et_pb_line_break_holder] -->.cndc-topbar { position:absolute; top:0; left:0; width:100%; height:3px; overflow:hidden; background:rgba(0,0,0,0.05); }<!-- [et_pb_line_break_holder] -->.cndc-topbar-fill { width:30%; height:100%; background:#0c71c3; animation:cndc-slide 1.2s ease-in-out infinite; }<!-- [et_pb_line_break_holder] -->@keyframes cndc-slide { 0%{transform:translateX(-100%);} 50%{transform:translateX(60%);} 100%{transform:translateX(200%);} }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Skeleton shimmer *\/<!-- [et_pb_line_break_holder] -->.cndc-skeleton { width:min(780px, 92%); display:flex; flex-direction:column; gap:10px; margin-top:10px; }<!-- [et_pb_line_break_holder] -->.sk-block {<!-- [et_pb_line_break_holder] -->  height:14px;<!-- [et_pb_line_break_holder] -->  border-radius:8px;<!-- [et_pb_line_break_holder] -->  background: linear-gradient(90deg, #eee 25%, #e6e6e6 37%, #eee 63%);<!-- [et_pb_line_break_holder] -->  background-size: 400% 100%;<!-- [et_pb_line_break_holder] -->  animation: cndc-shimmer 1.3s ease-in-out infinite;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.sk-title { height:20px; width:60%; margin:0 auto 4px auto; }<!-- [et_pb_line_break_holder] -->.sk-wide { width:92%; margin:0 auto; height:14px; }<!-- [et_pb_line_break_holder] -->.cndc-skeleton .sk-block:not(.sk-title):not(.sk-wide) { width:80%; margin:0 auto; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@keyframes cndc-shimmer {<!-- [et_pb_line_break_holder] -->  0% { background-position: 100% 0; }<!-- [et_pb_line_break_holder] -->  100% { background-position: 0 0; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* (Opcional) peque\u00f1a animaci\u00f3n de entrada\/salida *\/<!-- [et_pb_line_break_holder] -->.cndc-overlay { animation: cndc-fade-in 180ms ease; }<!-- [et_pb_line_break_holder] -->@keyframes cndc-fade-in { from{opacity:0} to{opacity:1} }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(() => {<!-- [et_pb_line_break_holder] -->  const iframe = document.getElementById('visor-cndc');<!-- [et_pb_line_break_holder] -->  const msg = document.getElementById('msg-cndc');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ --- Intro m\u00ednimo (1s) ---<!-- [et_pb_line_break_holder] -->  let introMinUntil = 0;<!-- [et_pb_line_break_holder] -->  function startIntro() {<!-- [et_pb_line_break_holder] -->    introMinUntil = performance.now() + 1000;<!-- [et_pb_line_break_holder] -->    showMessage('intro');<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function waitIntro() {<!-- [et_pb_line_break_holder] -->    const ms = introMinUntil - performance.now();<!-- [et_pb_line_break_holder] -->    return ms > 0 ? new Promise(r => setTimeout(r, ms)) : Promise.resolve();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function showMessage(modeOrHtml) {<!-- [et_pb_line_break_holder] -->    msg.style.display = 'flex';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (modeOrHtml === 'intro') {<!-- [et_pb_line_break_holder] -->      msg.innerHTML = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-topbar\">\n<div class=\"cndc-topbar-fill\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-skeleton\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-title\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-wide\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-spinner\" aria-label=\"Cargando\" role=\"status\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div style=\"color:#333;\">Cargando... espere por favor...<\/div>\n<p><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    } else if (modeOrHtml === 'loading') {<!-- [et_pb_line_break_holder] -->      msg.innerHTML = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-topbar\">\n<div class=\"cndc-topbar-fill\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-skeleton\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-title\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-wide\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-spinner\" aria-label=\"Cargando\" role=\"status\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div style=\"color:#333;\">Cargando\u2026<\/div>\n<p><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      msg.innerHTML = `<\/p>\n<div style=\"max-width:760px; line-height:1.5; color:#333;\">${modeOrHtml}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function hideMessage() { msg.style.display = 'none'; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ --- Backend fecha ---<!-- [et_pb_line_break_holder] -->  async function fetchUltimaFecha() {<!-- [et_pb_line_break_holder] -->    const r = await fetch('https:\/\/backend.cndc.bo\/api\/last_date_category_1_simple.php');<!-- [et_pb_line_break_holder] -->    let raw = (await r.text()).trim();<!-- [et_pb_line_break_holder] -->    if (raw.includes(',')) raw = raw.split(',').slice(1).join(',').trim();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let m = raw.match(\/^(\\d{4})-(\\d{2})-(\\d{2})$\/);<!-- [et_pb_line_break_holder] -->    if (m) {<!-- [et_pb_line_break_holder] -->      const yyyy = m[1], mm = m[2], dd = m[3];<!-- [et_pb_line_break_holder] -->      return { yyyy, mm, dd, ddmmaa: `${dd}${mm}${yyyy.slice(2)}` };<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const meses = {<!-- [et_pb_line_break_holder] -->      'enero':'01','febrero':'02','marzo':'03','abril':'04','mayo':'05','junio':'06',<!-- [et_pb_line_break_holder] -->      'julio':'07','agosto':'08','septiembre':'09','setiembre':'09','octubre':'10',<!-- [et_pb_line_break_holder] -->      'noviembre':'11','diciembre':'12'<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    const norm = raw.toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'').replace(\/\\s+\/g,' ').trim();<!-- [et_pb_line_break_holder] -->    m = norm.match(\/^(\\d{1,2})\\s+de\\s+([a-z\u00f1]+)\\s+de\\s+(\\d{4})$\/i);<!-- [et_pb_line_break_holder] -->    if (m) {<!-- [et_pb_line_break_holder] -->      const dd = String(m[1]).padStart(2,'0'), mesNombre = m[2], yyyy = m[3];<!-- [et_pb_line_break_holder] -->      const mm = meses[mesNombre];<!-- [et_pb_line_break_holder] -->      if (!mm) throw new Error('Mes no reconocido: ' + mesNombre);<!-- [et_pb_line_break_holder] -->      return { yyyy, mm, dd, ddmmaa: `${dd}${mm}${yyyy.slice(2)}` };<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    throw new Error('Formato de fecha inesperado: ' + raw);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  async function resolveUrl(url) {<!-- [et_pb_line_break_holder] -->    let infoFecha = null;<!-- [et_pb_line_break_holder] -->    if (typeof url !== 'string') throw new Error('URL inv\u00e1lida (no es texto).');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (url.includes('{ddmmaa}')) {<!-- [et_pb_line_break_holder] -->      infoFecha = await fetchUltimaFecha();<!-- [et_pb_line_break_holder] -->      url = url.replaceAll('{ddmmaa}', infoFecha.ddmmaa);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    const m = url.match(\/\\\/([^\\\/?#]+\\.htm)(?:[?#].*)?$\/i);<!-- [et_pb_line_break_holder] -->    const archivo = m ? m[1] : null;<!-- [et_pb_line_break_holder] -->    return { url, archivo, infoFecha };<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ HEAD robusto (evita falsos negativos)<!-- [et_pb_line_break_holder] -->  async function headExists(url) {<!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      const r = await fetch(url, { method: 'HEAD' });<!-- [et_pb_line_break_holder] -->      if (r.status === 405) return { verificable: false, ok: true }; \/\/ HEAD no permitido<!-- [et_pb_line_break_holder] -->      return { verificable: true, ok: r.ok };<!-- [et_pb_line_break_holder] -->    } catch {<!-- [et_pb_line_break_holder] -->      return { verificable: false, ok: true }; \/\/ CORS\/red, no bloquea<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  async function loadUrl(url) {<!-- [et_pb_line_break_holder] -->    await waitIntro();<!-- [et_pb_line_break_holder] -->    showMessage('loading');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let timeoutId = null;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      const { url: finalUrl, archivo, infoFecha } = await resolveUrl(url);<!-- [et_pb_line_break_holder] -->      const { verificable, ok } = await headExists(finalUrl);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (verificable && !ok) {<!-- [et_pb_line_break_holder] -->        await waitIntro();<!-- [et_pb_line_break_holder] -->        const fechaLegible = infoFecha ? `${infoFecha.dd}\/${infoFecha.mm}\/${infoFecha.yyyy}` : '\u2014';<!-- [et_pb_line_break_holder] -->        showMessage(`<!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 style=\"margin:0 0 8px; color:#B00020;\">No se encontr\u00f3 el archivo solicitado<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0 0 8px;\">Intentamos cargar: <strong>${archivo || '(desconocido)'}<\/strong><\/pee><!-- [et_pb_line_break_holder] -->          ${infoFecha ? `<pee style=\"margin:0 0 12px;\">Fecha consultada: <strong>${fechaLegible}<\/strong><\/pee>` : ''}<!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0;\"><!-- [et_pb_line_break_holder] -->            <a href=\"${finalUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#0c71c3; text-decoration:underline;\">Abrir el archivo directamente<\/a><!-- [et_pb_line_break_holder] -->          <\/pee><!-- [et_pb_line_break_holder] -->        `);<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Cache-buster para recargar aunque el src sea igual<!-- [et_pb_line_break_holder] -->      const cacheBuster = (finalUrl.includes('?') ? '&' : '?') + 't=' + Date.now();<!-- [et_pb_line_break_holder] -->      iframe.src = finalUrl + cacheBuster;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const onLoad = async () => {<!-- [et_pb_line_break_holder] -->        await waitIntro();<!-- [et_pb_line_break_holder] -->        hideMessage();<!-- [et_pb_line_break_holder] -->        iframe.removeEventListener('load', onLoad);<!-- [et_pb_line_break_holder] -->        if (timeoutId) clearTimeout(timeoutId);<!-- [et_pb_line_break_holder] -->      };<!-- [et_pb_line_break_holder] -->      iframe.addEventListener('load', onLoad);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      timeoutId = setTimeout(async () => {<!-- [et_pb_line_break_holder] -->        await waitIntro();<!-- [et_pb_line_break_holder] -->        showMessage(`<!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 style=\"margin:0 0 8px; color:#B00020;\">Tardando m\u00e1s de lo normal<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0 0 12px;\"><!-- [et_pb_line_break_holder] -->            Estamos cargando el recurso. Puede que el archivo a\u00fan no est\u00e9 publicado o el servidor est\u00e9 lento.<!-- [et_pb_line_break_holder] -->          <\/pee><!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0;\"><!-- [et_pb_line_break_holder] -->            <a href=\"${finalUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#0c71c3; text-decoration:underline;\">Abrir el archivo directamente<\/a><!-- [et_pb_line_break_holder] -->            &nbsp;|&nbsp;<!-- [et_pb_line_break_holder] -->            <a href=\"#\" onclick=\"location.reload(); return false;\" style=\"text-decoration:underline;\">Reintentar<\/a><!-- [et_pb_line_break_holder] -->          <\/pee><!-- [et_pb_line_break_holder] -->        `);<!-- [et_pb_line_break_holder] -->      }, 8000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    } catch (err) {<!-- [et_pb_line_break_holder] -->      await waitIntro();<!-- [et_pb_line_break_holder] -->      showMessage(`<!-- [et_pb_line_break_holder] -->        <\/p>\n<h3 style=\"margin:0 0 8px; color:#B00020;\">Error al preparar el visor<\/h3>\n<p><!-- [et_pb_line_break_holder] -->        <pee style=\"margin:0;\">${(err && err.message) ? err.message : 'Error desconocido.'}<\/pee><!-- [et_pb_line_break_holder] -->      `);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ ===== API p\u00fablica: la llama tu men\u00fa externo =====<!-- [et_pb_line_break_holder] -->  window.cargarIframe = async function (url, id) {<!-- [et_pb_line_break_holder] -->    \/\/ Marca activo en el men\u00fa EXTERNO (si existe en el DOM)<!-- [et_pb_line_break_holder] -->    if (id) {<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.menu-cndc h3.activo').forEach(el => el.classList.remove('activo'));<!-- [et_pb_line_break_holder] -->      const el = document.getElementById(id);<!-- [et_pb_line_break_holder] -->      if (el) el.classList.add('activo');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    startIntro();<!-- [et_pb_line_break_holder] -->    await loadUrl(url);<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ ===== Precarga inicial: SIEMPRE menu1 (sin duplicar loadUrl) =====<!-- [et_pb_line_break_holder] -->  document.addEventListener('DOMContentLoaded', () => {<!-- [et_pb_line_break_holder] -->    \/\/ No llamamos loadUrl aparte. cargarIframe ya hace todo.<!-- [et_pb_line_break_holder] -->    window.cargarIframe('https:\/\/www.cndc.bo\/php\/dload.php?f=precmp_{ddmmaa}.htm&d=boldia', 'menu1');<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programaci\u00f3n de la Operaci\u00f3n<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-2492","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/comments?post=2492"}],"version-history":[{"count":61,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2492\/revisions"}],"predecessor-version":[{"id":6062,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2492\/revisions\/6062"}],"wp:attachment":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/media?parent=2492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}