Realizar operaciones con zonas horarias

<< 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 zonas horarias

Resumen

En muchos escenarios empresariales, es fundamental realizar comparaciones y cálculos precisos de fechas y horas, especialmente cuando se trabaja en diferentes zonas horarias. Esta sección presenta funciones clave de Bizagi que te ayudarán a gestionar operaciones relacionadas con zonas horarias de manera eficiente.

 

Al utilizar estas funciones, tenga en cuenta que la zona horaria de cada usuario se determina según la jerarquía definida en tu proyecto de Bizagi. Para más información, consulte la documentación sobre Gestión de Zonas Horarias.

 

Si necesita revisar o actualizar las zonas horarias de varios usuarios al mismo tiempo, considere agruparlos por Ubicación. De esta forma, todos los usuarios dentro de una misma ubicación heredarán la misma zona horaria, lo que permite realizar cálculos de fecha y hora de manera coherente y uniforme en todos tus procesos.

 

Convertir la hora del usuario a la zona horaria del servidor

Convertir la hora del servidor a una zona horaria específica

Convertir la hora del servidor a la zona horaria del usuario

Convertir una zona horaria específica a la hora del servidor

Obtener el desfase horario para una ubicación determinada

Obtener el desfase horario para una organización

Obtener el desfase horario para un usuario

Obtener el desfase horario para la zona horaria laboral

 

Para ilustrar cómo realizar operaciones con fechas, tomemos el siguiente ejemplo:

Un Proceso de Solicitud de Suministros de Oficina gestiona las actividades necesarias para solicitar y aprobar suministros de oficina. Cuando un empleado crea una solicitud, debe ingresar la Fecha de solicitud y la Fecha de cotización para cada cotización.

 

En este ejemplo, usaremos operaciones de fecha para:

Asignar la fecha actual al atributo RequestDate.

Establecer la duración de las actividades.

Verificar que la Fecha de recepción de productos sea posterior a la Fecha de solicitud. En caso contrario, mostrar un mensaje de validación.

 

El modelo de datos del proceso es el siguiente:

 

TimezoneOperations01

 

Convertir la hora del usuario a la zona horaria del servidor

Convierte un valor de fecha y hora relativo a la zona horaria del usuario a la zona horaria del servidor.

Para convertir el atributo RequestDate a la zona horaria del servidor:

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

ConvertUserTimetoServerTime(int idUser, DateTime userTime);

 

TimezoneOperations04

 

Haga clic en OK para guardar los cambios.

 

Convertir la hora del servidor a una zona horaria específica

Convierte una fecha en hora del servidor (UTC+0) a la fecha equivalente en una zona horaria específica.

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

ConvertServerTimeToTimeZoneTime(string sTimeZoneName, DateTime serverTime);

 

TimezoneOperations05

 

Haga clic en OK para guardar los cambios.

 

Convertir una zona horaria específica a la hora del servidor

Convierte un valor de fecha y hora desde una zona horaria específica a la hora del servidor (UTC+0).

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

ConvertTimeZoneTimeToServerTime(string sTimeZoneName, DateTime timeZoneTime);

 

TimezoneOperations11

 

Haga clic en OK para guardar los cambios.

 

Convertir la hora del servidor a la zona horaria del usuario

Convierte una fecha y hora en zona horaria del servidor a la zona horaria del usuario.

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

ConvertServerTimetoUserTime(int idUser, DateTime serverTime);

 

TimezoneOperations06

 

Haga clic en OK para guardar los cambios.

 

Obtener desfase para una ubicación específica

Devuelve la diferencia en minutos entre la zona horaria de una ubicación y la hora del servidor (UTC+0).

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

GetOffsetForLocation(int idLocation);

 

TimezoneOperations07

 

Haga clic en OK para guardar los cambios.

 

Obtener desfase para una organización

Devuelve la diferencia en minutos entre la zona horaria de una organización y la hora del servidor (UTC+0).

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

GetOffsetForOrganization(int idOrg);

 

TimezoneOperations08

 

 

Haga clic en OK para guardar los cambios.

 

Obtener desfase para un usuario

Devuelve la diferencia en minutos entre la zona horaria definida de un usuario específico y la hora del servidor (UTC+0).

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

GetOffsetForUser(int idUser);

 

TimezoneOperations09

 

 

Haga clic en OK para guardar los cambios.

 

Obtener desfase para la zona horaria laboral

Devuelve la diferencia en minutos entre la zona horaria definida en la clave WorkingTimeZone y la hora del servidor (UTC+0).

Vaya al paso cuatro del Asistente de Procesos de Bizagi y seleccione Acciones de Actividad.

Haga clic en la tarea donde se realizará esta acción y cree una Expresión.

 

TimezoneOperations02

 

Agregue un módulo de expresión y seleccione el atributo al que se asignará la fecha actual.

Use la opción Modelo de Datos para navegar.

 

TimezoneOperations03

 

La expresión sería:

 

GetOffsetForWorkingTimeZone();

 

TimezoneOperations10

 

Haga clic en OK para guardar los cambios.


Last Updated 7/2/2025 12:02:26 PM