Realizar operaciones con fechas

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio > Operaciones con fechas y temporizadores >

Realizar operaciones con fechas

Muchas situaciones de negocio necesitan comparar fechas y realizar cálculos con ellas. Esta sección presenta varios ejemplos de cómo realizar operaciones comunes entre fechas.

 

Asignar la fecha de hoy a un atributo de tipo fecha.

Comparar fechas

Restar fechas

Restar fechas de acuerdo al esquema de trabajo de un usuario

Agregar fechas

Agregar fechas de acuerdo al esquema de trabajo

Agregar fechas de acuerdo al esquema de trabajo de un usuario

Verificar si una fecha es un día de trabajo

Verificar si una fecha es un día de trabajo para un usuario específico

Verificar si una hora es una hora de trabajo

Verificar si una hora es una hora de trabajo para un usuario específico

Calcular la edad

Dar formato a fechas

Convertir una fecha de la zona horaria de un usuario a la zona del servidor

Otros métodos

 

Para ilustrar cómo funcionan las operaciones entre fechas lea el siguiente ejemplo: El administrador del proceso Solicitud de Vacaciones maneja las actividades necesarias para aprobar las vacaciones de un empleado. Cuando un empleado crea una solicitud, este debe ingresar la fecha de salida y la fecha de regreso. Utilizando estos valores, el sistema calcula el número de días solicitados.

 

En el ejemplo vamos a utilizar operaciones entre fechas para:

 

Asignar la fecha de hoy como fecha de la solicitud (atributo RequestDate)

Definir la duración de las actividades

Verificar que la fecha de regreso de vacaciones sea mayor a la fecha de salida, si no, se debe mostrar un  mensaje de validación.

Calcular el número de días solicitados.

 

El siguiente es el modelo de datos del proceso.

 

DateOperations1

 

Asignar la fecha de hoy a un atributo

Para asignar la fecha de hoy al atributo Request Date, seleccione la opción Acciones de la actividad del paso cuatro del asistente.

Dé clic en la actividad donde desea agregar la expresión.

 

DateOperations2

 

Incluya un elemento de expresión y seleccione el atributo sobre el cual se va a hacer la asignación.

Use la opción Modelo de datos para navegar a través del Modelo de datos.

 

DateOperations3

 

Asigne la fecha de hoy al atributo utilizando la función Today de la categoría Fechas y tiempos.

 

DateOperations4

 

La expresión debe lucir de la siguiente forma:

 

DateOperations5

 

<VacationRequest.RequestDate>=DateTime.Today;

 

Clic en Ok para guardar los cambios.

 

Comparar Fechas

En este punto es necesario validar que la fecha de regreso de las vacaciones sea mayor a la fecha de salida. Si no, se debe mostrar un mensaje al usuario final. Para hacer esto es necesario realizar una comparación entre las fechas.

 

1. En el cuarto paso del Asistente, seleccione la opción Acciones de la actividad.

Dé clic en la tarea donde la acción será ejecutada y cree una expresión.

 

DateOperations2

 

2. En el elemento de expresión, cree la comparación utilizando los operadores menor que, mayor que o igual que (<,> o =).

 

DateOperations7

 

3. Cree la condición IF para comparar los atributos.

 

DateOperations8

 

Se debe mostrar un mensaje de error al usuario final cuando la fecha de regreso es menor que la fecha de salida.

Use la función Throw validation error de la categoría Validación de datos para configurar la validación.

 

DateOperations9

 

La expresión debe lucir de la siguiente forma:

 

DateOperations10

 

// Si la fecha de salida es mayor o igual a la fecha de regreso muestre el mensaje de error.
if (<VacationRequest.LeavingDate>>=<VacationsRequest.ReturningDate>)
{
  CHelper.ThrowValidationError("Returning Date cannot be less than the Leaving Date");
}

 

4. Guarde la regla dando clic en Ok.

Ahora puede probar la regla, si ingresa una fecha de regreso mayor que la fecha de salida se muestra el siguiente mensaje:

 

DateOperations19

 

Verificar si la fecha es un día laboral

Suponga que se quiere verificar la fecha de regreso del viaje es un día laboral. Si no es un día laboral se debe mostrar un mensaje de error, de lo contrario la aplicación continúa con la siguiente actividad.

 

1. En el cuarto paso del Asistente seleccione la opción Acciones de la actividad.

Dé clic en la actividad donde se ejecutará la acción y cree una Expresión.

 

DateOperations2

 

2. En un módulo de expresión cree un condición al if. Evalúe si la fecha de regreso es un día laboral utilizando la función IsWorkingDay de la categoría Validación de datos.

 

DateOperations32

 

Utilice como parámetro de entrada la fecha de regreso (ReturningDate) del modelo de datos.

 

DateOperations33

 

La función IsWorkingDay, regresará verdadero si la fecha es un día laboral, de lo contrario regresa falso.

 

DateOperations34

 

//Evalúa si el día es laboral
if (CHelper.IsWorkingDay(Me,<TravelRequest.ReturningDate>)==false)
{
  CHelper.ThrowValidationError("Returning day is non working.");
}

 

Guarde la regla dando clic en Ok.

 

Verificar si una fecha es un día laboral para un usuario específico

En un Proceso de Solicitud de Viaje usted puede iniciar un caso en la actividad de Registro de Solicitud. Usted debe ingresar la fecha de partida. Si la fecha de partida no es un día laboral para el solicitante, se debe mostrar una validación para evidenciar esta situación.

 

Para saber si la fecha de partida es un día laboral para el solicitante, usted puede utilizar la función CHelper.IsWorkingDayForUser. Este método devuelve Verdadero si un día específico es un día laboral de acuerdo al esquema de trabajo del usuario. En otro caso, devuelve Falso.

 

Esta función utiliza dos parámetros:

 

idUser: Id del usuario para el cual se evalúa el día laboral.

dtDate: Fecha a evaluar.

 

La sintaxis de esta función es:

CHelper.IsWorkingDayForUser(idUser,dtDate)

 

Cree una expresión como una acción A la Salida de la actividad Registrar solicitud.

 

CHelper31

 

Use la función IsWorkingDayForUser utilizando como parámetro la fecha de partida y el identificador del creador del caso.

 

CHelper33

 

//Obtenga el identificador del creador del caso

var Creator=Me.Case.Creator.Id;

//Evalúe si la fecha de partida es un día laboral para el solicitante

if (CHelper.IsWorkingDayForUser(Creator,<TravelRequest.LeavingDate>)==false)

{

CHelper.ThrowValidationError("Depart day is non working.");

}

 

Verificar si una hora es una hora laboral

Suponga que usted tiene un proceso en el cual se debe programar una reunión (una fecha y hora específica).
Usted desea validar si la fecha seleccionada por el usuario final es una hora laboral bajo el esquema laboral de la organización.

 

Para saber si la hora tentativa de la reunión es una hora laboral, usted puede hacer uso de la función CHelper.IsWorkingMinute. Este método devuelve Verdadero si una fecha específica cae bajo el esquema de trabajo de la organización. De lo contrario, devuelve Falso.

 

Esta función utiliza dos parámetros:

 

Me

dtDate: Fecha a evaluar. Esta considera el día calendario así como la hora definida para este.

 
La sintaxis de esta función es:

CHelper.IsWorkingMinute(Me,dtDate)

 

Cree una expresión como una acción a la salida de la tarea donde se programa la reunión.

 

CHelper59

 

Utilice la función IsWorkingMinute usando como parámetro de entrada la fecha de la reunión. Así mismo, utilice una validación para notificar al usuario final que la fecha seleccionada no es una opción válida (si ese es el caso).

 

Chelper58

 

//Evalúe si la fecha de la reunión es una hora laboral

if (CHelper.IsWorkingMinute(Me,<TravelRequest.LeavingDate>)==false)

{

CHelper.ThrowValidationError("Meeting hour is non working.");

}

 

Verificar si una hora es una hora laboral para un usuario específico

Suponga que tiene un proceso en el cual, el jefe del usuario creador del caso necesita agendar una reunión con él (una fecha y una hora específica.
Usted desea validar que la fecha seleccionado por el jefe es una hora laboral para el esquema de trabajo del usuario creador del caso.

 

Para saber si la hora de reunión es una hora laboral, utilice la función CHelper.IsWorkingMinuteForUser. Este método retorna Verdadero si una fecha específica cae bajo el esquema de trabajo de un usuario dado. De lo contrario, retorna Falso.

 

Esta función utiliza dos parámetros:

 

idUser: Identificador del usuario al cuál se le evalúa el minuto laboral.

dtDate: Fecha a evaluar. Considere el día calendario como el tiempo definido (hora del día).

 
La sintaxis de esta función es:

 

CHelper.IsWorkingMinuteForUser(idUser,dtDate)

 

Cree una expresión Al Salir de la Tarea donde se programa la reunión.

 

CHelper96

 

Utilice la función IsWorkingMinuteForUser y asigne como parámetros el usuario creador del caso y la fecha de reunión. También, use una validación para notificarle al usuario final que la fecha seleccionada no es una opción válida (de ser este el caso).

 

CHelper97

 

//Obtenga el id del creador
var Creator=Me.Case.Creator.Id;
//Evalúe si la hora de reunión es una hora de trabajo del solicitante
if (CHelper.IsWorkingMinuteForUser(Creator,<Project.ResultsMeeting>)==false)
{
  CHelper.ThrowValidationError("Meeting hour is not in requester's working time.");  
}

 

Resta de fechas (diferencia entre fechas)

El siguiente ejemplo ilustra cómo encontrar la diferencia entre dos fechas: en días, años, horas o minutos. La función utilizada para el ejemplo retorna la diferencia de tiempo considerando solamente días laborales.

 

El número de días laborales de su solicitud serán calculados utilizando la  fecha de salida y de regreso de sus vacaciones.

 

1. En el cuarto paso del Asistente seleccione la opción Acciones de la actividad.

Seleccione la actividad donde se ejecutará esta acción y cree una expresión Al Guardar de la misma.

 

DateOperations2

 

2. Declare las variables fecha de inicio y fecha final dando clic en la opción Variables y luego seleccione la opción Nuevo.

 

DateOperations6

 

3. Inicialice las variables con los valores de los atributos correspondientes.

DateOperations11

 

4. La diferencia de fechas se guardará en un atributo del modelo de datos llamado NumberofBusinessDaysReq. Utilice la opción modelo de datos para incluir el atributo.

 

5. Utilice la función GetEffectiveDuration de la categoría Fechas y tiempos para calcular la diferencia de fechas.

 

DateOperations12

 

Los parámetros de la función son: una fecha de inicio (Start date) y una fecha de fin (End date).

En este caso, estas fechas son las variables StartDate y FinalDate declaradas previamente.

 

DateOperations13

 

//Inicializar variables
Start=<VacationRequest.LeavingDate>;
End=<VacationsRequest.ReturningDate>;
//Calcular los días de la solicitud y guardarlos en un atributo
<VacationRequest.NumberofBusinessDaysReques>=CHelper.getEffectiveDuration(Me,Start,End)/480;

 

Note que la expresión previa es dividida por 480.

La función retorna la diferencia en minutos; por lo tantom, el resultado se debe convertir a días. Por defecto, el tiempo de trabajo (laboral) para esta aplicación tiene 8 horas diarias (60 min.* 8 horas = 480 min) por lo que la respuesta se divide en 480. Si el resultado es requerido en minutos, la división puede ser omitida.

 

note_pin

El cálculo se realiza considerando el esquema laboral organizacional.

Es decir, la diferencia de fechas (desde la fecha de inicio hasta la fecha de fin) excluirá los periodos de tiempo no laborales.

 

Luego de que la expresión ejecute el cálculo, el valor podrá observarse en el campo Number of business days requested.

 

DateOperations20

 

Resta de fechas de acuerdo al esquema de trabajo de un usuario

El siguiente ejemplo ilustra cómo encontrar la diferencia entre dos fechas teniendo en cuenta el esquema de trabajo de un usuario específico: en días, años, horas o minutos. La función utilizada para el ejemplo retorna la diferencia de tiempo considerando solamente días laborales para dicho usuario.

 

El número de días laborales de su solicitud serán calculados utilizando la  fecha de salida y de regreso de sus vacaciones.

 

1. En el cuarto paso del Asistente seleccione la opción Acciones de la actividad.

Seleccione la actividad donde se ejecutará esta acción y cree una expresión Al Guardar de la misma.

 

DateOperations2

 

2. Declare las variables StartDate y FinalDate, dando clic en la opción Variables y luego seleccione la opción Editar.

 

DateOperations6

 

3. Inicialice las variables con los valores de los atributos correspondientes.

DateOperations11

 

4. La diferencia de fechas se guardará en un atributo del modelo de datos llamado NumberofBusinessDaysReq. Utilice la opción modelo de datos para incluir el atributo.

 

5. Utilice la función GetEffectiveDurationForUser de la categoría Fechas y tiempos para calcular la diferencia de fechas.

 

DateOperations12

 

Los parámetros de la función son: id del Usuario (idUser), una fecha de inicio (Start date) y una fecha de fin (End date).

En este caso el usuario es el solicitante de las vacaciones. La fecha de inicio y de fin serán las variables declaradas anteriormente.

 

DateOperations13

 

//Inicializar variables
Start=<VacationRequest.LeavingDate>;
End=<VacationsRequest.ReturningDate>;
//Calcular los días de la solicitud y guardarlos en un atributo
<VacationRequest.NumberofBusinessDaysReques> = CHelper.getEffectiveDurationForUser(<VacationRequest.Requester.idUser>, Start, End) / 480;

 

Note que la expresión previa es dividida por 480.

La función retorna la diferencia en minutos; por lo tanto, el resultado se debe convertir a días. Por defecto, el tiempo de trabajo (laboral) para esta aplicación tiene 8 horas diarias (60 min.* 8 horas = 480 min) por lo que la respuesta se divide en 480. Si el resultado es requerido en minutos, la división puede ser omitida.

 

note_pin

El cálculo se realiza considerando el esquema laboral del usuario especificado. Es decir, la diferencia de fechas (desde la fecha de inicio hasta la fecha de fin) excluirá los periodos de tiempo no laborales de dicho usuario.

 

Luego de que la expresión ejecute el cálculo, el valor podrá observarse en el campo Number of business days requested.

 

DateOperations20

 

Agregar fechas

Suponga que la última actividad del proceso de Solicitud de Vacaciones debe realizarse en los cinco días posteriores al regreso del empleado de sus vacaciones. Para calcular esa fecha, es necesario agregar cinco días al atributo.

Para realizar esta acción vamos a utiliza una función .NET que permite agregar días a un atributo o variable.

 

ResultingDate=Date.AddDays(Value);

 

Otras funciones .Net que permiten la adición de horas, meses o años:

 

ResultingDate=Date.AddHours(Value);

ResultingDate=Date.AddMonths(Value);

ResultingDate=Date.AddYears(Value);

 

Si quiere restar horas, días, meses o años, utilice la misma función pero con valores negativos:

ResultingDate=Date.AddDays(-Value);

 

Para establecer la duración de una tarea utilice la función Estimated Solution date.

 

1. En el cuarto paso del Asistente seleccione la opción Acciones de la actividad.

Seleccione la actividad donde se ejecutará esta acción y cree una expresión Al Guardar de la misma.

 

DateOperations18

 

2. Declare dos variables de tipo date time.

 

LeavingDate: Guarda el atributo Fecha de regreso de vacaciones del empleado.

FixedDate: Guarda la fecha límite derivada de la función, se utilizará para definir la duración de la tarea.

 

DateOperations14

 

3. La duración de la tarea se calcula con base en el atributo Fecha de regreso del modelo de datos. El valor del atributo será guardado en la variable ReturningDate.

 

DateOperations15

 

4. La fecha límite de la tarea. Se debe agregar cinco días a la fecha guardada en la variable ReturningDate.

El resultado será asignado a la variable FixedDate.

 

DateOperations16

 

5. Asigne la duración de la tarea utilizando la función Estimated solution date de la categoría Fechas y tiempos.

 

En la siguiente imagen muestra la expresión:

 

DateOperations17

 

//Obtener el valor de un atributo y guardarlo en una variable de tipo date time.
ReturningDate=<VacationRequest.ReturningDate>;
//Calcular la fecha límite y guardarlo en una variable de tipo date time
FixedDate=ReturningDate.AddDays(5);
//Asignar la duración de la actividad con base al cálculo realizado.
Me.EstimatedSolutionDate=FixedDate;

 

Dé clic en Ok para guardar cambios.

 

Calcular una fecha con base al esquema de trabajo

Suponga que necesita calcular una fecha con base a una fecha más cierto periodo de tiempo. Esto se debe hacer teniendo en cuenta el esquema de trabajo de la organización, de modo que no se incluyan periodos de tiempo no laborales.

 

La última actividad del proceso de Solicitud de Vacaciones debe ser completada en un máximo de cinco días laborales luego de que el empleado regrese de sus vacaciones.

 

Vamos a utilizar la función getEstimatedDate, la cual retorna una fecha, dada una fecha inicial (guardada en la variable dtFromDate) y un periodo de tiempo (5 días guardados en la variable iDuration), la función considera el esquema de trabajo. La duración de la función siempre se debe dar en minutos.

 

1. Siga los pasos 1-4 del ejemplo anterior.

 

2. Para calcular la nueva fecha utilice la función getEstimatedDate  de la categoría Fechas y tiempos.

 

DateOperations31

 

DateOperations29

 

La sintaxis para la función es:

 

CHelper.getEstimatedDate(Me,dtFromDate,iDuration)

 

note_pin

Esta función no considera los festivos configurados para la organización. Si su requerimiento de negocios necesita incluirlos, puede usar la función getSolutionDate.

 

Ambas funciones comparten los mismos atributos y la sintaxis para esta es:

 

CHelper.getSolutionDate(Me,dtFromDate,iDuration)

 

Note que la expresión anterior convierte días en minutos.

La conversión del parámetro iDuration es necesaria, ya que la función espera el valor en minutos. Por defecto, el esquema de trabajo tiene definido un día laboral de 8 horas. El total de minutos de los cinco días se calcula con la siguiente formula: 60 minutos de una hora por 8 horas por día y de nuevo por 5 días (5*8*60).

 

Finalmente asigne la duración de la tarea.

 

DateOperations30

 

///Obtener el valor de un atributo y guardarlo en una variable de tipo date time.
ReturningDate=<VacationRequest.ReturningDate>;
//Calcular la fecha límite y guardarlo en una variable de tipo date time
// Si necesita incluir los festivos de la organización, utilice
// FixedDate=CHelper.getSolutionDate(Me,ReturningDate,5*8*60);
FixedDate=CHelper.getEstimatedDate(Me,ReturningDate,5*8*60);
//Asignar la duración de la actividad con base al cálculo realizado.
Me.EstimatedSolutionDate=FixedDate;

 

Calcular una fecha con base al esquema de trabajo de un usuario

Suponga que necesita calcular la fecha de solución en un proceso interno de Administración Quejas y Reclamos, el usuario asignado para solucionar el incidente cuenta con seis días para enviar una respuesta de acuerdo a su esquema de trabajo. El solicitante y el usuario asignado pueden tener dos esquemas de trabajo diferentes debido a que la compañía tiene dos divisiones en dos países diferentes y cada usuario podría pertenecer a uno diferente.

 

Para saber la fecha de respuesta, usted puede usar la función CHelper.getEstimatedDateForUser. Este método retorna la fecha final dada una fecha inicial y un número de minutos. Este calculo se hace agregando o restando el número de minutos al parámetro de la fecha inicial basándose en el esquema de trabajo de un usuario específico.

 

Esta función utiliza tres parámetros:

 

idUser: Identificador del Usuario al cual se evaluará el esquema de trabajo.

dtFromDate: Fecha a la cual se le agregarán o restarán el número dado de minutos.

iDuration: Número de minutos a agregar o sustraer de la fecha inicial.

 

La sintaxis correcta es:

 

CHelper.getEstimatedDateForUser(idUser,dtFromDate,iDuration)

 

note_pin

Esta función no considera los festivos configurados para el usuario especificado. Si su requerimiento de negocios necesita incluirlos, puede usar la función getSolutionDateForUser.

 

Ambas funciones comparten los mismos atributos y la sintaxis para esta es:

 

CHelper.getSolutionDateForUser(idUser,dtFromDate,iDuration)

 

Cree una expresión Al Salir de la tarea Recibir Solicitud (Receive Request), la nueva expresión estará de última ya que el usuario asignado se establece en expresiones anteriores.

 

CHelper98

 

Utilice la función getEstimatedDateForUser y establezca como parámetros de entrada, el Id del usuario asignado, la fecha de apertura y los seis días representados en minutos (ingrese 6*8*60). Agregue el resultado al atributo correspondiente en su modelo de datos.

 

CHelper99

 

// Obtenga el usuario
var AssignedUser = <ClaimandComplaintRequest.Person.Id>;
// Calcule la fecha límite desde la fecha de apertura añadiendo 6 x 8 x 60 minutos

// Si necesita incluir los festivos de los usuarios, utilice:

// var AnswerDate = CHelper.getSolutionDateForUser(AssignedUser, <ClaimandComplaintRequest.OpeningDate>, 6*8*60);
var AnswerDate = CHelper.getEstimatedDateForUser(AssignedUser, <ClaimandComplaintRequest.OpeningDate>, 6*8*60);
// Establezca la fecha límite con el resultado de la función
<ClaimandComplaintRequest.DueDate> = AnswerDate;

 

Calcular una edad

Es posible obtener el día, mes o año especifico de una fecha guardada en un atributo. Esto es muy útil en situaciones donde se necesita realizar cálculos con base a esa información, por ejemplo el cálculo de la edad de una persona basándose en la fecha de nacimiento.

 

Suponga que necesita calcular la edad de un empleado, con base a la fecha de nacimiento almacenada en la entidad Empleado.

 

DateOperations21

 

1. Defina una expresión en la actividad donde se quiere calcular la edad del empleado.

 

DateOperations23

 

2. En el editor de expresiones, agregue cuatro variables como se muestra a continuación.

 

DateOperations22

 

3. Asigne el valor del atributo DateofBirth a la variable BirthDate.

Del mismo modo se asignará la fecha actual a la variable TodayDate.

 

DateOperations24

 

4. El cálculo de la edad necesita la porción del año, tanto del año de nacimiento como la del año actual en el formato número.

Separe cada fecha en tres segmentos diferentes: año, mes y días.

Respectivamente asigne la porción del año de cada año a las variables YearToday (año de la fecha de hoy), YearBirth (año de la fecha de nacimiento)

 

DateOperations25

 

DateOperations26

 

Reste los dos años como se muestra a continuación:

 

DateOperations27

 

//Inicializar variables
BirthDate=<VacationRequest.Employee.DateofBirth>;
Todaydate=DateTime.Today;
 
//Separar componentes
BirthDate=new DateTime(BirthDate.Year,BirthDate.Month,BirthDate.Day);
TodayDate=new DateTime(TodayDate.Year,TodayDate.Month,TodayDate.Day);
 
//Asignar años
YearBirth=BirthDate.Year;
YearToday=TodayDate.Year;
 
//Calcular edad
<VacationRequest.Employee.Age>=YearToday-YearBirth;

 

Clic en Ok para guardar cambios.

 

6. Si desea validar si la fecha de hoy cae después del cumpleaños, puede agregar la siguiente validación:

 

DateOperations28

 

//Validación de cumpleaños
if (BirthDate<TodayDate)
{
//Calculo de la edad
  <VacationRequest.Employee.Age>=YearToday-YearBirth;
}

 

Dar formato a fechas

Cuando necesite utilizar fechas en un atributo de tipo Fecha en un formato de fecha dado (i,e., MM/dd/yyyy HH:mm:ss), puede utilizar la función CHelper.FormatDate. Este método retorna la fecha en una cadena de texto formateada dada la fecha y el formato de ejemplo. Este métod es especialmente útil cuando está intentando acceder a Entidades no relacionadas al modelo de datos.

 

Esta función recibe dos parámetros:

 

oDate: atributo de tipo fecha al que se le dará formato.

sFormat: este parámetro contiene un patrón de formato estándar o personalizado que define el formato requerido. Para más información sobre formatos estándar, consulte este enlace.

 

La sintaxis que se debe utilizar es:

 

CHelper.FormatDate(oDate, sFormat)

 

Suponga que necesita darle formato a la Fecha de solicitud (Request Date) para que utilice el patrón Miércoles, Noviembre 1, 2017 11:35 AM.

 

1. Defina una expresión en la actividad donde le quiere dar formato a la Fecha.

 

DateOperations43

 

2. En el Editor de Expresiones, agregue las variables que se muestran a continuación:

 

DateOperations44

 

3. Asigne el valor almacenado en el atributo VacationRequest.RequestDate a la variable RequestDate.

 

DateOperations45

 

4. Invoque la función utilizando el patrón dddd, MMMM dd, yyyy hh:mm tt que coincide con el formato requerido.

Finalmente, asigne el resultado a su atributo respectivo en el Modelo de Datos.

 

DateOperations46

 

//Iniciar variables

RequestDate = <VacationRequest.RequestDate>;

 

//Dar formato a la fecha

FormatedDate = CHelper.FormatDate(RequestDate, "dddd, MMMM dd, yyyy hh:mm tt");

<VacationRequest.RequestDateFormated> = FormatedDate;

 

Dé clic en Ok para guardar los cambios.

 

Convertir una fecha de la zona horaria de un usuario a la zona del servidor

En proyectos globales con usuarios de todo el mundo, puede tener usuarios en diferentes zonas horarias. En algunos escenarios, es importante obtener una fecha en la zona horaria del servidor en comparación con la zona horaria del usuario. En entornos de nube, por ejemplo, el servidor siempre está en UTC, por lo que esta función resulta útil. puede utilizar la función CHelper.ConvertUserTimeToServerTime

 

Esta función recibe dos parámetros:

 

iIdUser: Id del usuario cuya zona horaria se utiliza para el cálculo

dDateTime: atributo DateTime para usar en el cálculo usando la zona horaria del usuario

 

La sintaxis a utilizar es:

 

CHelper.ConvertUserTimetoServerTime (iIdUser, dDateTime)

 

Esta función devuelve un atributo de fecha y hora en la zona horaria del servidor.

 

Por ejemplo, tiene un usuario en la zona horaria UTC -5 de Bogotá, el usuario es el usuario registrado actualmente que trabaja en la tarea y desea obtener la fecha de vencimiento de un producto que es 72 horas a partir de una fecha específica en la misma zona horaria de el servidor, por ejemplo en la nube que está en UTC. Entonces puedes usar la siguiente expresión:

 

DateOperations47

 

Otros metodos

Bizagi está construido sobre la base del marco de trabajo de Microsoft .Net. Por lo tanto, ALGUNOS de los métodos disponibles en este marco se pueden usar en Bizagi. Para las operaciones de confechas, puede utilizar cualquiera de los siguientes métodos en sus expresiones:

 

Add

AddDays

AddHours

Addmiliseconds

AddMinutes

AddMonths

AddSeconds

AddTicks

AddYears

Compare

CompareTo

DaysInMonth

Equals

FromBinary

FromFileTime

FromFileTimeUtc

FromOADate

GetDateTimeFormats

GetHasCode

GetTypeCode

IsLeapYear

Parse

ParseExact

SpecifyKind

Subtract

ToBinary

ToFileTime

ToFileTimeUtc

ToLocalTime

ToLongDateString

ToLongTimeString

ToOADate

ToShortDateString

ToString

ToUniversalTime

TryFormat

TryParse

TryParseExact

 

Todos estos métodos deben usarse con la siguiente sintaxis:

 

date.method

 

Por ejemplo:

//Variable fecha
var RequestDate= <CreditRequest.Customer.RequestDate>;
//Método
var NewRequestDate= RequestDate.AddMinutes(5);

 

note_pin

Todos los métodos distinguen entre mayúsculas y minúsculas. Tenga cuidado con las letras mayúsculas y minúsculas en el nombre del método.

 

Para más información acerca de estos métodos, refierase a la documentación de Microsoft .NET (versión 5.0):

 

https://docs.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0#methods


Last Updated 1/26/2022 4:13:10 PM