Ausencias¶
¿Qué es?¶
El módulo de Ausencias registra las inasistencias justificadas de los empleados: vacaciones, incapacidades médicas, licencias de maternidad/paternidad, permisos y cualquier tipo de ausencia formal. Cada registro vincula un empleado con un tipo de ausencia, un rango de fechas y un estado de aprobación. El sistema calcula automáticamente el número de días.
Vista principal¶
Columnas de la tabla¶
- Código — Código interno auto-generado del registro de ausencia. Fuente monoespaciada. Ancho 160 px.
- Empleado — Nombre del empleado. Ancho máximo 260 px, truncado.
- Tipo — Nombre del tipo de ausencia más su código abreviado en paréntesis (ej. "Vacaciones (V)"). Ancho 200 px, truncado.
- Inicio — Fecha de inicio en formato
AAAA-MM-DD. Fuente monoespaciada. Ancho 120 px. - Fin — Fecha de fin en formato
AAAA-MM-DD. Fuente monoespaciada. Ancho 120 px. - Días — Número de días de la ausencia, calculado automáticamente. Alineado a la derecha, fuente monoespaciada. Ancho 80 px.
- Estado — Badge de color según el estado (ver tabla de estados). Ancho 120 px.
Ordenación por defecto¶
Ordenada por fecha de inicio descendente (date_start DESC).
Filtros¶
- Buscar empleado, tipo, código... — Campo de texto libre que busca en nombre de empleado, tipo de ausencia y código.
- Estado — Selector:
Todos,Borrador,Confirmada,Aprobada,Rechazada.
Estados de la ausencia¶
| Estado | Código | Badge | Descripción |
|---|---|---|---|
| Borrador | draft |
Gris | Registrada pero pendiente de revisión |
| Confirmada | confirm |
Azul | Enviada para aprobación |
| Aprobada | validate |
Verde | Aprobada por el administrador |
| Rechazada | refuse |
Rojo | Rechazada; no aplica para nómina |
Acciones disponibles¶
Botón "Nueva ausencia"¶
Visible con permiso leave: create. Abre el modal de creación.
Botón "Catálogos"¶
Visible con permiso leave: view. Abre el panel deslizante lateral de Tipos de ausencia. Este catálogo es compartido con el módulo de Novedades (Reemplazos).
Exportar¶
Botón de exportación. Descarga un archivo ausencias. Requiere permiso leave: export.
Acciones masivas¶
Al seleccionar una o más ausencias aparece la barra flotante inferior:
- Cambiar estado — Selector de estado (
Borrador,Confirmada,Aprobada,Rechazada) + botón Aplicar. Requiere permisoleave: edit. - Rechazar (eliminar) — Doble confirmación. El primer clic muestra "¿Confirmar?" en rojo, el segundo clic ejecuta la eliminación permanente. Requiere permiso
leave: delete. - Cerrar selección — Botón X.
Modal de creación / edición¶
Campos del formulario¶
- Empleado (
employee_id) — Autocompletado de empleados (obligatorio). Al hacer clic sin texto, carga los primeros resultados. Nota debajo del campo: "El contrato activo del empleado se asocia automáticamente." - Tipo de ausencia (
leave_type_id) — Autocompletado del catálogo de tipos (obligatorio). Placeholder: "Vacaciones, incapacidad, licencia..." - Fecha inicio (
date_start) — Selector de fecha formato DD/MM/AAAA (obligatorio). Tiene restricción de días retroactivos según la configuración (max_past_days_for_absence). Si está configurado, muestra "Hasta N días atrás permitidos". - Fecha fin (
date_end) — Selector de fecha (obligatorio). La fecha de fin no puede ser anterior a la de inicio (el sistema la ajusta automáticamente a la fecha de inicio si el usuario intenta ponerla antes). - Indicador de días — Cálculo automático que muestra "Duración: N día(s)" cuando ambas fechas están completas. Fórmula:
floor((fecha_fin - fecha_inicio) / 86400000) + 1. Un solo día cuenta como 1. - Estado (
state) — Selector:Borrador,Confirmada,Aprobada,Rechazada. Por defecto:Borrador. - Observación (
observaciones) — Campo de texto libre (máximo 500 caracteres). Opcional.
Validaciones¶
- Empleado es obligatorio: "Selecciona un empleado".
- Tipo de ausencia es obligatorio: "Selecciona un tipo de ausencia".
- Fecha inicio y Fecha fin son obligatorias: "Fechas de inicio y fin requeridas".
- Fecha fin debe ser igual o posterior a la fecha de inicio: "La fecha fin debe ser igual o posterior a la fecha de inicio".
Catálogo de Tipos de ausencia¶
El botón Catálogos abre el panel deslizante lateral. Este catálogo es compartido con el módulo de Novedades (Reemplazos): los tipos creados aquí también aparecen en Novedades y viceversa.
El panel muestra una nota informativa azul: "Este catálogo se comparte con el módulo de Reemplazos."
Campos de un tipo de ausencia¶
- Nombre — Nombre descriptivo del tipo (obligatorio). Ej: "VACACIONES". No puede duplicarse con otro tipo existente.
- Código — Abreviatura corta en mayúsculas (obligatorio). Ej: "V". Se guarda en mayúsculas automáticamente.
- Categoría — Clasificación contable del tipo:
o_rights— Permisos / Ausencias / Licenciaso_salarial_earnings— Devengado salarialearnings— Devengado general- Comportamiento en nómina (
category_type) — Define cómo se procesa en nómina: PAY— RemuneradoNO_PAY— No remuneradoSICKNESS— Incapacidad / EnfermedadAT_EP— Accidente laboral / Enfermedad profesionalMAT_LIC— Licencia de maternidadPAT_LIC— Licencia de paternidadVAC— VacacionesVAC_MONEY— Vacaciones compensadas en dineroBONUS— Bonificación
Acciones sobre tipos¶
- Editar (ícono lápiz, aparece al pasar el cursor, requiere
leave: edit) — Abre el formulario de edición del tipo. - Eliminar (ícono papelera, requiere
leave: delete) — Confirmación con diálogo. Si el tipo tiene ausencias asociadas, el servidor puede rechazar la operación. - Nuevo tipo de ausencia — Botón en la parte superior del panel (requiere
leave: create).
Permisos¶
| Acción | Permiso requerido |
|---|---|
| Ver ausencias | leave: view |
| Crear ausencia | leave: create |
| Editar ausencia | leave: edit |
| Eliminar | leave: delete |
| Exportar | leave: export |
Páginas relacionadas¶
- Empleados — Cada ausencia pertenece a un empleado. El contrato activo del empleado se asocia automáticamente.
- Novedades — Comparte el catálogo de tipos de ausencia. Los reemplazos en Novedades usan los mismos tipos.
- Nómina — Las ausencias aprobadas afectan el cálculo de nómina según su tipo (
category_type). - Contratos — La ausencia se vincula al contrato activo del empleado seleccionado.
Preguntas frecuentes¶
¿Por qué el catálogo de Tipos de ausencia se comparte con Novedades?
Ambos módulos usan la misma tabla hr_leave_type de la base de datos. Los tipos de ausencia (vacaciones, incapacidad, licencia) pueden aplicar tanto a una ausencia formal como a una novedad de reemplazo. Esto evita duplicar el mantenimiento de catálogos.
¿Cómo se calcula el número de días? El sistema cuenta días calendario: fecha de fin menos fecha de inicio más 1. Un día de ausencia que empieza y termina el mismo día cuenta como 1 día. Una ausencia del lunes al viernes cuenta como 5 días (incluye solo días calendario, no hábiles).
¿Qué pasa si cambio la fecha de fin a una fecha antes de la fecha de inicio? El sistema ajusta automáticamente la fecha de fin para que sea igual a la fecha de inicio. No se puede guardar una ausencia con fecha de fin anterior a la de inicio.
¿Puedo aprobar una ausencia directamente al crearla? Sí. El campo Estado permite seleccionar "Aprobada" al momento de crear el registro, si el usuario tiene permiso de edición.
¿Hay un límite de días retroactivos para registrar ausencias?
Depende de la configuración de la empresa (max_past_days_for_absence). Si está configurado, el selector de fecha de inicio muestra "Hasta N días atrás permitidos" y no permite seleccionar fechas anteriores a ese límite.
¿Qué diferencia hay entre "Confirmada" y "Aprobada"?
"Confirmada" (confirm) indica que la ausencia fue registrada y enviada para revisión, pero aún no aprobada. "Aprobada" (validate) indica que un administrador autorizó la ausencia. Solo las ausencias "Aprobadas" se procesan formalmente en nómina.
¿La ausencia aparece en la app móvil del empleado? El módulo de Ausencias es exclusivo del portal web de administración. Los empleados no gestionan ausencias desde la app móvil directamente.