Pregunta:
Me gustaría utilizar el último día de un mes determinado para asignar una fecha de vencimiento, por ejemplo. ¿Cómo puedo obtener el último día del mes en un flujo de trabajo?
Respuesta:
La obtención del último día de un mes puede realizarse mediante el uso de expresiones aritméticas .Tenga en cuenta el siguiente método a la hora de implementarlo en su sistema.
Dado que no tenemos un único método que nos obtenga el último día del mes, necesitaremos utilizar tres expresiones aritméticas para obtener este valor. En nuestro ejemplo, tenemos 3 Variables Globales de Texto creadas, LastDayOfMonth1, LastDayOfMonth2, y LastDayOfMonth3. Usaremosel siguiente enfoque,
- Obtener el primer día del mes en el que necesitamos el último día.
- Adelantar un mes
- Finalmente, restar 1 día para llegar al último día del mes que necesitamos.
En nuestro Workflow, tendremos un paso Asignar Datos con el siguiente aspecto,
Variable global del flujo de trabajo = Fecha = Entrada fija = primer día del mes
Variable global del flujo de trabajo = LastDayofMonth1 =Expresiones aritméticas = Date(GV_Date.Year,GV_Date.Month,1)
Variable global de flujo de trabajo = LastDayofMonth1 =Expresiones ar itméticas =DateAdd("m", 1, GV_LastDayOfMonth1)
Variable global de flujo de trabajo = LastDayofMonth1 =Expresiones aritméticas = DateAdd("d", 1, GV_Date.DateAdd("d", -1, GV_LastDayOfMonth2)
Con fines de prueba, se creó una variable global Date, que proporcionó Enero como el mes del que queremos el último día.
Date(GV_Date.Year,GV_Date.Month,1)
Este método requiere los siguientes parámetros, Año, Mes y Día. En nuestro ejemplo, estamos proporcionando el Año y el Mes de nuestra fecha colocando .Year y .Month al final de nuestra variable para recuperar esta información. Como sólo necesitamos el primer día del mes, utilizaremos 1 como último parámetro.
DateAdd("m", 1, GV_LastDayOfMonth1)
Estamos utilizando el método DateAdd para adelantar un mes, proporcionando "m" como primer parámetro para indicar que queremos modificar el mes, para el segundo parámetro, proporcionaremos 1 ya que queremos adelantar sólo un mes. Finalmente, proporcionaremos nuestra variableLastDayOfMonth1.
DateAdd("d", -1, GV_LastDayOfMonth2)
Nuestro último paso de este proceso es restar ahora un día para llegar al último día de nuestro mes objetivo, para lo cual utilizaremos una vez más el método DateAdd.
Al igual que en el último paso, usaremos "d" en el primer parámetro para indicar que queremos cambiar el día, luego usaremos -1 para restar un día a nuestra fecha, y finalmente proporcionaremos nuestra variable LastDayOfMonth2.
Al probar esto a través de un flujo de trabajo debería ver los siguientes resultados mostrados en el historial.