50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
# Tiempo dedicado por proyecto — implementación
|
|
|
|
## Qué agrega
|
|
|
|
- Botón **Tiempo** en cada tarjeta de proyecto.
|
|
- Modal independiente para registrar y consultar tiempo sin abrir/editar el proyecto.
|
|
- Registro por **país**, **tarea**, **horas/minutos**, **fecha** y **nota opcional**.
|
|
- Resumen automático:
|
|
- total del proyecto;
|
|
- desglose por país;
|
|
- desglose por tarea.
|
|
- Historial detallado con usuario y fecha de registro.
|
|
- Eliminación de registros con confirmación para corregir capturas equivocadas.
|
|
- Paginación del historial (10 registros por página).
|
|
|
|
## Antes de desplegar
|
|
|
|
Ejecutar en Supabase SQL Editor:
|
|
|
|
```text
|
|
supabase_project_time_entries.sql
|
|
```
|
|
|
|
El script es idempotente y no modifica las tablas de proyectos, tarifarios ni montos.
|
|
|
|
## Seguridad
|
|
|
|
Solo usuarios autenticados que estén activos en `tablero_cdc_allowed_users` pueden leer o modificar registros de tiempo.
|
|
|
|
## Persistencia
|
|
|
|
Tabla nueva:
|
|
|
|
```text
|
|
public.tablero_cdc_project_time_entries
|
|
```
|
|
|
|
La duración se guarda en minutos enteros para evitar redondeos.
|
|
|
|
## Sincronización automática con Registro horas (2026-08-15)
|
|
|
|
Cada alta o eliminación en **Tiempo dedicado** solicita una reconciliación del proyecto con el workflow n8n `Tablero CDC - Sync Registro Horas`.
|
|
|
|
- Fuente del tiempo: `tablero_cdc_project_time_entries` en Supabase.
|
|
- Destino: `CD_Latam_Registro Horas_2024` → hoja `Registro horas`.
|
|
- El workflow usa `Tablero Time ID` y `Tablero Project ID` en columnas T/U para evitar duplicados y detectar eliminaciones.
|
|
- Mapeo automático: Fecha, Mes, Día, Proyecto, Cliente, País/BU, CM, Trabajado, Tipo de trabajo, Horas, Comentarios, # MES y AÑO.
|
|
- Columnas L:P se dejan disponibles y se preservan si alguien las completa manualmente.
|
|
- Al volver a abrir el modal Tiempo, la app vuelve a solicitar la reconciliación en segundo plano, de modo que un fallo temporal de Google Sheets pueda repararse sin registrar las horas dos veces.
|