Módulo: Módulo de Asistencia – Reportes (Monitoreo de Asistencia y Total de Ausencias)
Tipo de Cambio: Ajuste en la visualización de datos según vigencia de contrato y rango de fechas del corte consultado
1. Descripción General del Cambio
Se realizaron dos ajustes en los reportes del módulo de asistencia con el objetivo de mostrar únicamente información vigente y consistente con la fecha actual del sistema. El primero corresponde al reporte de Monitoreo de Asistencia, que ahora considera la vigencia contractual de cada colaborador. El segundo corresponde al reporte de Total de Ausencias, que ahora excluye las fechas futuras dentro del rango de corte consultado.
2. Cambios Implementados
2.1 Monitoreo de Asistencia – Filtro por vigencia de contrato
En la pantalla EstatusAsistencia.aspx (Monitoreo de Asistencia), se ajustó la lógica de obtención de colaboradores para considerar las fechas de inicio y término de contrato:
Colaboradores cuyo contrato inicia en una fecha posterior a hoy (por ejemplo, mañana) no se visualizan en el listado.
Colaboradores cuyo contrato ya finalizó (por ejemplo, terminó ayer) tampoco se visualizan.
El reporte ahora refleja únicamente a los colaboradores con contrato vigente a la fecha de consulta.
2.2 Reporte de Total de Ausencias – Exclusión de fechas futuras
En la pantalla TotalAusencias.aspx (Reporte de Total de Ausencias), se ajustó la lógica de cálculo para que, dentro del rango del corte seleccionado, solo se consideren las ausencias hasta la fecha actual del sistema.
Por ejemplo, si se consulta el corte de julio (01/07/2026 al 30/07/2026) y la fecha actual del sistema es 14/07/2026, el reporte no mostrará ausencias del 15/07/2026 en adelante, ya que corresponden a fechas que aún no han transcurrido.
3. Pantallas Afectadas
El cambio aplica en las siguientes URLs del sistema:
Monitoreo de Asistencia: /Parametros/Asistencia/Reportes/EstatusAsistencia.aspx
Reporte de Total de Ausencias: /Parametros/Asistencia/Reportes/TotalAusencias.aspx
4. Impacto en el Usuario
No se requiere capacitación especial; el cambio es restrictivo y no altera los flujos de trabajo existentes.
El Monitoreo de Asistencia mostrará únicamente a los colaboradores con contrato vigente a la fecha de consulta.
El Reporte de Total de Ausencias no mostrará ausencias correspondientes a fechas futuras dentro del corte seleccionado.
Los datos históricos y las ausencias ya transcurridas no se ven afectados por este ajuste.
Módulo: Módulo de Asistencia – Corte Mensual
Tipo de Cambio: Bloqueo de acciones de modificación en pantallas de asistencia cuando el corte mensual está cerrado
1. Descripción General del Cambio
Se implementó una mejora transversal en el módulo de asistencia con el objetivo de proteger la integridad de la información una vez que el corte mensual de un período ha sido cerrado.
A partir de esta versión, las pantallas de aprobación y gestión de asistencia consultan automáticamente el estado del corte mensual al inicializar, y deshabilitan visualmente todas las acciones de modificación cuando dicho corte se encuentra en estado cerrado (estado = 1). El bloqueo es exclusivamente en capa de presentación; no se modifica la lógica de negocio existente en el backend.
2. Cambios Implementados
2.1 Función reutilizable de estado de corte mensual (Historia base)
Se agregó un método interno en el servicio de asistencia existente que consulta el estado del corte mensual por empresa y período. El método retorna un booleano corteCerrado que indica si el campo de estado del corte es igual a 1. Este valor se incorpora como parte del modelo de respuesta de inicialización de cada pantalla afectada, sin generar un endpoint adicional ni una llamada extra desde el cliente.
2.2 Aprobación de Horas Extras – Bloqueo con corte cerrado
En la pantalla JustificarExtras.aspx, cuando el corte mensual del período seleccionado está cerrado, los siguientes controles se deshabilitan visualmente y no responden al clic:
Botón “Aprobar todo”
Botón “Reversar todo”
Acciones por empleado: “Aprobar” y “Reversar” (modal de aprobación de HHEE)
Botón o sección de “Carga masiva”
Cuando el corte está abierto, todos los controles funcionan con normalidad. El bloqueo se implementa mediante binding de propiedad disabled en el frontend, consumiendo el booleano corteCerrado del modelo de inicialización, sin cambios en el backend.
2.3 Aprobación de Atrasos – Bloqueo con corte cerrado
En la pantalla JustificarAtrasos.aspx, con el mismo patrón aplicado en 2.2, se deshabilitan los siguientes controles cuando el corte mensual está cerrado:
Botón “Aprobar todo”
Botón “Reversar todo”
Acciones por empleado: “Aprobar” y “Reversar” (modal de aprobación de descuento por horas ausentes)
Botón o sección de “Carga masiva”
2.4 Aprobación de Ausencias – Bloqueo con corte cerrado
En la pantalla JustificarAusencias.aspx, con el mismo patrón, se deshabilitan los siguientes controles cuando el corte mensual está cerrado:
Botón “Aprobar todo”
Botón “Reversar todo”
Acciones por empleado: “Aprobar” y “Reversar” (modal de aprobación de ausencias)
2.5 Compensar Horas – Bloqueo con corte cerrado
En la pantalla CompensarHoras.aspx, cuando el corte mensual está cerrado, se deshabilitan:
Botón “Compensar todo”
Acción por empleado: “Compensar” (modal de compensación de horas)
2.6 Gestor de Marcas (v1 y v2) – Bloqueo de botonera principal y acciones masivas
En las pantallas GestionMarcas.aspx y GestionMarcasv2.aspx, cuando el corte mensual está cerrado, se deshabilitan los siguientes controles:
Botón “Recalcular horario”
Botón “Normalizar horario”
Botón “Guardar y recalcular”
Botón “Completar jornada” (botonera principal)
Botón “P. Fracción Masivos”
Acciones en la botonera de cada fila: “Completar jornada”, “Permiso por horas”, “Normalizar registro”, “Imputar marcaje”
2.7 Gestor de Marcas (v1 y v2) – Bloqueo en marcajes por jornada y eventos
Cuando el corte mensual está cerrado, todas las acciones disponibles dentro de cada fila o registro de jornada en la grilla de Marcajes por jornada se deshabilitan y no responden al clic. Adicionalmente, los Eventos en el Gestor de Marcas v2 también quedan bloqueados, garantizando que no sea posible realizar ninguna modificación en el corte cerrado. El booleano corteCerrado ya disponible en el componente desde el punto 2.6 se reutiliza para esta condición.
2.8 Gestor de Marcas Día (v1 y v2) – Bloqueo con corte cerrado
En las pantallas GestionMarcasDia.aspx y GestionMarcasDiav2.aspx, se aplica la misma lógica de bloqueo descrita en los puntos 2.6 y 2.7. Se deshabilitan los mismos controles de la botonera principal, las acciones de cada fila y los marcajes por jornada, reutilizando el booleano corteCerrado del modelo de inicialización de esta pantalla.
2.9 Recálculo de Asistencia – Mensaje informativo con corte cerrado
En la pantalla de Recálculo de Asistencia, se incorporó una validación previa al proceso: cuando el usuario hace clic en el botón “Recalcular” y el corte mensual del período seleccionado está cerrado, el sistema muestra un mensaje informativo indicando que la acción no es posible porque el corte mensual se encuentra cerrado, y no se ejecuta ningún proceso de recálculo. Cuando el corte está abierto, el proceso se ejecuta con normalidad. La lógica de recálculo existente no fue modificada; solo se agregó la validación previa.
3. Pantallas Afectadas
El cambio aplica en las siguientes URLs del sistema:
Aprobación de HHEE: /Parametros/Asistencia/JustificarExtras.aspx
Aprobación de Atrasos: /Parametros/Asistencia/JustificarAtrasos.aspx
Aprobación de Ausencias: /Parametros/Asistencia/JustificarAusencias.aspx
Compensar Horas: /Parametros/Asistencia/CompensarHoras.aspx
Gestión de Marcas v1: /Parametros/Asistencia/Horarios/GestionMarcas.aspx
Gestión de Marcas v2: /Parametros/Asistencia/Horarios/GestionMarcasv2.aspx
Gestión de Marcas Día v1: /Parametros/Asistencia/Horarios/GestionMarcasDia.aspx
Gestión de Marcas Día v2: /Parametros/Asistencia/Horarios/GestionMarcasDiav2.aspx
Recálculo de Asistencia: /Parametros/Asistencia/RecalcularAsistencias.aspx
4. Impacto en el Usuario
No se requiere capacitación especial. El cambio es restrictivo y no altera los flujos de trabajo existentes cuando el corte mensual está abierto.
Cuando el corte está cerrado, los controles de modificación aparecerán deshabilitados visualmente, orientando al usuario de forma clara sobre el estado del período.
El bloqueo aplica de forma automática al inicializar cada pantalla, sin intervención del usuario.
El intento de recalcular sobre un corte cerrado retorna un mensaje informativo claro; no se ejecuta ningún proceso en segundo plano.
Los períodos con corte abierto no se ven afectados; todas las acciones continúan habilitadas con normalidad.
Módulo: Módulo de Asistencia – Aprobación de Horas Libres (Permisos Administrativos)
Tipo de Cambio: Incorporación de columna Número de Horas y funcionalidad de actualización de horas en solicitudes de horas libres
1. Descripción General del Cambio
Se implementó una mejora en la pantalla de aprobación de solicitudes de horas libres realizadas por colaboradores (permisos administrativos provenientes de Rex+). El cambio incorpora la visualización del número de horas del permiso en formato decimal directamente en el listado, y agrega una funcionalidad de actualización que permite recalcular dicho valor cuando el colaborador no contaba con un horario asignado al momento de generarse la solicitud, o cuando su horario fue modificado con posterioridad.
2. Cambios Implementados
2.1 Incorporación de columna "Número de Horas"
En el listado de "Solicitudes de horas libres realizadas por colaboradores", se incorpora la columna Número de Horas, la cual muestra la cantidad de horas del permiso en formato decimal (por ejemplo, 8,00). Esta nueva columna reemplaza a la columna Solicitado a, que se elimina del listado.
2.2 Actualización de horas del permiso
Se incorpora el botón "Actualizar horas", que permite recalcular el número de horas de los permisos listados según el horario vigente de cada colaborador. Esta acción resuelve los casos en que, al momento de generarse la solicitud, el empleado no tenía horario asignado o su horario fue modificado con posterioridad.
El rango de consulta definido por los filtros Indique fecha de inicio / Indique fecha de fin no debe superar un mes para habilitar el botón.
Al presionar el botón, se muestra un mensaje de confirmación: "¿Desea recalcular las horas de los permisos del filtro activo? Esta acción actualizará el número de horas según el horario vigente de cada colaborador.", con las opciones Aceptar y Cancelar.
Al confirmar con "Aceptar", el sistema recalcula y actualiza la columna Número de Horas para los registros incluidos en el filtro activo, según el horario vigente de cada colaborador.
3. Pantallas Afectadas
El cambio aplica en la siguiente URL del sistema:
Solicitudes de horas libres realizadas por colaboradores: /horaslibres/24HorasPorAprobar.aspx
4. Impacto en el Usuario
El usuario visualiza directamente el número de horas de cada permiso en formato decimal, sin necesidad de ingresar al detalle de la solicitud.
La columna "Solicitado a" deja de estar disponible en el listado.
El usuario puede corregir el número de horas de los permisos cuando detecte inconsistencias derivadas de la falta de horario asignado o de cambios posteriores en el horario del colaborador.
La actualización de horas solo puede ejecutarse sobre rangos de fecha de un mes o menos.
Módulo: Módulo de Asistencia – Configuración de Asistencia / Cálculo de Ausencias
Tipo de Cambio: Nueva opción de configuración para el descuento de colación en el cálculo de ausencias
1. Descripción General del Cambio
Actualmente, el cálculo de ausencias en Bnovus considera el tiempo de colación configurado en el horario del trabajador de forma fija: si la ausencia supera la mitad de la jornada, el tiempo de colación se resta del total de ausencia; si la ausencia no supera la mitad de la jornada, el tiempo de colación no tomado se suma al total de ausencia. Este comportamiento no puede ser desactivado por la empresa. Con el objetivo de dar flexibilidad a las empresas que requieren que el descuento de colación se aplique siempre sobre el total de ausencia calculada, sin que la regla de mitad de jornada intervenga, se incorpora un nuevo parámetro de configuración a nivel de empresa que permite elegir el criterio de cálculo que mejor se ajuste a su operación.
2. Cambios Implementados
2.1 Nuevo parámetro de configuración de asistencia
Se agregó un nuevo parámetro booleano en la configuración de asistencia, denominado internamente descuentoColacionEnAusencia, con valor por defecto 0 (mantiene el comportamiento actual). El parámetro aplica a nivel de empresa y se encuentra disponible en la pantalla Configuración de Asistencia, sección Condiciones para Cálculo, bajo la etiqueta “Descontar colación del total de ausencia”.
2.2 Comportamiento con valor 0 – Sin cambio
Cuando el parámetro está en 0 (valor por defecto), la lógica de cálculo de ausencias se mantiene exactamente igual a la actual:
Si la ausencia supera la mitad de la jornada asignada, se resta el tiempo de colación configurado del total de ausencia.
Si la ausencia no supera la mitad de la jornada, se suma el tiempo de colación no tomado al total de ausencia.
Las empresas ya configuradas no presentan ningún cambio en su cálculo al desplegar esta funcionalidad, ya que los registros existentes conservan el valor 0.
2.3 Comportamiento con valor 1 – Nuevo criterio de cálculo
Cuando el parámetro está en 1, el sistema deja de evaluar la condición de mitad de jornada. Independientemente de la duración de la ausencia, al total de ausencia calculada se resta siempre el tiempo de colación configurado según el horario asignado al trabajador para la jornada en que ocurre la ausencia.
2.4 Referencia de colación aplicada
En ambos modos, el tiempo de colación considerado en el cálculo corresponde siempre al configurado en el horario asignado al trabajador para la jornada en que ocurre la ausencia. Si el trabajador no tiene tiempo de colación configurado en su horario, el descuento es cero en ambos modos.
2.5 Persistencia y despliegue
El valor del parámetro se guarda y persiste por empresa en la tabla de configuración de asistencia correspondiente. Para los registros existentes, el valor inicial tras el despliegue es 0, por lo que no se requiere migración de datos adicional más allá del valor por defecto.
3. Pantallas Afectadas
El cambio aplica en la siguiente pantalla del sistema:
Configuración de Asistencia – Condiciones para Cálculo: /Parametros/Asistencia/Configuracion.aspx
4. Impacto en el Usuario
No se requiere capacitación especial. El comportamiento actual del cálculo de ausencias se mantiene sin cambios mientras el nuevo parámetro permanezca en su valor por defecto (0).
Las empresas que requieran el nuevo criterio de cálculo deberán activar la opción “Descontar colación del total de ausencia” en Configuración de Asistencia → Condiciones para Cálculo.
Con la opción activada (valor 1), el sistema siempre restará la colación configurada del horario del trabajador al calcular una ausencia, sin evaluar si esta supera o no la mitad de la jornada.
Si el horario del trabajador no tiene colación configurada, el resultado del cálculo es el mismo en ambos modos (descuento = 0).
