- bootstrap(): una sola llamada al entrar con roles y listas según el rol; las pestañas se dibujan
al instante con los roles de la última sesión (localStorage, solo interfaz). getDatosIniciales
queda como alias.
- CacheService por versión de colección (proyectos, contratos, cotizaciones, catálogo,
requisiciones, oc, pagosCobranza, pagosProveedores): doPost sube la versión tras cada escritura
(con candado); las hojas que se editan a mano se revisan por huella cada pocos minutos desde
la consulta de fondo. Memoria por petición para propiedades y cachés.
- sincronizar(versiones, contexto): devuelve solo lo que cambió y respeta roles; la interfaz
consulta cada 20 s con la pestaña visible, al cambiar de pestaña y al abrir un buscador de
proyectos; si alguien está capturando, avisa en vez de repintar. Los cambios de rol se aplican
sin recargar.
- Requisiciones, OC y pago a proveedores en proyectos Activos y Cerrados con o sin contrato
(moneda de la aceptada o MXN); Cancelados no. Cobranza sin aceptada muestra costo de OC y
"Sin contrato". Pagos de clientes siguen exigiendo contrato firmado.
- Clave de proyecto (columna L): folio visible PRY-AAAA-NNNN-XXX, sugerida con el nombre y
editable al crear; la llave interna sigue siendo PRY-AAAA-NNNN. asignarClavesProyectos()
(vista previa) y asignarClavesProyectosAplicar() asignan clave a los existentes y renombran
su carpeta principal. Buscadores por clave.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pestaña "Tipo de cambio" en el catálogo: Google Finance (USD→MXN), un valor
manual opcional que manda, y el tipo de cambio en uso (rango TIPO_CAMBIO).
Se crea sola y se recalcula cada hora.
- Columna I "Precio USD (sin IVA, automático)": fórmula por renglón (no
ARRAYFORMULA, para que appendRow no escriba al final de la hoja); los
renglones sin fórmula se reparan solos; protegida con advertencia.
- En cotizaciones USD, al elegir un producto se pone su precio en dólares; al
cambiar de moneda se convierten los renglones del catálogo no modificados y
se avisa de los capturados a mano. La pestaña Catálogo muestra el precio USD
y el tipo de cambio en uso.
- Pruebas de catálogo e interfaz ampliadas; CLAUDE.md actualizado.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>