ABD Consultora Informática

CALCDATE en Microsoft Dynamics 365 Business Central

 

En el blog de hoy vamos a hablar sobre las fórmulas de fecha ya que se utilizan en multitud de sitios en Microsoft Dynamics 365 Business Central (en adelante BC), para el cálculo de fechas de vencimiento en facturas, para el cálculo de fechas de caducidad de productos, para establecer la periodicidad de los diarios periódicos, etc.

Quiero mostrar cómo se calcula por código, reportando alguna información recolectada de varias partes sobre el cálculo de fechas a través de dateformula
calcdate , ya que son muy utilizadas. Y podría ser útil, especialmente para aquellos que son nuevos en Business Central.

Empezaremos por enumerar las diferentes expresiones que se pueden utilizar en un campo de tipo Fórmula de Fecha.

Posteriormente las combinaremos para obtener expresiones complejas y para acabar, daremos algunos ejemplos de cálculos de fecha que pueden ser de interés.

Sintáxis

Calcula una nueva fecha que se basa en una expresión de fecha y una fecha de referencia.

NewDate := CALCDATE(DateExpression [, Date])

Parámetros

C = Actual
D = Día
W = Semana
M = Mes
Q = Trimestre
Y = Año
CD = Día actual
CW = Semana actual
CM = Mes actual

CM  última fecha del mes actual
<-CM>  primera fecha del mes actual

+D  primera fecha del próximo mes
-1M  retroceder un mes

Puede parecer complicado, pero no lo es en absoluto.

Combinaciones

2D = 2 días a partir de hoy
3W = 3 semanas a partir de hoy
D12 = El próximo 12° día de un mes
WD5 = El próximo 5° día de una semana (jueves)
CM+20D = Mes actual + 20 días
-1Y = Hace 1 año desde hoy

Ejemplo de cálculo: primeros y últimos días

Primer día del mes: <-CM>
Último día del mes: <+CM>
Último día del próximo mes: <+1M+CM>

CalcDate

NewDate := CALCDATE(DateExpression [, Date])
DateExpression = [][][]
= []
= + | –
= | |
= Entero positivo
= D | WD | W | m | Q | Y (D=día, WD=día de la semana, W=semana, M=mes, Q=trimestre, Y=año) =
C (C=actual)

Estas reglas muestran que las expresiones de fecha constan de cero, una, dos o tres subexpresiones.
Cada subexpresión consta de un signo opcional y un término.

Los siguientes son algunos ejemplos típicos de términos:
30D (30 días; corresponde a <Número><Unidad>)
WD2 (día de la semana número 2; corresponde a <Unidad><Número>)
CW (semana actual; corresponde a <Prefijo><Unidad>)

El calendario interno de Dynamics NAV comienza el lunes y finaliza el domingo. Esto significa que el lunes es el día de semana 1 y el domingo es el día de semana 7.

Ejemplos en Visual Studio Code

  • En este ejemplo, calculamos una fecha de vencimiento, a partir del día actual (TODAY), y le sumamos un día.

calcdate: las fórmulas de fecha ya que se utilizan en multitud de sitios en Dynamics 365 Business Central

  • En el siguiente ejemplo, calculamos con la función GETRANGEMIN, la fecha menor dentro de un rango de fechas («Date Filter»), y calculamos a partir de esa fecha, sumando 3 meses y le restamos un día..
  • Calcdate: formulas para el cálculo de fechas de vencimiento en facturas, para el cálculo de fechas de caducidad de productos
  • En este ejemplo, creamos una pagina nueva y en el trigger que se ejecuta al abrirla metemos el siguiente código que calcula tres fechas distintas:

    Calcdate Business Central: creamos una pagina nueva y en el trigger que se ejecuta al abrirla metemos el siguiente código que calcula tres fechas distintas

 

En el siguiente enlace de Microsoft tenéis en detalle la descripción de la función calcdate con la que podéis realizar cálculos de fechas a partir de una fecha y una expresión determinada. https://learn.microsoft.com/es-es/dynamics-nav/calcdate-function–date- 

Espero que os sirva de ayuda.

 

Si te intereso el articulo, lee también: ¿Cómo cambiar dimensiones de elementos en Dynamics 365 Business Central? (2024)

 

Conchi Beltrán Reyes

Programación Dynamics
ABD Consultoría y Soluciones Informáticas

Tabla de contenidos

Compartir articulo
LinkedIn
Suscribete a la Newsletter




    Etiquetas