Mira, en este momento (versión 1.7.0.0) no tenes ninguna opción que implemente lo que queres hacer y que no implique cambio en el código fuente. Como "workaround" en este momento, el colocar un procedimiento almacenado que ajuste el valor calculado en el momento de la finalización es la única manera viable de realizarlo.
Si embargo quiero contarte, que se está trabajando el issue en este preciso momento y seguro va a estar disponible en el siguiente release. Las condiciones sobre las que se está trabajando son las siguientes:
-
Se debe activar el parametro VacacionUsaJornada o PermisoUsaJornada (se está implementando también para la solicitud de permisos); o en el catálogo de tipos de tiempo no trabajado, para aplicarlo en Tiempos no Trabajados.
-
El método en el código fuente, primero obtiene si deben procesar los días a partir de la jornada laboral. Si esto es negativo, entonces procesa como está ahora, utilizando los parámetros de inclusión de sábado, domingo y asueto.
-
Si se va a procesar por jornada, primero trata de obtener la jornada del empleado para cada día entre la fecha de inicio y finalización de la vacación, permiso o tiempo no trabajado.
-
Primero investiga si tiene jornadas asignadas directamente al empleado, en el período de fechas especificado, a través de la pantalla de "Asignación de Jornadas" del Módulo de Control de Asistencia.
-
Si no encuentra asingaciones, investiga si tiene jornadas asignadas al grupo al que pertenece, tomadas de la pantalla anterior.
-
Si tampoco encuentra asignaciones, investiga si tiene jornadas asignadas a su unidad organizativa, tomadas de la misma pantalla.
-
Finalmente, si no encuentra asignación de jornadas del módulo de Control de Asistencia, toma la jornada del expediente del empleado (la que se asigna en el momento de la contratación).
-
Con esto, el fuente sabe para cada día del período entre la fecha inicial y final, en qué jornada está el empleado.
-
Luego chequea para cada día que exista una definición de tipo de día, horario y total de horas laboradas (registro detalle de la jornada). Si alguno de los días no tiene especificado tipo de día -- es decir, no tiene detalle de día la jornada -- entonces procesa como está ahora, utilizando los parámetros de inclusión de sábado, domingo y asueto.
-
En el caso que TODOS los días estén correctamente asignados, entonces el número de días de vacación, permiso o tiempo no trabajado, será el Count() de los registros de asignación de jornadas, para los cuales el total de horas laboradas es mayor que CERO.
En este momento ya se cambio el fuente, pero se están haciendo tests, para probar que el cálculo implementará la política descrita anteriormente.
Si tenes alguna sugerencia o comentario, este es buen momento para hacerlo, puesto que se puede adicionar al cambio de una vez.
answered
29 May '13, 15:42
Fernando Paz ♦♦
17.3k●8●16●35
accept rate:
51%