# Registro de Bugs y Problemas Operativos DASUTEN > **Ámbito:** A04 — dtic-DASUTEN > **Código:** A04.P007 > **Estado:** 🟢 ACTIVO (operación continua) > **Responsable:** DTIC - DIIAA --- ## 📊 Tablero de Estado | Bug-ID | Título | Prioridad | Estado | Fecha Reporte | Fecha Cierre | |:------:|--------|:---------:|:------:|:--------------|:-------------| | #001 | [Error plantillas en Práctica](#bug-001-error-de-plantillas-en-sección-práctica) | Alta | 🛠️ En solución | 2026-04-16 | — | | #002 | [Impresión - rutas hardcodeadas](#bug-002-impresión-no-funciona-rutas-hardcodeadas) | Alta | ✅ Cerrado | 2026-04-13 | 2026-04-13 | | #003 | [Zona horaria incorrecta](#bug-003-zona-horaria-incorrecta-en-servidor) | Media | ✅ Cerrado | 2026-04-14 | 2026-04-14 | | #004 | [Restore diferencial - escape rutas](#bug-004-restore-diferencial-fallaba-por-escape-de-rutas) | Alta | ✅ Cerrado | 2026-04-16 | 2026-04-16 | **Leyenda de Estados:** - 🆕 Reportado → 🔍 En diagnóstico → 🛠️ En solución → ✅ Resuelto → 📚 Cerrado --- ## 🎯 Objetivo del Documento Este registro centraliza la **gestión de bugs y problemas operativos** del sistema DASUTEN en producción. **Características:** - **Vivo:** Se actualiza con cada nuevo bug reportado - **Trazable:** Cada bug tiene ID único y historial completo - **Acción:** Estado claro y próximos pasos definidos - **Histórico:** Bugs cerrados permanecen como referencia --- ## 📋 Bugs Activos ### BUG #001: Error de Plantillas en Sección "Práctica" | Metadato | Valor | |----------|-------| | **Reportado por** | Andrea Almirón | | **Fecha** | 2026-04-16 | | **Prioridad** | Alta | | **Estado** | 🛠️ En solución (investigación directa en producción) | | **Impacto** | Bloquea sección completa de Práctica | #### Descripción Al intentar trabajar en la sección **Práctica**, el sistema muestra un error relacionado con **plantillas de documentos**. #### Contexto Técnico El sistema DASUTEN utiliza plantillas Word/Excel para generar documentos imprimibles: - `C:\SysDasuten\Sistema\Word\` (97 archivos .doc) - `C:\SysDasuten\Sistema\Excel\` (Recibo.xls) #### Antecedentes Relacionados | Bug-ID | Problema | Solución | |--------|----------|----------| | #002 | Impresión no funcionaba — rutas a `C:\Sistema\` | Symlink `C:\Sistema → C:\SysDasuten\Sistema` | #### Hipótesis 1. **Ruta de plantillas incorrecta** — El ejecutable VFP busca en una ruta que no existe 2. **Permisos de archivo** — Las plantillas no son legibles desde el contexto de ejecución 3. **Referencia en código** — La sección "Práctica" tiene una ruta hardcodeada diferente #### Plan de Resolución > 📌 **Ver:** [`A04.P008_VM-Local-Test.md`](A04.P008_VM-Local-Test.md) — Plan completo de instalación de VM local de testeo. **Estrategia:** Instalar una VM local en el mismo Workgroup que `dasu-pc` para reproducir el error de forma segura y encontrar la causa raíz sin interrumpir a la usuaria final. #### Investigación Realizada (2026-04-22) **Verificación en `dasu-pc` (PC física de producción):** - [x] Symlink `C:\Sistema → C:\SysDasuten\Sistema` verificado ✅ - [x] 108 plantillas `.doc` presentes en `C:\Sistema\Word\` ✅ - [x] Archivos críticos existentes (`CERTIFICADOCREDENCIALRECIP.doc`, `Consulta_Medicos.doc`) ✅ - [x] `Kermet.ini` configurado correctamente con SQL Auth hacia `dasu-sql4` ✅ **Hallazgos:** - La ruta de plantillas está correctamente configurada - No se encontraron archivos con "Pract" en el nombre en `C:\Sistema\Word\` - Se requiere identificar qué plantillas específicas usa la sección "Práctica" #### Investigación en Base de Datos (2026-04-22) **Consulta a `sysdasuten` en `dasu-sql4`:** - [x] Tabla `PlanesEspeciales` identificada ✅ — Contiene registros de planes especiales con observaciones médicas - [x] Tablas relacionadas encontradas: `Certificados`, `CertificadoAfiliados`, `CertificadosProvisorios` - [x] Tabla `ConfigGeneral` vacía (sin configuración de rutas de plantillas) - [x] Tabla `reportes` vacía **Estructura de `PlanesEspeciales`:** | Columna | Tipo | |---------|------| | `id` | int | | `codigoafiliado` | int | | `codigofamiliar` | int | | `nroplancobertura` | int | | `desde_periodo` | int | | `hasta_periodo` | int | | `fechamotivo` | datetime | | `observacion` | text | | `referencia` | int | | `fechasolic` | datetime | | `fechafin` | datetime | | `motivoprestacional` | char | **Hallazgo clave:** La tabla NO tiene columnas de ruta de plantilla — la generación de documentos parece estar hardcodeada en el ejecutable VFP. #### Próximos Pasos - [x] ~~Consultar base de datos `sysdasuten` para buscar tablas de "Práctica" o "Planes Especiales"~~ (Completado) - [ ] **Solicitar a usuaria captura de pantalla del error exacto** (CRÍTICO — sin esto no podemos avanzar) - [ ] Revisar logs recientes (`logdasuten.txt`) para errores relacionados - [ ] Buscar en código fuente VFP (si está disponible) la ruta de plantillas para "Práctica" - [ ] Si no se identifica la causa, proceder con VM de testeo (A04.P008) --- ## 📜 Histórico de Bugs Cerrados ### BUG #002: Impresión no Funciona - Rutas Hardcodeadas | Metadato | Valor | |----------|-------| | **Reportado por** | Andrea Almirón | | **Fecha** | 2026-04-13 | | **Prioridad** | Alta | | **Estado** | ✅ Cerrado | | **Tiempo de resolución** | < 2 horas | #### Descripción La función de impresión del sistema DASUTEN no funcionaba. Los documentos no se generaban. #### Causa Raíz El ejecutable de Visual FoxPro tenía hardcodeada la ruta legacy `C:\Sistema\` para las plantillas, pero el directorio real estaba en `C:\SysDasuten\Sistema\`. #### Solución Implementada ```powershell # Symlink para redirigir ruta legacy a ruta actual New-Item -ItemType SymbolicLink -Path "C:\Sistema" -Target "C:\SysDasuten\Sistema" ``` #### Validación - [x] Impresión de documentos funcional - [x] Validado por usuaria Andrea Almirón #### Lección Aprendida El sistema VFP asume rutas legacy. Documentar todos los paths hardcodeados antes de migraciones futuras. --- ### BUG #003: Zona Horaria Incorrecta en Servidor | Metadato | Valor | |----------|-------| | **Reportado por** | Monitoreo DTIC | | **Fecha** | 2026-04-14 | | **Prioridad** | Media | | **Estado** | ✅ Cerrado | | **Tiempo de resolución** | < 30 minutos | #### Descripción El servidor `dasu-sql4` tenía configurada una zona horaria incorrecta, lo que afectaba los timestamps de la base de datos y los backups. #### Causa Raíz La zona horaria configurada era "Romance Standard Time" (UTC+2, Europa del Este) en lugar de "Argentina Standard Time" (UTC-3). #### Solución Implementada ```powershell # Configurar zona horaria correcta Set-TimeZone -Id "Argentina Standard Time" ``` #### Validación - [x] `Get-TimeZone` retorna "Argentina Standard Time" - [x] Timestamps de SQL Server correctos - [x] Backups con horarios OK #### Lección Aprendida Verificar timezone en deploy inicial de cualquier servidor Windows. Incluir en checklist de provisioning. --- ### BUG #004: Restore Diferencial Fallaba por Escape de Rutas | Metadato | Valor | |----------|-------| | **Reportado por** | Pipeline de Backups | | **Fecha** | 2026-04-16 | | **Prioridad** | Alta | | **Estado** | ✅ Cerrado | | **Tiempo de resolución** | < 1 hora | #### Descripción El script Ruby de restore diferencial fallaba al intentar ejecutar comandos en el servidor Windows. #### Causa Raíz Las rutas Windows en el script Ruby no tenían el escape correcto de backslashes. Ejemplo: ```ruby # Incorrecto "C:\Program Files\Microsoft\..." # Correcto "C:\\Program Files\\Microsoft\\..." ``` #### Solución Implementada Modificación del archivo `dasuten_restaurar_diferencial_dasu-sql4.rb`: - Escape de todas las rutas Windows con dobles backslashes - Validación de sintaxis Ruby Commit: `faf46be8 [Bugfix] dasuten_restaurar_diferencial_dasu-sql4.rb — Escape rutas Windows` #### Validación - [x] Restore diferencial ejecuta sin errores de sintaxis - [x] Backup restaurado correctamente en entorno de prueba #### Lección Aprendida Los scripts Ruby que interactúan con Windows requieren escape estricto de rutas. Considerar uso de `%q{}` o forward slashes donde sea compatible. --- ## 🔧 Metodología de Gestión de Bugs ### Flujo de Trabajo ``` 🆕 Reportado → 🔍 Diagnóstico → 🛠️ En solución → ✅ Resuelto → 📚 Cerrado ``` ### Criterios de Estado | Estado | Criterio | |--------|----------| | 🆕 **Reportado** | Bug ingresado en el registro, pendiente de análisis inicial | | 🔍 **Diagnóstico** | Equipo analizando causa raíz, reproduciendo el error | | 🛠️ **En solución** | Causa identificada, implementación de fix en curso | | ✅ **Resuelto** | Fix implementado, pendiente validación del usuario | | 📚 **Cerrado** | Usuario validó solución, bug se mueve a histórico | ### Bitácora Web Los detalles de cada intervención se registran en: - **URL:** http://localhost:5174/bitacoras/ - **Filtro:** Ámbito `dtic-DASUTEN` - **Búsqueda:** `[A04.P007]` o `BUG-###` --- ## 📝 Lecciones Aprendidas (Consolidado) | Fecha | Bug | Causa Raíz | Solución | Prevención | |-------|-----|------------|----------|------------| | 2026-04-13 | #002 Impresión | Rutas hardcodeadas legacy | Symlink `C:\Sistema` | Documentar paths en código VFP | | 2026-04-14 | #003 Timezone | "Romance Standard Time" | `Set-TimeZone` Argentina | Checklist de provisioning | | 2026-04-16 | #004 Escape rutas | Backslashes sin escape en Ruby | `C:\\Program Files\\...` | Linter/validación de scripts | --- ## 🛠️ Herramientas Disponibles ```bash # SSH a dasu-sql4 (vía srv-dasu) ./adn/tools/run nodos info dasu-sql4 # SSH a dasu-pc (vía Tailscale) ./adn/tools/run nodos info dasu-pc # Ejecutar PowerShell remoto ruby adn/tools/candados/candados.rb run dasu-sql4:Administrador "" # Ver logs de bitácora ./adn/tools/run db evento:listar --ambito dtic-DASUTEN --descripcion "P007" # Buscar eventos por Bug-ID ./adn/tools/run db evento:listar --ambito dtic-DASUTEN --descripcion "BUG-001" ``` --- ## 📅 Historial de Versiones del Documento | Versión | Fecha | Cambios | |---------|-------|---------| | 2.2 | 2026-04-22 | BD consultada: tabla `PlanesEspeciales` identificada, sin columnas de plantilla | | 2.1 | 2026-04-22 | Investigación en producción: symlink verificado | | 2.0 | 2026-04-16 | Reestructuración completa: formato escalable para múltiples bugs | | 1.0 | 2026-04-16 | Versión inicial — Bug #001: Error plantillas Práctica | --- **Última actualización:** 2026-04-22 **Próxima revisión:** Al cerrar BUG #001 o al reportarse nuevo bug