{"id":1964,"date":"2024-07-16T14:35:42","date_gmt":"2024-07-16T14:35:42","guid":{"rendered":"https:\/\/ctmdefense.es\/?page_id=1964"},"modified":"2025-08-25T12:14:15","modified_gmt":"2025-08-25T13:14:15","slug":"subvenciones-administraciones-publicas","status":"publish","type":"page","link":"https:\/\/ctmdefense.es\/index.php\/subvenciones-administraciones-publicas\/","title":{"rendered":"Subvenciones Administraciones P\u00fablicas"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1964\" class=\"elementor elementor-1964\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ecec639 e-flex e-con-boxed e-con e-parent\" data-id=\"ecec639\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-efe3fc8 elementor-widget elementor-widget-html\" data-id=\"efe3fc8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!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>Transparencia - Subvenciones y Ayudas<\/title>\r\n  <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.2\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\r\n  <style>\r\n    body { background:#f8f9fa; }\r\n    .small-muted { font-size:.9rem; color:#6c757d; }\r\n    .list-link a { text-decoration: none; }\r\n    .list-link a:hover { text-decoration: underline; }\r\n    .badge-inst { font-weight: 500; }\r\n    .table thead th { white-space: nowrap; }\r\n    .form-range-value { min-width: 3rem; display:inline-block; text-align:right; }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <div class=\"container my-5\">\r\n    <header class=\"mb-4 text-center\">\r\n      <h1 class=\"mb-2\">Transparencia<\/h1>\r\n      <p class=\"text-muted\">Subvenciones, ayudas y transferencias p\u00fablicas recibidas<\/p>\r\n      <p class=\"small-muted\">\u00daltima actualizaci\u00f3n manual: 7 de agosto de 2025<\/p>\r\n      <p class=\"small\">\r\n        <a class=\"link-secondary\" href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/SUBVENCIONES-ADMINISTRACIONES-PUBLICAS.txt\" target=\"_blank\" rel=\"noopener\">\r\n          Subvenciones Administraciones P\u00fablicas (TXT)\r\n        <\/a>\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- ====== EXPLORAR & DESCARGAR ====== -->\r\n    <section class=\"mb-5\">\r\n      <div class=\"card shadow-sm\">\r\n        <div class=\"card-body\">\r\n          <div class=\"d-flex flex-wrap align-items-end gap-3 mb-3\">\r\n            <div class=\"flex-grow-1\">\r\n              <label class=\"form-label mb-1\">Buscar<\/label>\r\n              <input id=\"q\" type=\"search\" class=\"form-control\" placeholder=\"Filtra por concepto, referencia, observaciones...\">\r\n            <\/div>\r\n            <div>\r\n              <label class=\"form-label mb-1\">Instituci\u00f3n<\/label>\r\n              <select id=\"inst\" class=\"form-select\">\r\n                <option value=\"\">Todas<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div>\r\n              <label class=\"form-label mb-1\">A\u00f1o<\/label>\r\n              <select id=\"year\" class=\"form-select\">\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div>\r\n              <label class=\"form-label mb-1\">Importe m\u00edn. (\u20ac)<\/label>\r\n              <input id=\"minAmt\" type=\"number\" step=\"0.01\" class=\"form-control\" placeholder=\"0\">\r\n            <\/div>\r\n            <div>\r\n              <label class=\"form-label mb-1\">Importe m\u00e1x. (\u20ac)<\/label>\r\n              <input id=\"maxAmt\" type=\"number\" step=\"0.01\" class=\"form-control\" placeholder=\"\">\r\n            <\/div>\r\n            <div class=\"ms-auto d-flex gap-2\">\r\n              <button id=\"resetBtn\" class=\"btn btn-outline-secondary\">Limpiar<\/button>\r\n              <button id=\"csvBtn\" class=\"btn btn-primary\">Descargar CSV<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"table-responsive\">\r\n            <table id=\"dataTable\" class=\"table table-sm table-striped align-middle\">\r\n              <thead>\r\n                <tr>\r\n                  <th>Fecha<\/th>\r\n                  <th>A\u00f1o<\/th>\r\n                  <th>Instituci\u00f3n<\/th>\r\n                  <th>Concepto \/ Referencia<\/th>\r\n                  <th>Importe (\u20ac)<\/th>\r\n                  <th>Documento<\/th>\r\n                <\/tr>\r\n              <\/thead>\r\n              <tbody><!-- JS inject --><\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n          <div class=\"d-flex justify-content-between align-items-center mt-2\">\r\n            <small id=\"countInfo\" class=\"text-muted\"><\/small>\r\n            <small class=\"text-muted\">* Los importes con \u201c+\u201d indican abonos\/ingresos.<\/small>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ====== ACORDEONES POR INSTITUCI\u00d3N ====== -->\r\n    <div class=\"accordion\" id=\"accordionInstituciones\">\r\n\r\n      <!-- AYUNTAMIENTO DE BRE\u00d1A ALTA -->\r\n      <div class=\"accordion-item\">\r\n        <h2 class=\"accordion-header\" id=\"headingAyto\">\r\n          <button class=\"accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseAyto\" aria-expanded=\"true\" aria-controls=\"collapseAyto\">\r\n            Ayuntamiento de Bre\u00f1a Alta\r\n          <\/button>\r\n        <\/h2>\r\n        <div id=\"collapseAyto\" class=\"accordion-collapse collapse show\" aria-labelledby=\"headingAyto\" data-bs-parent=\"#accordionInstituciones\">\r\n          <div class=\"accordion-body\">\r\n            <ul class=\"mb-0\">\r\n              <li class=\"list-link\"><strong>Subvenci\u00f3n Nominativa 2024:<\/strong> Junio 2024 \u2014 <strong>7.000,00 \u20ac<\/strong><\/li>\r\n              <li class=\"list-link\"><strong>Subvenci\u00f3n Nominativa 2023:<\/strong> 12\/04\/2023 \u2014 <strong>5.000,00 \u20ac<\/strong><\/li>\r\n              <li class=\"list-link\"><strong>Subvenci\u00f3n Nominativa 2022:<\/strong> 12\/05\/2022 \u2014 <strong>5.000,00 \u20ac<\/strong><\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- CABILDO INSULAR DE LA PALMA -->\r\n      <div class=\"accordion-item\">\r\n        <h2 class=\"accordion-header\" id=\"headingCabildo\">\r\n          <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseCabildo\" aria-expanded=\"false\" aria-controls=\"collapseCabildo\">\r\n            Cabildo Insular de La Palma\r\n          <\/button>\r\n        <\/h2>\r\n        <div id=\"collapseCabildo\" class=\"accordion-collapse collapse\" aria-labelledby=\"headingCabildo\" data-bs-parent=\"#accordionInstituciones\">\r\n          <div class=\"accordion-body\">\r\n            <ul class=\"mb-4\">\r\n              <li class=\"list-link\">\r\n                <strong>Nominativa 2024 (Resoluci\u00f3n 2024\/2249, 12\/03\/2024):<\/strong>\r\n                <strong>6.720,00 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cabildo-6720.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>\r\n              <\/li>\r\n              <li><strong>Transferencia:<\/strong> 12\/06\/2025 \u2014 <strong>5.000,00 \u20ac<\/strong><\/li>\r\n              <li><strong>Transferencia:<\/strong> 31\/10\/2024 \u2014 <strong>5.504,27 \u20ac<\/strong><\/li>\r\n            <\/ul>\r\n\r\n            <h6 class=\"text-uppercase text-muted\">Programas y actividades<\/h6>\r\n            <ul>\r\n              <li class=\"list-link\">\r\n                <strong>Ayudas al Deporte 2022-2023:<\/strong> <strong>6.981,74 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cabildo-698174-P_COL_GENERICA.pdf\" target=\"_blank\" rel=\"noopener\">Actividades Deportivas 2022-2023 (PDF)<\/a>\r\n              <\/li>\r\n              <li class=\"list-link\">\r\n                <strong>Subvenci\u00f3n Nominativa temp. 2022\/2023:<\/strong> <strong>4.550,00 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cab.-12-04-2023-4550.pdf\" target=\"_blank\" rel=\"noopener\">Nominativa 2022\/2023 (PDF)<\/a>\r\n              <\/li>\r\n              <li class=\"list-link\">\r\n                <strong>Actividades Deportivas 2021-2022:<\/strong> <strong>6.861,07 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cabildo-686107-actividades-deport.\" target=\"_blank\" rel=\"noopener\">PDF<\/a>\r\n              <\/li>\r\n              <li class=\"list-link\">\r\n                <strong>Ejercicio 2022 (Aplicaci\u00f3n 341\/48925 \u00b7 RC n\u00ba 12022000016554):<\/strong> <strong>2.760,00 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cab-2022-2760.pdf\" target=\"_blank\" rel=\"noopener\">Nominativa 2022 (PDF)<\/a>\r\n              <\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- COMUNIDAD AUT\u00d3NOMA DE CANARIAS -->\r\n      <div class=\"accordion-item\">\r\n        <h2 class=\"accordion-header\" id=\"headingCA\">\r\n          <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseCA\" aria-expanded=\"false\" aria-controls=\"collapseCA\">\r\n            Comunidad Aut\u00f3noma de Canarias\r\n          <\/button>\r\n        <\/h2>\r\n        <div id=\"collapseCA\" class=\"accordion-collapse collapse\" aria-labelledby=\"headingCA\" data-bs-parent=\"#accordionInstituciones\">\r\n          <div class=\"accordion-body\">\r\n            <h6 class=\"text-uppercase text-muted\">\u00daltimas subvenciones y transferencias (2025)<\/h6>\r\n            <ul>\r\n              <li><strong>07\/08\/2025<\/strong> \u2014 Ref. 202500999270 \u2014 <strong>+ 2.101,01 \u20ac<\/strong><\/li>\r\n              <li><strong>08\/07\/2025<\/strong> \u2014 Ref. 202500845540 \u2014 <strong>+ 4.010,27 \u20ac<\/strong><\/li>\r\n              <li><strong>25\/06\/2025<\/strong> \u2014 Ref. 202500808617 \u2014 <strong>+ 13.529,86 \u20ac<\/strong><\/li>\r\n            <\/ul>\r\n\r\n            <h6 class=\"text-uppercase text-muted mt-4\">Ejercicios anteriores<\/h6>\r\n            <ul>\r\n              <li><strong>L\u00ednea 1 \/ 2024<\/strong> \u2014 Concepto 202400759846 \u2014 <strong>4.012,09 \u20ac<\/strong><\/li>\r\n              <li><strong>Transporte 2023-2024<\/strong>\r\n                <ul>\r\n                  <li>Segundo periodo \u2014 Ref. 202400589419 \u2014 <strong>1.909,18 \u20ac<\/strong><\/li>\r\n                  <li>Primer periodo \u2014 27\/12\/2023 \u2014 <strong>1.359,93 \u20ac<\/strong><\/li>\r\n                <\/ul>\r\n              <\/li>\r\n              <li><strong>Otros conceptos 2023<\/strong>\r\n                <ul>\r\n                  <li>Concepto 202301398537 \u2014 01\/12\/2023 \u2014 <strong>1.640,57 \u20ac<\/strong><\/li>\r\n                  <li>Concepto 202301161269 \u2014 17\/10\/2023 \u2014 <strong>1.928,81 \u20ac<\/strong><\/li>\r\n                  <li>Concepto 202300833145 \u2014 24\/07\/2023 \u2014 <strong>2.895,88 \u20ac<\/strong><\/li>\r\n                  <li>Referencia 202300066772 \u2014 17\/01\/2023 \u2014 <strong>720,78 \u20ac<\/strong><\/li>\r\n                <\/ul>\r\n              <\/li>\r\n              <li><strong>L\u00ednea 1 \u2014 Gastos de funcionamiento y gesti\u00f3n 2022<\/strong> \u2014 <strong>1.817,26 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/boc-a-2022-120-2032-181726.pdf\" target=\"_blank\" rel=\"noopener\">boc-a-2022-120-2032 (PDF)<\/a>\r\n              <\/li>\r\n              <li><strong>Subvenci\u00f3n transporte \u2014 Segundo periodo 2022<\/strong> \u2014 <strong>1.567,30 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/boc-a-2022-186-2909_2022_sgp.pdf-156730.pdf\" target=\"_blank\" rel=\"noopener\">boc-a-2022-186-2909_2022_sgp (PDF)<\/a>\r\n              <\/li>\r\n              <li><strong>Subvenci\u00f3n transporte \u2014 Primer periodo 2022<\/strong> \u2014 <strong>508,40 \u20ac<\/strong> \u2014\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/boc-a-2022-125-2109_prp-50840.pdf\" target=\"_blank\" rel=\"noopener\">boc-a-2022-125-2109_prp (PDF)<\/a>\r\n              <\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- DOCUMENTACI\u00d3N GENERAL -->\r\n      <div class=\"accordion-item\">\r\n        <h2 class=\"accordion-header\" id=\"headingDocs\">\r\n          <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseDocs\" aria-expanded=\"false\" aria-controls=\"collapseDocs\">\r\n            Documentaci\u00f3n y Memorias\r\n          <\/button>\r\n        <\/h2>\r\n        <div id=\"collapseDocs\" class=\"accordion-collapse collapse\" aria-labelledby=\"headingDocs\" data-bs-parent=\"#accordionInstituciones\">\r\n          <div class=\"accordion-body\">\r\n            <ul class=\"mb-0\">\r\n              <li class=\"list-link\">\r\n                <strong>Proyecto subvencionable 2022-2023 \u2014 Memoria de actuaci\u00f3n:<\/strong>\r\n                <a href=\"https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/04\/MEMORIA-2-DE-ACTUACION.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>\r\n              <\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <footer class=\"mt-5 text-center small text-muted\">\r\n      \r\n    <\/footer>\r\n  <\/div>\r\n\r\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.2\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\r\n  <script>\r\n    \/\/ ===== Utilidades =====\r\n    const parseEuroToNumber = (str) => {\r\n      if (str == null) return null;\r\n      \/\/ Admite formatos: \"1.234,56\", \"+ 1.234,56 \u20ac\", \"5000\", etc.\r\n      const clean = String(str)\r\n        .replace(\/\u20ac\/g,'')\r\n        .replace(\/\\s+\/g,'')\r\n        .replace(\/\\.\/g,'')\r\n        .replace(',', '.')\r\n        .replace(\/^\\+\/, '');\r\n      const n = Number(clean);\r\n      return isNaN(n) ? null : n;\r\n    };\r\n\r\n    const formatEuro = (n) => n.toLocaleString('es-ES', { style:'currency', currency:'EUR' });\r\n\r\n    \/\/ ===== Datos fuente (completos) =====\r\n    \/\/ Nota: \"doc\" puede estar vac\u00edo si no hay PDF.\r\n    const registros = [\r\n      \/\/ AYUNTAMIENTO DE BRE\u00d1A ALTA\r\n      { fecha:'2024-06-01', anio:2024, institucion:'Ayuntamiento de Bre\u00f1a Alta', concepto:'Subvenci\u00f3n Nominativa 2024', ref:'', importe:7000, doc:'' },\r\n      { fecha:'2023-04-12', anio:2023, institucion:'Ayuntamiento de Bre\u00f1a Alta', concepto:'Subvenci\u00f3n Nominativa 2023', ref:'', importe:5000, doc:'' },\r\n      { fecha:'2022-05-12', anio:2022, institucion:'Ayuntamiento de Bre\u00f1a Alta', concepto:'Subvenci\u00f3n Nominativa 2022', ref:'', importe:5000, doc:'' },\r\n\r\n      \/\/ CABILDO INSULAR DE LA PALMA\r\n      { fecha:'2024-03-12', anio:2024, institucion:'Cabildo Insular de La Palma', concepto:'Nominativa 2024 (Resoluci\u00f3n 2024\/2249 \u00b7 Apl. 341\/48925)', ref:'', importe:6720, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cabildo-6720.pdf' },\r\n      { fecha:'2025-06-12', anio:2025, institucion:'Cabildo Insular de La Palma', concepto:'Transferencia a favor', ref:'30581301-CABILDO INSULAR DE LA P', importe:5000, doc:'' },\r\n      { fecha:'2024-10-31', anio:2024, institucion:'Cabildo Insular de La Palma', concepto:'Transferencia a favor', ref:'30581301-CABILDO INSULAR DE LA P', importe:5504.27, doc:'' },\r\n\r\n      { fecha:'2023-06-30', anio:2023, institucion:'Cabildo Insular de La Palma', concepto:'Ayudas al Deporte 2022-2023', ref:'', importe:6981.74, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cabildo-698174-P_COL_GENERICA.pdf' },\r\n      { fecha:'2023-04-12', anio:2023, institucion:'Cabildo Insular de La Palma', concepto:'Subvenci\u00f3n Nominativa temp. 2022\/2023', ref:'Conv. 674855 \u00b7 Sol. 14 \u00b7 2023 SUBVNOM-DP', importe:4550, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cab.-12-04-2023-4550.pdf' },\r\n      { fecha:'2022-12-01', anio:2022, institucion:'Cabildo Insular de La Palma', concepto:'Actividades Deportivas 2021-2022', ref:'Conv. 619784 \u00b7 Sol. 23 \u00b7 2022 DEPO-ACTIV', importe:6861.07, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cabildo-686107-actividades-deport.' },\r\n      { fecha:'2022-01-15', anio:2022, institucion:'Cabildo Insular de La Palma', concepto:'Nominativa 2022 (RC n\u00ba 12022000016554)', ref:'Aplicaci\u00f3n 341\/48925', importe:2760, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/cab-2022-2760.pdf' },\r\n\r\n      \/\/ COMUNIDAD AUT\u00d3NOMA DE CANARIAS\r\n      { fecha:'2025-08-07', anio:2025, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Ingreso', ref:'202500999270', importe:2101.01, doc:'' },\r\n      { fecha:'2025-07-08', anio:2025, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Ingreso', ref:'202500845540', importe:4010.27, doc:'' },\r\n      { fecha:'2025-06-25', anio:2025, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Ingreso', ref:'202500808617', importe:13529.86, doc:'' },\r\n\r\n      { fecha:'2024-01-31', anio:2024, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'L\u00ednea 1 \/ 2024', ref:'Concepto 202400759846', importe:4012.09, doc:'' },\r\n      { fecha:'2024-03-31', anio:2024, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Transporte 2023-2024 (2\u00ba periodo)', ref:'Ref. 202400589419', importe:1909.18, doc:'' },\r\n      { fecha:'2023-12-27', anio:2023, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Transporte 2023-2024 (1\u00ba periodo)', ref:'', importe:1359.93, doc:'' },\r\n      { fecha:'2023-12-01', anio:2023, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Concepto 202301398537', ref:'', importe:1640.57, doc:'' },\r\n      { fecha:'2023-10-17', anio:2023, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Concepto 202301161269', ref:'', importe:1928.81, doc:'' },\r\n      { fecha:'2023-07-24', anio:2023, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Concepto 202300833145', ref:'', importe:2895.88, doc:'' },\r\n      { fecha:'2023-01-17', anio:2023, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Referencia 202300066772', ref:'', importe:720.78, doc:'' },\r\n      { fecha:'2022-06-30', anio:2022, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'L\u00ednea 1 \u00b7 Gastos de funcionamiento y gesti\u00f3n 2022', ref:'boc-a-2022-120-2032', importe:1817.26, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/boc-a-2022-120-2032-181726.pdf' },\r\n      { fecha:'2022-09-30', anio:2022, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Subvenci\u00f3n transporte (2\u00ba periodo 2022)', ref:'boc-a-2022-186-2909_2022_sgp', importe:1567.30, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/boc-a-2022-186-2909_2022_sgp.pdf-156730.pdf' },\r\n      { fecha:'2022-07-01', anio:2022, institucion:'Comunidad Aut\u00f3noma de Canarias', concepto:'Subvenci\u00f3n transporte (1\u00ba periodo 2022)', ref:'boc-a-2022-125-2109_prp', importe:508.40, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/07\/boc-a-2022-125-2109_prp-50840.pdf' },\r\n\r\n      \/\/ DOCUMENTACI\u00d3N \/ MEMORIA (no monetaria)\r\n      { fecha:'2023-06-30', anio:2023, institucion:'Documentaci\u00f3n', concepto:'Proyecto subvencionable 2022-2023 \u2014 Memoria de actuaci\u00f3n', ref:'', importe:null, doc:'https:\/\/ctmdefense.es\/wp-content\/uploads\/2024\/04\/MEMORIA-2-DE-ACTUACION.pdf' },\r\n    ];\r\n\r\n    \/\/ ===== Relleno selects din\u00e1micos =====\r\n    const instSel = document.getElementById('inst');\r\n    const yearSel = document.getElementById('year');\r\n    const uniq = (arr) => [...new Set(arr)];\r\n    uniq(registros.map(r => r.institucion)).sort().forEach(i=>{\r\n      const opt = document.createElement('option'); opt.value = i; opt.textContent = i; instSel.appendChild(opt);\r\n    });\r\n    uniq(registros.map(r => r.anio).filter(Boolean)).sort((a,b)=>b-a).forEach(y=>{\r\n      const opt = document.createElement('option'); opt.value = y; opt.textContent = y; yearSel.appendChild(opt);\r\n    });\r\n\r\n    \/\/ ===== Render tabla =====\r\n    const tbody = document.querySelector('#dataTable tbody');\r\n    const countInfo = document.getElementById('countInfo');\r\n\r\n    const normalize = (s) => (s||'').toString().toLowerCase().normalize('NFD').replace(\/\\p{Diacritic}\/gu,'');\r\n    const withinAmt = (amt, minv, maxv) => {\r\n      if (amt == null) return false; \/\/ Ocultamos filas sin importe al filtrar por importe\r\n      if (minv != null && amt < minv) return false;\r\n      if (maxv != null && amt > maxv) return false;\r\n      return true;\r\n    };\r\n\r\n    const renderRows = (rows) => {\r\n      tbody.innerHTML = '';\r\n      rows.sort((a,b)=> new Date(b.fecha) - new Date(a.fecha));\r\n      for (const r of rows) {\r\n        const tr = document.createElement('tr');\r\n        const fecha = new Date(r.fecha);\r\n        const fechaStr = fecha.toLocaleDateString('es-ES', { day:'2-digit', month:'2-digit', year:'numeric' });\r\n        const docHtml = r.doc ? `<a href=\"${r.doc}\" target=\"_blank\" rel=\"noopener\">Abrir<\/a>` : '';\r\n        const importeHtml = (r.importe==null) ? '\u2014' : formatEuro(r.importe);\r\n\r\n        tr.innerHTML = `\r\n          <td>${fechaStr}<\/td>\r\n          <td>${r.anio ?? ''}<\/td>\r\n          <td><span class=\"badge text-bg-light border badge-inst\">${r.institucion}<\/span><\/td>\r\n          <td><strong>${r.concepto}<\/strong>${r.ref ? ` <span class=\"text-muted\"> \u00b7 ${r.ref}<\/span>`:''}<\/td>\r\n          <td>${importeHtml}<\/td>\r\n          <td>${docHtml}<\/td>\r\n        `;\r\n        tbody.appendChild(tr);\r\n      }\r\n      countInfo.textContent = `${rows.length} registro(s) mostrados`;\r\n    };\r\n\r\n    \/\/ ===== Filtros =====\r\n    const qInput = document.getElementById('q');\r\n    const minAmtInput = document.getElementById('minAmt');\r\n    const maxAmtInput = document.getElementById('maxAmt');\r\n\r\n    const applyFilters = () => {\r\n      const q = normalize(qInput.value);\r\n      const inst = instSel.value;\r\n      const year = yearSel.value ? Number(yearSel.value) : null;\r\n      const minAmt = minAmtInput.value ? Number(minAmtInput.value) : null;\r\n      const maxAmt = maxAmtInput.value ? Number(maxAmtInput.value) : null;\r\n\r\n      const filtered = registros.filter(r=>{\r\n        const txt = normalize(`${r.institucion} ${r.concepto} ${r.ref}`);\r\n        if (q && !txt.includes(q)) return false;\r\n        if (inst && r.institucion !== inst) return false;\r\n        if (year && r.anio !== year) return false;\r\n        if (minAmt!=null || maxAmt!=null) {\r\n          if (!withinAmt(r.importe, minAmt, maxAmt)) return false;\r\n        }\r\n        return true;\r\n      });\r\n      renderRows(filtered);\r\n    };\r\n\r\n    qInput.addEventListener('input', applyFilters);\r\n    instSel.addEventListener('change', applyFilters);\r\n    yearSel.addEventListener('change', applyFilters);\r\n    minAmtInput.addEventListener('input', applyFilters);\r\n    maxAmtInput.addEventListener('input', applyFilters);\r\n\r\n    document.getElementById('resetBtn').addEventListener('click', ()=>{\r\n      qInput.value = '';\r\n      instSel.value = '';\r\n      yearSel.value = '';\r\n      minAmtInput.value = '';\r\n      maxAmtInput.value = '';\r\n      renderRows(registros);\r\n    });\r\n\r\n    \/\/ ===== CSV =====\r\n    const toCSV = (rows) => {\r\n      const esc = (v) => {\r\n        if (v==null) return '';\r\n        const s = String(v).replace(\/\"\/g,'\"\"');\r\n        return `\"${s}\"`;\r\n      };\r\n      const header = ['Fecha','A\u00f1o','Instituci\u00f3n','Concepto','Referencia','Importe','Documento'];\r\n      const lines = [header.map(esc).join(',')];\r\n      rows.forEach(r=>{\r\n        const fecha = new Date(r.fecha).toLocaleDateString('es-ES', { day:'2-digit', month:'2-digit', year:'numeric' });\r\n        lines.push([\r\n          fecha,\r\n          r.anio ?? '',\r\n          r.institucion,\r\n          r.concepto,\r\n          r.ref || '',\r\n          (r.importe==null ? '' : r.importe.toFixed(2).replace('.', ',')),\r\n          r.doc || ''\r\n        ].map(esc).join(','));\r\n      });\r\n      return lines.join('\\r\\n');\r\n    };\r\n\r\n    document.getElementById('csvBtn').addEventListener('click', ()=>{\r\n      \/\/ Aplicamos filtros actuales a \"registros\"\r\n      const q = normalize(qInput.value);\r\n      const inst = instSel.value;\r\n      const year = yearSel.value ? Number(yearSel.value) : null;\r\n      const minAmt = minAmtInput.value ? Number(minAmtInput.value) : null;\r\n      const maxAmt = maxAmtInput.value ? Number(maxAmtInput.value) : null;\r\n      const filtered = registros.filter(r=>{\r\n        const txt = normalize(`${r.institucion} ${r.concepto} ${r.ref}`);\r\n        if (q && !txt.includes(q)) return false;\r\n        if (inst && r.institucion !== inst) return false;\r\n        if (year && r.anio !== year) return false;\r\n        if (minAmt!=null || maxAmt!=null) {\r\n          if (!withinAmt(r.importe, minAmt, maxAmt)) return false;\r\n        }\r\n        return true;\r\n      });\r\n\r\n      const csv = toCSV(filtered);\r\n      const blob = new Blob([csv], {type:'text\/csv;charset=utf-8;'});\r\n      const url = URL.createObjectURL(blob);\r\n      const a = document.createElement('a');\r\n      a.href = url;\r\n      a.download = 'transparencia.csv';\r\n      document.body.appendChild(a);\r\n      a.click();\r\n      a.remove();\r\n      URL.revokeObjectURL(url);\r\n    });\r\n\r\n    \/\/ Inicio\r\n    renderRows(registros);\r\n  <\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Transparencia &#8211; Subvenciones y Ayudas Transparencia Subvenciones, ayudas y transferencias p\u00fablicas recibidas \u00daltima actualizaci\u00f3n manual: 7 de agosto de 2025&hellip; <a class=\"continue\" href=\"https:\/\/ctmdefense.es\/index.php\/subvenciones-administraciones-publicas\/\">Seguir leyendo<span> Subvenciones Administraciones P\u00fablicas<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"h5ap_radio_sources":[],"footnotes":""},"class_list":["post-1964","page","type-page","status-publish","hentry"],"aioseo_notices":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/pages\/1964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/comments?post=1964"}],"version-history":[{"count":40,"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/pages\/1964\/revisions"}],"predecessor-version":[{"id":5096,"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/pages\/1964\/revisions\/5096"}],"wp:attachment":[{"href":"https:\/\/ctmdefense.es\/index.php\/wp-json\/wp\/v2\/media?parent=1964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}