25 septiembre, 2023

EJEMPLO PRÁCTICO DE CÁLCULOS CON TYPESCRIPT. TERCER MÉTODO

Hola de nuevo!!

Espero que estéis bien y de vacaciones o a punto de empezarlas!, a mí todavía me quedan algunas semanas, pero pronto llegarán.

Sobre el post que escribí sobre un ejemplo práctico de cálculos con Typescript: EJEMPLO PRÁCTICO DE CÁLCULOS CON TYPESCRIPT y que a su vez era un método alternativo (y mejorado) de este otro: EJEMPLO PRÁCTICO DE ALGUNOS CÁLCULOS CON TYPESCRIPT.

Hoy me gustaría escribir un tercer ejemplo o método de como podemos realizar nuestros cálculos con Typescript y aplicar a varios casos determinadas casuísticas. El ejemplo será el inicial (el del cálculo de la Seguridad Social que ha de pagar una empresa por sus trabajadores y la suma del coste total.) Los detalles de los elementos del cálculo los tenéis en el post inicial.

El código de este script es el siguiente:

function main(workbook: ExcelScript.Workbook) {
  var miHoja = workbook.getWorksheet("Hoja1");
  var miRango = miHoja.getUsedRange();
  var fin = miRango.getRowCount();
  //indexamos valores
  var info = miHoja.getRangeByIndexes(1, 0, fin, 2).getValues();
  var ssocial = 0;
  // recorremos valores y aplicamos cálculos
  for (var i = 0; i < fin - 1; i++) {
    var miInfo = info[i];
    if (miInfo[1] < 4139.4 * 12) {
      ssocial = +miInfo[1] * 31.4 / 100;
    } else {
      ssocial = (4139.4 * 12 * 31.4) / 100;
    }
    //pasamos información a la hoja
    var tit= [["SEG SOCIAL", "TOTAL"]];
    miHoja.getRange("C1:D1").setValues(tit);
    miHoja.getCell(i + 1, 2).setValue(ssocial);
    miHoja.getCell(i + 1, 3).setValue(ssocial + +miInfo[1]);
  }
}

En este caso trabajamos también con un loop, pero para evitar que sea demasiado lento, debemos indexar los datos de las columnas previamente (variable info), de esta forma no tendremos que estar leyendo continuamente cuando recorramos los datos. Luego igualamos los datos de la matriz a otra variable que nos permitirá indicar la columna sobre la que estamos trabajando.

El resultado es muy rápido y eficiente. Sin duda a tener muy en cuenta a la hora de programar nuestros procesos en Typescript.

Y esto es todo, espero que os haya sido de utilidad!!.

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies