{"id":2525,"date":"2025-05-12T15:29:02","date_gmt":"2025-05-12T19:29:02","guid":{"rendered":"https:\/\/w3.cndc.bo\/?page_id=2525"},"modified":"2025-12-23T02:49:00","modified_gmt":"2025-12-23T06:49:00","slug":"resultados-para-transacciones-economicas","status":"publish","type":"page","link":"https:\/\/w3.cndc.bo\/index.php\/resultados-para-transacciones-economicas\/","title":{"rendered":"Resultados para Transacciones Econ\u00f3micas"},"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=\u00bbon\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=\u00bb9aef6593-28bd-4b52-a48e-d33ce30225ef\u00bb custom_margin=\u00bb|||25px|false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Resultados para Transacciones Econ\u00f3micas<\/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=\u00bb90%\u00bb custom_margin=\u00bb|||180px|false|false\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 hover_enabled=\u00bb0&#8243; locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;] <pee class=\"fecha-cndc\" data-api=\"https:\/\/backend.cndc.bo\/api\/last_date_category_3_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:\/\/backend.cndc.bo\/php\/dload.php?f=deener_{ddmmaa}.htm&#038;d=boldia&#8217;,&#8217;menu1&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Demanda de Energ\u00eda y Potencia<!-- [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:\/\/backend.cndc.bo\/php\/dload.php?f=inyecsti_{ddmmaa}.htm&#038;d=boldia&#8217;,&#8217;menu2&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Inyecciones de energ\u00eda al STI<!-- [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:\/\/backend.cndc.bo\/php\/dload.php?f=inyecsti_{ddmmaa}.png&#038;d=boldia&#8217;,&#8217;menu3&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Energ\u00eda horaria inyectada<!-- [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_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/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 min_height=\u00bb100vh\u00bb height=\u00bb100vh\u00bb max_height=\u00bb100vh\u00bb custom_padding=\u00bb|100px|||false|false\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/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] -->  <!-- Overlay de estado con loader + skeleton --><!-- [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 style=\"color:#333;\">Cargando\u2026<\/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] --><\/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] -->  \/\/ Cambia esta API si corresponde a otro \"category_X\"<!-- [et_pb_line_break_holder] -->  const apiFecha = 'https:\/\/backend.cndc.bo\/api\/last_date_category_3_simple.php';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* ---------- Intro de 1 segundo ---------- *\/<!-- [et_pb_line_break_holder] -->  let introUntil = 0;<!-- [et_pb_line_break_holder] -->  function startIntro(){<!-- [et_pb_line_break_holder] -->    introUntil = performance.now() + 1000; \/\/ 1s m\u00ednimo<!-- [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 = introUntil - 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] -->  \/* ---------- UI helpers ---------- *\/<!-- [et_pb_line_break_holder] -->  function showMessage(content) {<!-- [et_pb_line_break_holder] -->    msg.style.display = 'flex';<!-- [et_pb_line_break_holder] -->    if (content === '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 (content === 'loading') {<!-- [et_pb_line_break_holder] -->      \/\/ Loader est\u00e1ndar<!-- [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;\">${content}<\/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] -->  \/\/ Lee la fecha de la API y la convierte a ddmmaa<!-- [et_pb_line_break_holder] -->  async function fetchUltimaFecha() {<!-- [et_pb_line_break_holder] -->    const r = await fetch(apiFecha);<!-- [et_pb_line_break_holder] -->    let raw = (await r.text()).trim(); \/\/ puede ser \"YYYY-MM-DD\" o \"Martes, 12 de Agosto de 2025\"<!-- [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] -->    \/\/ Caso 1: ISO<!-- [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] -->    \/\/ Caso 2: Espa\u00f1ol \"DD de <mes> de YYYY\"<!-- [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]; 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');<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Reemplaza {ddmmaa} y extrae el nombre real del archivo (por el par\u00e1metro f=)<!-- [et_pb_line_break_holder] -->  async function resolveUrl(url) {<!-- [et_pb_line_break_holder] -->    let infoFecha = null;<!-- [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] -->    let archivo = null;<!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      const u = new URL(url);<!-- [et_pb_line_break_holder] -->      const f = u.searchParams.get('f');<!-- [et_pb_line_break_holder] -->      archivo = f || u.pathname.split('\/').pop();<!-- [et_pb_line_break_holder] -->    } catch {<!-- [et_pb_line_break_holder] -->      const m = url.match(\/[?&]f=([^&#]+)\/i);<!-- [et_pb_line_break_holder] -->      archivo = m ? decodeURIComponent(m[1]) : (url.split('\/').pop() || null);<!-- [et_pb_line_break_holder] -->    }<!-- [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 opcional (si CORS bloquea, seguimos)<!-- [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] -->      return { verificable: true, ok: r.ok };<!-- [et_pb_line_break_holder] -->    } catch {<!-- [et_pb_line_break_holder] -->      return { verificable: false, ok: true };<!-- [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] -->    \/\/ Espera a que se cumpla la intro de 1s ANTES de pasar al loader est\u00e1ndar<!-- [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] -->        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] -->      iframe.src = finalUrl;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const onLoad = async () => {<!-- [et_pb_line_break_holder] -->        await waitIntro(); \/\/ por si el load ocurre antes de cumplir el 1s<!-- [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] -->      \/\/ Fallback si demora<!-- [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] -->            Intentamos cargar: <strong>${archivo || '(desconocido)'}<\/strong>.<!-- [et_pb_line_break_holder] -->            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] -->             | <!-- [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] -->  \/\/ Exponer para el men\u00fa externo: cargarIframe('url','menuId')<!-- [et_pb_line_break_holder] -->  window.cargarIframe = async function (url, id) {<!-- [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] -->      document.getElementById(id)?.classList.add('activo');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    startIntro();        \/\/ \u2190 Intro de 1s en cada cambio de men\u00fa<!-- [et_pb_line_break_holder] -->    await loadUrl(url);  \/\/ loadUrl respeta la intro con waitIntro()<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Carga inicial por defecto (usa {ddmmaa}) con intro<!-- [et_pb_line_break_holder] -->  document.addEventListener('DOMContentLoaded', () => {<!-- [et_pb_line_break_holder] -->    startIntro(); \/\/ \u2190 Intro de 1s al inicio<!-- [et_pb_line_break_holder] -->    const defaultUrl = 'https:\/\/backend.cndc.bo\/php\/dload.php?f=deener_{ddmmaa}.htm&d=boldia';<!-- [et_pb_line_break_holder] -->    loadUrl(defaultUrl);<!-- [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>Resultados para Transacciones Econ\u00f3micas<\/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-2525","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2525","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=2525"}],"version-history":[{"count":21,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2525\/revisions"}],"predecessor-version":[{"id":6077,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2525\/revisions\/6077"}],"wp:attachment":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/media?parent=2525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}