Files
dtic-DIIAA/docs/ambito/dtic-DASUTEN/A04.P007_Bugs-Operativos.md
T
Ricardo MonlaandClaude Opus 4.7 6bb1c89742 docs: actualizaciones de ámbitos DASUTEN, IDIS y W-ZOMBI
Cambios:
- A04.P007: Bugs Operativos (actualización)
- A04.P008: VM Local de Test (actualización)
- A04.P009: SQL Linux Test (nuevo archivo)
- A10.P001: Office365 (actualización)
- w-zombi/data/cmd.json: actualización de comandos

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:46:43 -03:00

315 lines
10 KiB
Markdown

# 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 "<comando PowerShell>"
# 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