Saltar a contenido

Adicionales

¿Qué es?

El módulo de Adicionales registra servicios adicionales prestados fuera de la programación ordinaria: horas facturables extras, apoyos puntuales, servicios caninos, guardias armados o sin arma que no están en el turno regular. Cada registro vincula un empleado (opcional), un puesto, un rango de fechas y horas, un tipo de facturación y un estado de seguimiento.


Vista principal

Columnas de la tabla

  • Empleado — Nombre del empleado que presta el servicio. Ancho máximo 220 px, truncado. Si no tiene empleado asignado muestra "—".
  • Proyecto — Nombre del proyecto donde ocurre el adicional. Ancho 180 px, truncado.
  • Puesto — Nombre del puesto de trabajo. Ancho 160 px, truncado.
  • Inicio — Fecha de inicio más hora, en formato monoespaciado AAAA-MM-DD HH:MM. Ancho 155 px.
  • Fin — Fecha de fin más hora, en formato monoespaciado AAAA-MM-DD HH:MM. Ancho 155 px.
  • Facturación — Nombre del tipo de facturación asignado (ej. "Facturable", "No facturable"). Ancho 130 px, truncado.
  • Medio — Badge gris con el tipo de medio: Armado, Canino o Sin arma. Ancho 110 px.
  • Estado — Badge de color según el estado del registro (ver tabla de estados). Ancho 110 px.
  • Adjuntos — Botón con ícono de imagen y contador si hay evidencia fotográfica. Ancho 90 px. Sin evidencia muestra "—". Al hacer clic se abre el lightbox con la foto.

Ordenación por defecto

Ordenada por fecha de inicio descendente (date_from DESC).

Filtros

  • Buscar empleado, puesto, proyecto... — Campo de texto libre que busca en múltiples campos.
  • Estado — Selector: Todos, Borrador, Confirmado, Hecho, Cancelado.
  • Medio — Selector: Todos, Armado, Canino, Sin arma.

Estados del adicional

Estado Código Badge Descripción
Borrador draft Gris Registrado pero no validado
Confirmado confirmed Azul Confirmado por el supervisor o administrador
Hecho done Verde Servicio ejecutado y cerrado
Cancelado cancel Rojo Adicional anulado

Tipos de medio

Código Etiqueta Descripción
armado Armado Guardia con arma de fuego
canino Canino Servicio con unidad canina
sin_arma Sin arma Guardia sin arma

Si el campo se deja vacío, no se muestra badge (campo opcional).


Acciones disponibles

Botón "Nuevo adicional"

Visible con permiso additional: create. Abre el modal de creación.

Botón "Catálogos"

Visible con permiso additional: view. Abre el panel deslizante lateral de Tipos de facturación.

Exportar

Botón de exportación. Descarga un archivo adicionales. Requiere permiso additional: export.

Acciones masivas

Al seleccionar uno o más adicionales aparece la barra flotante inferior con:

  • Cambiar estado — Selector de estado (Borrador, Confirmado, Hecho, Cancelado) + botón Aplicar. Requiere permiso additional: edit.
  • Cancelar (eliminar selección) — Doble confirmación. El primer clic muestra "¿Confirmar?" en rojo, el segundo clic ejecuta la eliminación. Requiere permiso additional: delete.
  • Cerrar selección — Botón X para deseleccionar todo.

Campos del formulario

Sección de ubicación (cascada)

  • Cliente (partner_id) — Autocompletado de clientes (opcional). Filtra los proyectos disponibles. Al limpiar el campo, el proyecto y puesto también se limpian.
  • Proyecto (project_id) — Autocompletado de proyectos (obligatorio). Si se seleccionó un cliente, solo muestra proyectos de ese cliente. Al enfocar sin texto, carga los primeros resultados.
  • Puesto (puesto_id) — Autocompletado de puestos (obligatorio). Solo se puede seleccionar después de elegir un proyecto. Muestra el mensaje "Selecciona un proyecto primero" si no hay proyecto.
  • Empleado (employee_id) — Autocompletado de empleados (opcional). El adicional puede registrarse sin empleado específico. Tiene botón X para limpiar la selección.

Sección de clasificación

  • Tipo facturación (billing_type) — Selector con los tipos del catálogo activos. Por defecto fac (Facturable). Puede dejarse vacío ("— Sin definir —").
  • Medio — Selector: vacío, Armado, Canino, Sin arma. Opcional.
  • Cant. diurno (cant_diurno) — Cantidad de horas o unidades diurnas. Solo acepta dígitos (máximo 4 caracteres).
  • Cant. nocturno (cant_nocturno) — Cantidad de horas o unidades nocturnas. Solo acepta dígitos (máximo 4 caracteres).

Sección de fechas y horas

  • Fecha inicio (date_from) — Selector de fecha, formato DD/MM/AAAA (obligatorio). Tiene restricción de días retroactivos según la configuración (max_past_days_for_additional). Si está configurado, muestra "Hasta N días atrás permitidos".
  • Hora inicio (time_from) — Selector de hora en formato HH:MM. Por defecto 08:00.
  • Fecha fin (date_to) — Selector de fecha (obligatorio). No puede ser anterior a la fecha de inicio (el sistema la ajusta automáticamente).
  • Hora fin (time_to) — Selector de hora en formato HH:MM. Por defecto 17:00.

Indicador de duración

El sistema calcula automáticamente la duración al cambiar fechas u horas:

  • Duración positiva — Muestra "Duración: X horas Y minutos" (o días si supera 72 horas).
  • Advertencia de duración larga — Si supera 170 horas: "La duración es muy larga, revisa las fechas" (ámbar).
  • Advertencia de duración corta — Si es mayor que 0 pero menor que 1 hora: "La duración es muy corta, revisa las horas" (ámbar).
  • Error de fechas — Si fin es anterior a inicio: "La fecha/hora de fin debe ser posterior a la de inicio" (rojo). Bloquea el guardado.

Sección de estado y notas

  • Estado (state) — Selector: Borrador, Confirmado, Hecho, Cancelado. Por defecto: Borrador.
  • Observación (note) — Campo de texto libre de 2 líneas. Opcional.

Sección de evidencia

  • Miniatura de 96×96 px. Si no hay foto, muestra ícono de imagen.
  • Subir — Al hacer clic, abre el selector de archivo de imagen. En modo edición, sube inmediatamente al servidor. En modo creación, la foto queda pendiente y se sube después de crear el registro.
  • Reemplazar — Aparece cuando ya hay una foto, reemplaza la existente.
  • Ver — Abre la foto en el lightbox a pantalla completa.
  • Solo se acepta una foto de evidencia por registro.

Validaciones

  • Proyecto es obligatorio: "Selecciona un proyecto".
  • Puesto es obligatorio: "Selecciona un puesto".
  • Fecha inicio y Fecha fin son obligatorias: "Fechas de inicio y fin requeridas".
  • La fecha/hora de fin no puede ser anterior a la de inicio: bloquea el guardado con mensaje en rojo.

Al hacer clic en el contador de adjuntos en la tabla o en el botón "Ver" del modal:

  • Fondo oscuro a pantalla completa.
  • Descargar — Descarga la foto como adicional-evidencia-1.jpg.
  • Pantalla completa — Solicita modo pantalla completa del navegador.
  • Cerrar — Tecla Escape o botón X.
  • Si no hay evidencia disponible, muestra "Sin evidencia disponible".

Catálogo de Tipos de facturación

El botón Catálogos abre el panel deslizante lateral (slide-over) con la lista de tipos de facturación.

Tipos de sistema (inmutables)

Existen tipos de sistema marcados con badge "sistema" que no se pueden renombrar ni eliminar. Solo se puede activar o desactivar su uso:

Código Nombre
fac Facturable
nofac No facturable
ap Apoyo

Tipos personalizados

Se pueden crear tipos adicionales. Al hacer clic en "Nuevo tipo de facturación" (requiere permiso additional: create):

  • Código — Identificador único (obligatorio). No puede duplicarse. Ej: extra_dom.
  • Nombre — Nombre visible en el selector (obligatorio). Ej: "Recargo dominical".
  • Descripción — Nota interna (opcional).
  • Activo — Toggle para activar o desactivar.

Acciones sobre tipos

  • Editar (ícono lápiz, requiere additional: edit) — Abre el formulario de edición. Los tipos de sistema solo permiten cambiar el toggle "Activo".
  • Eliminar (ícono papelera, requiere additional: delete) — Confirmación con diálogo. Solo disponible para tipos no inmutables.

Los tipos inactivos quedan marcados con badge "inactivo" en la lista y no aparecen en el selector del modal.


Permisos

Acción Permiso requerido
Ver adicionales additional: view
Crear adicional additional: create
Editar adicional additional: edit
Eliminar additional: delete
Exportar additional: export

Páginas relacionadas

  • Empleados — El empleado asignado al adicional (opcional).
  • Proyectos — Cada adicional se vincula a un proyecto.
  • Puestos — El puesto específico donde se presta el servicio adicional.
  • Novedades — Módulo hermano para registrar reemplazos y novedades de asistencia.

Preguntas frecuentes

¿Es obligatorio asignar un empleado a un adicional? No. El campo Empleado es opcional. Se puede registrar un adicional sin empleado específico cuando el servicio no ha sido asignado aún o cuando se factura por puesto.

¿Qué diferencia hay entre "Facturable" y "No facturable"? Son tipos de facturación predefinidos del sistema. "Facturable" indica que el servicio se cobrará al cliente; "No facturable" indica que no genera cargo. Ambos son inmutables (no se pueden renombrar ni eliminar).

¿Qué significan "Cant. diurno" y "Cant. nocturno"? Son campos informativos para registrar la cantidad de horas o unidades de servicio en jornada diurna y nocturna respectivamente. No realizan cálculos automáticos; son datos para reportes de facturación.

¿Cuándo cambia el estado de un adicional? El estado no cambia automáticamente. Se cambia manualmente desde el modal de edición (campo Estado) o desde las acciones masivas en la tabla. El flujo típico es: Borrador → Confirmado → Hecho.

¿Puedo tener múltiples fotos de evidencia? No. Cada adicional admite una sola foto de evidencia. Si se sube una nueva foto, reemplaza la existente.

¿Qué pasa si elimino un tipo de facturación que está en uso? Si el tipo tiene registros asociados, el servidor puede rechazar la operación con un mensaje de error. Primero reasigna los adicionales a otro tipo antes de eliminar.

¿Los adicionales aparecen en la nómina? No directamente. Los adicionales son registros de servicio. Su impacto en nómina depende de la configuración contable de la empresa y debe procesarse manualmente.