Calendario Financiero
Selecciona tu calendario
Calendario financiero
Próximos eventos
Calendario histórico
septiembre
abril
diciembre


¡Hola!
Estamos realizando mejoras programadas en nuestros sistemas para ofrecerte un mejor servicio.
Por este motivo, algunas funcionalidades podrían no estar disponibles temporalmente desde el Miércoles 19 hasta el Jueves 20.
Te recordamos que puedes contactarnos a través de nuestro número telefónico gratuito, donde estaremos encantados de ayudarte con lo que necesites.
Agradecemos tu paciencia y comprensión mientras realizamos estas mejoras.
Selecciona tu calendario
27/03/2025
27
Mar 2025
29
Sep 2023
13
Sep 2023
13
Abr 2023
31
Dic 2022
23
Dic 2022
14
Dic 2022
27
Mar 2025
29
Sep 2023
13
Sep 2023
13
Abr 2023
31
Dic 2022
23
Dic 2022
14
Dic 2022
Java method "com.sun.proxy.$Proxy700.getCategoryProperty(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy700 object "com.liferay.asset.category.property.service.impl.AssetCategoryPropertyLocalServiceImpl@71691db2"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign categoryProperty = AssetCateg... [in template "20097#20123#1792680" at line 16, column 21] ----
1<style>
2 .container-calendario-financiero-historico {
3 min-height: 400px;
4 }
5</style>
6<#assign AssetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
7<#assign AssetCategoryPropertyLocalServiceUtil = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")>
8<#assign listadoCategorias = [] />
9<#if entries?has_content>
10 <#list entries as curVocabulary>
11 <#assign categories = curVocabulary.getCategories() />
12 <#if categories?has_content>
13 <#list categories?sort_by("modifiedDate")?reverse as category>
14 <#assign categoryAsset = AssetCategoryLocalServiceUtil.getAssetCategory(category.categoryId)/>
15 <#if categoryAsset??>
16 <#assign categoryProperty = AssetCategoryPropertyLocalServiceUtil.getCategoryProperty(category.categoryId, "orden")/>
17 <#assign listadoCategorias = listadoCategorias + [ {"sortField":categoryProperty.value?number, "categoryId":category.categoryId, "name": category.name, "description": category.description} ] />
18 </#if>
19 </#list>
20 </#if>
21 </#list>
22</#if>
23<div class="bg-hide-years d-block d-lg-none"></div>
24<div class="container-gs gap-10p container-scroll d-flex justify-content-right clasificacion-filtro py-0">
25 <#if listadoCategorias??>
26 <#list listadoCategorias?sort_by("sortField")?reverse as category>
27 <#assign categoryURL = renderResponse.createRenderURL() />
28
29 ${categoryURL.setParameter("resetCur", "true")}
30 ${categoryURL.setParameter("categoryId", category.categoryId?string)}
31
32 <a href="javascript:void(0)" id="anio-actual-${category.categoryId?string}" onClick="cambiarCategoriaAnioActual('${categoryURL}', 'anio-actual-${category.categoryId}', '${category.name}')" class="clasificacion-year-nav-btn btn filtro-anual-color categoria-clasificacion-actual <#if category.description == "IEDS"> active</#if>">${category.description}</a>
33 </#list>
34 </#if>
35</div>
36<script>
37 var imgOriginalActual = null;
38
39 var srcValueActual = "";
40
41 var contenidoSinResultado = "";
42
43 document.addEventListener('DOMContentLoaded', function() {
44 imgOriginalActual = document.querySelector('.gif-loader-saesa');
45 contenidoSinResultado = document.getElementsByClassName("sin-resultados")[0].innerHTML;
46 srcValueActual = imgOriginalActual.getAttribute('src');
47 document.getElementsByClassName("sin-resultados")[0].style.display="none";
48 mostrarPreLoading();
49 });
50
51 // Funcion que hace click sobre el primer anio
52 function clickPrimerAnioCalendario() {
53 var links = document.querySelectorAll('.container-gs.container-scroll a.categoria-clasificacion-actual');
54 var firstLink = links[0]; // Get the last link
55 if (firstLink) {
56 firstLink.click(); // Trigger click on the last link
57 }
58 }
59
60 <#if !renderRequest.getParameter("categoryId")??>
61 if (document.readyState === "loading") {
62 // Loading hasn't finished yet
63 document.addEventListener("DOMContentLoaded", clickPrimerAnioCalendario)
64 } else {
65 // `DOMContentLoaded` has already fired
66 clickPrimerAnioCalendario();
67 }
68 </#if>
69
70 function cambiarCategoriaAnioActual(urlCategoria, idCatLink, categoryName) {
71 // Función para cargar la imagen
72 function cargarImagen() {
73 return new Promise(function(resolve, reject) {
74 var imgElement = document.querySelector('.gif-loader-saesa');
75 imgElement.onload = function() {
76 console.log("[mostrarLoadingCal] Imagen cargada.");
77 resolve();
78 };
79 imgElement.setAttribute('src', srcValueActual + "?a=" + Math.random());
80 });
81 }
82
83 // Promesa para cargar la imagen
84 var promesaCargarImagen = cargarImagen();
85
86 // Cuando la imagen se carga, continuamos con la lógica
87 promesaCargarImagen.then(function() {
88 // Crear una nueva solicitud AJAX
89 var xhr = new XMLHttpRequest();
90 xhr.open('POST', urlCategoria, true);
91 mostrarLoadingCal();
92
93 // Configurar la lógica de tratamiento de respuesta
94 xhr.onload = function() {
95 if (this.status >= 200 && this.status < 300) {
96 // Obtener todos los elementos que contienen la parte específica del id
97 var idCats = document.querySelectorAll("div[id*='p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_']");
98
99 var parser = new DOMParser();
100 var doc = parser.parseFromString(this.response, "text/html");
101
102 // Actualizar el HTML del primer elemento de asset
103 var idCat = idCats[2].getAttribute("id");
104 var foo = doc.querySelector('#' + idCat);
105 var contentTitle = foo.querySelector('.wrapper-calendario-financiero-historico-container div h2');
106
107 if (foo) {
108 idCats[2].innerHTML = foo.innerHTML;
109 }
110 if (contentTitle) {
111 console.log("Con contenido");
112 document.getElementsByClassName("sin-resultados")[0].innerHTML=null;
113 document.querySelector(".wrapper-calendario-financiero-historico-container").classList.remove("d-none");
114 document.querySelector(".wrapper-calendario-financiero-historico-container").classList.add("d-flex");
115 } else {
116 console.log("Sin contenido");
117 document.querySelector(".container-calendario-financiero-historico").innerHTML=null;
118
119 var contenedorPrincipal = document.querySelector(".container-calendario-financiero-historico");
120 var sinResultadoHtml = document.querySelector(".sin-resultados").outerHTML;
121 contenedorPrincipal.insertAdjacentHTML("afterbegin", sinResultadoHtml);
122
123 document.querySelector(".sin-resultados").innerHTML=contenidoSinResultado;
124 document.getElementsByClassName("sin-resultados")[0].style.display = "flex";
125 }
126
127 // Remover la clase 'active' de todos los elementos con clase 'categoria-clasificacion-actual'
128 document.querySelectorAll(".categoria-clasificacion-actual").forEach(function(navLink) {
129 navLink.classList.remove("active");
130 });
131
132 // Imprimir en consola y añadir la clase 'active' al enlace de categoría específico
133 var activeNavLink = document.getElementById(idCatLink);
134 if (activeNavLink) {
135 activeNavLink.classList.add("active");
136 }
137 }
138 ocultarLoadingCal();
139 };
140
141 // Manejar errores de la solicitud
142 xhr.onerror = function() {
143 console.error('Error en la solicitud AJAX.');
144 ocultarLoadingCal();
145 };
146
147 // Enviar la solicitud
148 xhr.send();
149 });
150 return false;
151 }
152 // Metodo encargado de mostrar el loading
153 function mostrarPreLoading() {
154 console.log("[mostrarPreLoading] Inicio.");
155 document.getElementsByClassName("container-gs bonos-corporativos")[0].style.display = "none";
156 var loading = document.getElementById("loader-container");
157 loading.classList.add("d-flex");
158 loading.classList.remove("d-none");
159 console.log("[mostrarPreLoading] Fin.");
160 }
161 // Metodo encargado de mostrar el loading
162 function mostrarLoadingCal() {
163 document.getElementsByClassName("sin-resultados")[0].innerHTML=null
164 document.querySelector(".container-calendario-financiero-historico").innerHTML=null;
165
166 var contenedorPrincipal = document.querySelector(".container-calendario-financiero-historico");
167 var loading = document.getElementById("loader-container").outerHTML;
168 contenedorPrincipal.insertAdjacentHTML("afterbegin", loading);
169
170 var imgElement = document.querySelector('.gif-loader-saesa');
171 // Asignar al atributo src el valor inicial para reiniciar la animacion
172 imgElement.onload = function() {
173 // Una vez que la imagen se haya cargado, continuar con la lógica
174 continuarDespuesDeCargaImagenCal();
175 };
176 // Asignar al atributo src el valor inicial para reiniciar la animacion
177 imgElement.setAttribute('src', srcValueActual + "?a=" + Math.random());
178 }
179 // Metodo que se llama una vez que la imagen se haya cargado
180 function continuarDespuesDeCargaImagenCal() {
181 console.log("[continuarDespuesDeCargaImagenActual] Inicio.");
182 var loading = document.getElementById("loader-container");
183 loading.classList.add("d-flex");
184 loading.classList.remove("d-none");
185 console.log("[continuarDespuesDeCargaImagenActual] Fin.");
186 }
187 // Metodo encargado de ocultar el loading
188 function ocultarLoadingCal() {
189 var loading = document.querySelector("#loader-container");
190 loading.classList.add("d-none");
191 loading.classList.remove("d-flex");
192 }
193
194</script>
Grupo Saesa, está presente en toda la ruta de la energía, desde Generación en menor medida, Transmisión, Distribución y otros negocios.
Accede a nuestro reporte anual y revisa las diversas acciones llevadas a cabo por la compañía y los resultados obtenidos durante el año.
Programa dedicado a educar sobre el uso eficiente de la energía eléctrica en los hogares.
Accede a nuestro reporte anual y revisa las diversas acciones llevadas a cabo por la compañía y los resultados obtenidos durante el año.