Caducidad por fórmula

El plugin de caducidad por fórmula calcula las fechas de caducidad con una expresión de fórmula personalizada. Ofrece la máxima flexibilidad para reglas de caducidad complejas que no encajan en los patrones estándar.
Función avanzada: este plugin requiere escribir expresiones de fórmula. Para la mayoría de los casos, plantéate usar Caducidad relativa o Caducidad al final del periodo.
Cuándo usarlo
Usa este plugin cuando:
- Tus reglas de caducidad son demasiado complejas para los demás plugins
- La caducidad varía según cuándo se devengó el tiempo (mes, temporada, etc.)
- Necesitas una lógica de caducidad condicional
- Los plugins estándar no cumplen tus requisitos concretos
Parámetros
| Parámetro | Descripción | Predeterminado |
|---|---|---|
| Fórmula de caducidad | Una expresión que calcula la fecha de caducidad a partir de los componentes de la fecha del devengo y la función makeDate() | Obligatorio |
Sintaxis de la fórmula
Variables disponibles
| Variable | Tipo | Descripción | Ejemplo |
|---|---|---|---|
accrual_year | Número | Año del devengo | 2025 |
accrual_month | Número | Mes del devengo (1-12) | 3 para marzo |
accrual_day | Número | Día del devengo (1-31) | 15 |
Funciones disponibles
| Función | Descripción | Ejemplo |
|---|---|---|
makeDate(year, month, day) | Crea una fecha a partir de los componentes de año, mes y día | makeDate(2026, 12, 31) |
Operadores
- Aritméticos:
+,-,*,/ - De comparación:
<,<=,>,>=,==,!= - Lógicos:
&&(y),||(o),!(no) - Condicional:
condition ? value_if_true : value_if_false
Ejemplos
Fecha de caducidad fija
Todo el tiempo caduca el 31 de diciembre de 2026:
makeDate(2026, 12, 31)Final del año natural siguiente
El tiempo caduca el 31 de diciembre del año siguiente a su devengo:
makeDate(accrual_year + 1, 12, 31)Caducidad distinta según la temporada
El tiempo devengado en el primer semestre caduca de forma distinta que el del segundo:
accrual_month <= 6 ? makeDate(accrual_year + 2, 6, 30) : makeDate(accrual_year + 1, 12, 31)- Devengado de enero a junio: caduca el 30 de junio, dos años después
- Devengado de julio a diciembre: caduca el 31 de diciembre, un año después
Caducidad al final del trimestre
El tiempo caduca al final del trimestre, un año después del devengo:
accrual_month <= 3 ? makeDate(accrual_year + 1, 3, 31) :
accrual_month <= 6 ? makeDate(accrual_year + 1, 6, 30) :
accrual_month <= 9 ? makeDate(accrual_year + 1, 9, 30) :
makeDate(accrual_year + 1, 12, 31)Ejemplo de configuración
Para que el tiempo caduque al final del año siguiente:
- Añade el plugin Caducidad por fórmula a tu política
- Configura Fórmula de caducidad
así:
makeDate(accrual_year + 1, 12, 31) - Haz clic en Guardar
Solución de problemas
| Problema | Solución |
|---|---|
| Error de sintaxis en la fórmula | Comprueba que usas makeDate() para devolver un valor de fecha |
| La fórmula no se guarda | Comprueba que todos los paréntesis están equilibrados y que los operadores son correctos |
| Fechas de caducidad incorrectas | Prueba tu fórmula con fechas de ejemplo usando las variables |
| Hace falta una solución más sencilla | Plantéate usar Caducidad relativa o Caducidad al final del periodo |
Comparación con otros plugins
| Plugin | Lógica de caducidad |
|---|---|
| Caducidad relativa | N meses después de cada devengo |
| Caducidad al final del periodo | Final del ejercicio o del año de vacaciones + periodo de gracia |
| No caduca nunca | El tiempo no caduca nunca |
| Caducidad por fórmula | Cálculo personalizado |