Ayuda sobre productos BOLD:

Biblioteca de funciones BoldGT

Página:
< Volver

ATENCIÓN: El siguiente contenido es de uso avanzado y su utilización puede ocasionar daños irreparables en la configuración del sistema

Lista de funciones en GT

A continuación se detallan funciones cuyo ámbito de aplicación se ajusta a los informes de contadores, informe de variables de nómina e informes de contadores de planificación.

TramosEmpleado

Nombre: TramosEmpleado

Parámetros: 0

Descripción: Función intermedia que retorna todos los tramos de ausencia o presencia (los que cuentan y los que no) del empleado en el intervalo de tiempo correspondiente al informe solicitado.

Ejemplo:

TramosEmpleado()

TramosPresencia

Nombre: TramosPresencia

Parámetros: 0

Descripción: Función intermedia que retorna los tramos que identifican presencia de la persona empleada en el intervalo de tiempo correspondiente al informe solicitado.

Ejemplo:

TramosPresencia()

TramosCuentan

Nombre: TramosCuentan

Parámetros: 0

Descripción: Función intermedia que retorna los tramos que cuentan como hora trabajada (tanto los tramos de presencia que cuentan como hora trabajada como los tramos de ausencia vinculados a incidencias que cuentan como hora trabajada) del empleado en el intervalo de tiempo correspondiente al informe solicitado.

Ejemplo:

TramosCuentan()

TramosSemana

Nombre: TramosSemana

Parámetros: 1. Lista de periodos que se desean filtrar. Parámetros: 2. Alfanumérico escrito entre comillas que indica que días de la semana se desean filtrar.

Descripción: Función intermedia que retorna los tramos que cuentan como hora trabajada de la persona empleada en el intervalo de tiempo correspondiente al informe solicitado que solapan con los días de la semana que indicamos en el parámetro 2 de la función. Los días de la semana se identifican bajo las siglas LMXJVSD.

Ejemplo:

TramosSemana(TramosPresencia(),"SD")

Obtiene los tramos de presencia asociados al sábado y domingo.

TramosFranja

Nombre: TramosFranja

Parámetros: 2. (1) Tipos de horas (2) Alfanumérico escrito entre comillas que indica qué franja del día se desea filtrar.

Descripción: Función intermedia que retorna los tramos del tipo de hora pasado como primer parámetro en el intervalo de tiempo correspondiente al informe solicitado que solapan con la franja que indicamos en el 2 parámetro de la función.

Ejemplo:

TramosFranja(TramosPresencia(),"18-24")

Obtiene los tramos de presencia que intersectan con la franja 18-24.

TramosFestivos

Nombre: TramosFestivos

Parámetros: 0

Descripción: Función intermedia que retorna los tramos que cuentan como hora trabajada de la persona empleada en el intervalo de tiempo correspondiente al informe solicitado que solapan con los días festivos asociados al calendario del empleado o empleada.

Ejemplo:

TramosFestivos()

TramosFestivosEsp

Nombre: TramosFestivosEsp

Parámetros: 0

Descripción: Función intermedia que retorna los tramos que cuentan como hora trabajada de la persona empleada en el intervalo de tiempo correspondiente al informe solicitado que solapan con los días festivos especiales asociados al calendario de la persona empleada.

Ejemplo:

TramosFestivosEsp()

TramosIncidencia

Nombre: TramosIncidencia

Parámetros: 1. Alfanumérico entre comillas asociada al código de la incidencia/permiso/ausencia

Descripción: Función intermedia que retorna los tramos de la persona empleada en el intervalo de tiempo correspondiente al informe solicitado que solapan con la incidencia identificada con el nombre en el parámetro de la función.

Ejemplo:

TramosIncidencia("VM")

Retorna los tramos de la persona empleada asociadas a la incidencia cuyo código es «VM» (Visita médica), Si el código no existiera, retorna un tramo vacío.

FiltraTramoDuracion

Nombre: FiltraTramoDuracion

Parametros: 2. El primero Tramos, y el segundo un valor numérico que define el número de minutos mínimos para filtrar.

Descripción: Función que retorna el número de jornadas para los que la duración en la jornada supere un umbral definido en minutos.

Ejemplo:

FiltraTramoDuracion(TramosPresencia(), 540)

Obtiene cuantas jornadas ha estado presente una persona empleada en un periodo que superen las 9 h.

IntersectaTramos

Nombre: IntersectaTramos

Parámetros: 2. Tramos1, Tramos2

Descripción: Función intermedia que retorna los tramos fruto de la intersección de los 2 tramos pasados como parámetros

Ejemplo:

IntersectaTramos(TramosIncidencia("VM"),TramosSemana("X"))

Retorna los tramos de la persona empleada asociadas a la incidencia cuyo código es «VM», que ocurren los miércoles .

HorasTramo

Nombre: HorasTramo

Parámetros: 1. Tramos1

Descripción: Función que retorna las horas equivalentes de los tramos pasados como parámetro.

Ejemplo:

HorasTramo(TramosIncidencia("VM")+TramosIncidencia("HS"))

Retorna la suma de las duraciones en horas de las incidencias con códigos «VM» o «VS».

FormatoHoras

Nombre: FormatoHoras Parámetros: 1. Decimal que indica horas. Ej. 12.0 Descripción: Función que retorna las horas equivalentes de los tramos pasados como parámetro. Ejemplo:

FormatoHoras(HorasTramo(TramosIncidencia("VM")))

Retorna en formato HH:MM las horas de las incidencias con código «VM». El resultado sería: 12:20

GeoLocalizacion marcajes

Nombre: GetClockGeoLocalizationData Parámetros: 1. identificador de la persona empleada Parámetros: 2. instante de marcaje Descripción: Función que la url con la geolocalización del marcaje.

Ejemplo:

GetClockGeoLocalizationData(IdCW.Worker.ID, DtTimeStamp)

Retorna, si la persona empleada en la fecha indicada tiene informado un marcaje geolocalizable, la url con la geolocalización. Esta función sería específica para el informe de marcajes.

Ejemplos

Para ir viendo el resultado de modificar las expresiones (aritméticos) de un report se recomienda seguir el siguiente procedimiento:

  1. Duplicar el informe del que se va a partir.
  2. Definir las nuevas columnas columnas que se quieren mostrar con expresiones muy sencillas
  3. Ir a la pantalla del nuevo informe y duplicar la pestaña del navegador –> Pestaña del informe
  4. En la nueva pestaña ir al editor de expresiones de ese report y modificar las expresiones –> Pestaña del editor de expresiones
  5. Seleccionar la Pestaña del informe y refrescar el resultado.
  6. Repetir los pasos 4 y 5 hasta obtener los resultados esperados.

Definir un contador que por cada hora trabajada en sábado genere un contador de 1.25 horas

La expresión resultante sería la siguiente:

1.25*HorasTramo(TramosSemana("S"))

Definir un contador que calcule la diferencia entre las horas a compensar y las horas ya compensadas

  • Horas a compensar: esta variable ya existe en el sistema y su nombre interno es HorasExceso.
  • Horas ya compensadas: esta variable no existe y hay que crearla. La nombramos como HCOMP, son las horas de compensación por incidencia, y calcula las horas que se piden como compensación mediante una incidencia en el Gantt. La fórmula es: HorasTramo(IntersectaTramos(TramosEmpleado(), TramosIncidencia("COMP")))

Creamos el contador que calcula la diferencia entre las variables anteriores, por ejemplo lo llamamos SaldoCOMP y su expresión es la siguiente:

HorasExceso - HCOMP

Definir un contador que calcule los tramos (en horas) del horario teórico que no tengan presencia asociada

Suponemos que se trata de un caso en el que no hay flexibilidad y queremos que, por ejemplo, si un trabajador o trabajadora ficha la entrada 1h más tarde de su horario, esta hora se vaya a un contador de «absentismos injustificados». Es decir, que cualquier tramo que no tenga presencia y que según el horario teórico sí tendría que tener presencia se contabilice en este contador.

La expresión resultante sería la siguiente:

HorasTramo(TramosEmpleado()) - HorasTramo(IntersectaTramos(TramosEmpleado(), TramosPresencia()))

Definir una variable que muestre los turnos propios que tiene un empleado

Los turnos propios se quedan guardados a nivel de contrato, así que para poder consultarlos en un informe, tenemos que usar el informe predefinido «Contratos». Lo duplicamos y lo editamos para añadir una variable de tipo string con la siguiente expresión:

IfElse(!IsInvalid(IdCW.SchedulesList),
   IfElse(IdCW.SchedulesList.ID == 532, 
       "Todos los turnos del sistema",
       IdsToNames(ReplaceStr(UnderNodeClassifiedObjectList(32,IdCW.SchedulesList.ID),",",";"),"Schedule")
          ),
   "No tiene")

El ID 532 es el nodo base de los turnos propios, si hay un contrato con ese nodo de turnos significa que son todos los del sistema y en este caso, mostramos el texto «Todos los turnos del sistema» (no es viable mostrar cada unos de los turnos). En caso de que tenga turnos propios los mostramos separados por punto y coma, y si no tiene, mostramos el texto «No tiene».

Was this article helpful?
5 out Of 5 Stars

1 calificación

5 Estrellas 100%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido