Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAsistencia
Dispositivo

Cómo editar una asistencia manual

Permite corregir la hora de entrada o salida de una asistencia ya registrada para un empleado, manteniendo el empleado y el origen original del registro.

En este artículo

La edición de asistencia manual trabaja sobre un evento de calendario de tipo `staff_shift`. El responsable abre una asistencia existente, ajusta la entrada o salida y Antylogic conserva la relación con el empleado, la ubicación y el origen del registro.

En el ejemplo documental se usa Grupo Marea Demo, la ubicación Marea Gran Via y Marta Ruiz. La pantalla está pensada para una corrección operativa de manager, no para cambiar el empleado ni recrear el turno desde cero.

Antes de empezar

  • Tener sesión iniciada en Grupo Marea Demo con Marea Gran Via seleccionada.
  • Contar con `staff-shifts:view` para cargar la asistencia y `staff-shifts:manage` para guardarla.
  • Debe existir una asistencia de tipo `staff_shift` en la ubicación activa, con empleado asignado, entrada y salida válidas.
  • Si la pantalla necesita mostrar nombres o avatar, el usuario puede necesitar `staff:view`.

Instrucciones

  1. 1.

    Abre el historial de asistencia

    Entra en Asistencia del empleado o en el calendario de personal. En el ejemplo, localiza los registros de Marta Ruiz en Marea Gran Via antes de abrir el turno que necesita ajuste.

  2. 2.

    Abre la asistencia que vas a editar

    Selecciona el registro. La app abre `calendars/edit/:eventId?kind=staff_shift`; si el evento no existe, es de otra ubicación o no es `staff_shift`, muestra que no encuentra el evento solicitado.

  3. 3.

    Comprueba empleado y origen

    Antes de cambiar horas, revisa empleado y origen. En edición el empleado aparece en solo lectura y el origen se conserva como `manual`, `clock_in`, `import` o `correction`.

  4. 4.

    Ajusta entrada o salida

    Modifica `Empieza` o `Termina` usando la hora local de la ubicación. Para Marea Gran Via se trabaja con `Europe/Madrid` y pasos de 15 minutos.

  5. 5.

    Guarda los cambios

    Pulsa Guardar cuando haya cambios válidos. Antylogic actualiza el evento de calendario, refresca calendarios y listados, muestra `Evento actualizado correctamente.` y vuelve a la pantalla de origen.

  6. 6.

    Resuelve una corrección pendiente si aparece

    Si la asistencia trae `correction_requested`, el mismo formulario bloquea las fechas, deja editable solo la hora pendiente y cambia el CTA a aceptar o rechazar la corrección. La resolución observada se persiste como `correction_made`, sin estado `rejected` independiente.

Validaciones y límites

  • La organización y ubicación activas deben existir antes de renderizar el formulario.
  • `eventId` debe venir en la ruta y el detalle cargado debe tener `kind === 'staff_shift'`.
  • Para guardar desde esta UI hace falta `staff-shifts:manage`; `staff-shifts:notify` no habilita esta edición manual de responsable.
  • La entrada y la salida deben ser fechas y horas válidas, y la entrada debe ser anterior a la salida.
  • El formulario exige empleado y salida informada; aunque el backend admita conceptualmente turnos abiertos, esta pantalla no guarda sin salida.
  • Guardar queda deshabilitado si no hay cambios, si el formulario es inválido o mientras la actualización está pendiente.
  • El backend no permite cambiar `kind`, no acepta recurrencia para `staff_shift` y valida que `source` sea `manual`, `clock_in`, `import` o `correction`.
  • El empleado y el origen no se editan desde esta pantalla en modo edición.
  • El flujo implementado usa `PUT /api/app/{orgId}/{locationId}/calendar-events/{eventId}`; la ruta histórica `/staff/{staffId}/shifts/{shiftId}` no debe documentarse como edición manual implementada.
  • Si la API falla, el usuario permanece en el formulario y ve el error recibido o `No se pudo actualizar el evento.`

Resultado esperado

La asistencia queda actualizada en `calendar_events`, los calendarios y listados se refrescan, y el historial mantiene el empleado y el origen original del registro.

Artículos relacionados