Disponibles a partir de la versión 9.0.0.1
Mecanismo de invalidación de cálculos en jornadas validadas. Cuando datos externos cambian retroactivamente, el sistema marca las jornadas afectadas para revisión y recálculo sin alterar su estado de validación.
Concepto Fundamental
El estado "dirty" (sucio) NO indica un error. Su significado real es: "La información de esta jornada está obsoleta debido a cambios externos y necesita ser recalculada para reflejar la realidad actual."
El sistema no rastrea qué cambió ni busca reparar nada específico; simplemente invalida los cálculos previos y genera unos nuevos desde cero.
Ciclo de Vida de una Jornada Sucia
Comportamiento por Estado de Jornada
Puntos de Disparo (¿Qué ensucia una jornada?)
Flujo de Resolución
Cuando una jornada validada tiene DirtyFlag = 1, el responsable debe elegir entre dos caminos:
Camino A — Recálculo Directo
Cuándo usarlo: El cambio externo no invalida el criterio de validación — simplemente los minutos calculados han quedado desfasados.
pEmployees_Assistence_RecalcMetrics_RecalcDirty- No cambia StatusId
- Actualiza métricas con la configuración actual
- Limpia DirtyFlag → 0
- Registra evento RECALC en DirtyLog
Camino B — Reapertura + Re-validación
Cuándo usarlo: El cambio es relevante (vacación/baja retroactiva) y el responsable debe revisar y dar el visto bueno de nuevo.
Paso 2:
pDateEmployee_Validate_Undo_BatchPaso 3: Re-validar desde la UI
- StatusId: 1 → 0
- DirtyFlag: limpiado
- Fichajes base liberados (Closed = 0)
La Tabla DirtyLog
Cada vez que una jornada se ensucia, se registra un evento de auditoría en la tabla Employees_Assistence_DirtyLog. Este log es la trazabilidad histórica completa de todos los cambios retroactivos.
SELECT EA.EmployeeId, E.Name + ' ' + E.Surname AS Empleado, EA.[Date], EA.DirtyReason FROM Employees_Assistence EA JOIN Employees E ON EA.EmployeeId = E.EmployeeId WHERE EA.DirtyFlag = 1 AND EA.StatusId > 0 ORDER BY EA.[Date] DESC;
Ventana Temporal de Ensuciado
Cada tipo de trigger tiene configurado un parámetro de ventana hacia atrás que limita hasta cuántos días en el pasado puede generar jornadas sucias. Si el cambio afecta a fechas más antiguas que la ventana, la operación es rechazada con un error de bloqueo.
Resumen Ejecutivo
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo