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,CaninooSin 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 permisoadditional: 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.
Modal de creación / edición¶
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 defectofac(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 defecto08: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 defecto17: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.
Lightbox de evidencia¶
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.