Hemos lanzado la versión 2.0 del sistema de gestión de sueldos Nexion PMS, con algunas mejoras que vale la pena destacar.
La primera de ellas tiene que ver con la posibilidad de liquidar varias veces el mismo período, y que el sistema detecte sin problemas los tramos de tiempo que ya han sido liquidados en otro Recibo, de manera de no liquidar de forma duplicada, especialmente al utilizar la familia de funciones ObtenerDiasLaborables, ObtenerDiasLiquidados, etc.
Para lograr esto se registran en la base de datos los tramos liquidados en cada Recibo y así, las funciones buscan los tramos activos del Legajo para el periodo requerido, pero que no exista un tramo de Recibo que lo contenga.
Esto puede permitirnos realizar varias liquidaciones del mismo periodo sin modificar el rango Desde y Hasta de la Liquidación, y el sistema correctamente obtendrá en la segunda liquidación los dias aún no liquidados del mismo periodo.
A veces las fórmulas pueden ser tan extensas que se puede hacer difícil volverlas a interpretar pasado bastante tiempo, con lo cual se dificulta cualquier cambio que deseemos realizar, lo que nos puede llevar bastante tiempo, posibilidad de cometer errores, etc.
Para mejorar la legibilidad del texto de la fórmula, podremos valernos de comentarios embebidos en el texto mismo de las fórmulas, de manera que al momento de querer realizar algún cambio, o simplemente refrescar algún concepto del que sea importante percatarnos, tengamos la posibilidad de hacerlo mediante su lectura.
Para realizar comentarios multi-linea se deben colocar entre /* y */, por ejemplo:
/*
* Este es un comentario
* que ocupa varias
* lineas consecutivas
*/
Y para hacer comentarios mas simples y cortos de una sola linea se debe comenzar con //, como aquí:
// Aqui estoy comentando la fórmula...
Por ejemplo, podríamos tener fórmulas comentadas como esta de un hipotetico 99 - 'Aguinaldo':
/*
* Si se detecta algún importe liquidado del
* concepto 98 - 'Aguinaldo proporcional' entonces
* no liquidar Aguinaldo
*/
ObtenerSumaConceptos('Importe', 98) > 0
? 0
: /*
* Si es Junio o Diciembre liquidar el Aguinaldo...
*/
Recibo.Periodo.Month == 6 or Recibo.Periodo.Month == 12
/*
* El calculo standard de aguinaldo
*/
? ObtenerMayorHaberPeriodo(FechaInicioSemestre, FechaFinSemestre) / 2
/*
* Cualquier otro periodo, no liquidar Aguinaldo
*/
: 0