Herramientas de usuario

Herramientas del sitio


ada:sicoferp:financiero:presupuesto:administradorsistemapresupuesto:estructurarubro

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
ada:sicoferp:financiero:presupuesto:administradorsistemapresupuesto:estructurarubro [2021/12/29 19:19]
edixson.matos
ada:sicoferp:financiero:presupuesto:administradorsistemapresupuesto:estructurarubro [2026/04/16 13:33] (actual)
brahian.castaneda
Línea 15: Línea 15:
  
 {{:​ada:​sicoferp:​financiero:​presupuesto:​administradorsistemapresupuesto:​estructuragastos002.png?​600|}} {{:​ada:​sicoferp:​financiero:​presupuesto:​administradorsistemapresupuesto:​estructuragastos002.png?​600|}}
 +
 +===== Corrección en Estructura de Rubros (Ingresos y Gastos) =====
 +
 +=== 1. Descripción del Problema ===
 +
 +Se detectó que, en las ventanas de configuración de estructura de rubros, al intentar desmarcar la clasificación de un código (ej. desmarcar "​Funcionamiento"​),​ el sistema notificaba un guardado exitoso pero no persistía el cambio en la base de datos, restaurando el valor anterior al recargar.
 +
 +=== 2. Objetos Involucrados ===
 +
 +w_niveles_rubro.srw (Estructura de Gastos)
 +w_estructura_ingresos.srw (Estructura de Ingresos)
 +
 +=== 3. Análisis de Causa Raíz ===
 +
 +Sobrescritura en Validación:​ Dentro de la función wf_valide_codigos,​ existía una sentencia SetItem que forzaba el valor de la columna reserva basándose en el encabezado del nivel, ignorando y pisando cualquier cambio manual realizado por el usuario en la grilla antes del Update().
 +Valores Inválidos: Se encontró el uso del carácter '​F'​ en campos lógicos (tipo char '​S'/'​N'​),​ lo que impedía el procesamiento correcto de la lógica de exclusión.
 +Riesgo de Stack Overflow: La validación de filas se ejecutaba mediante recursividad (funcion -> funcion + 1), lo que podía causar desbordamiento de pila en estructuras con gran volumen de datos.
 +
 +=== 4. Soluciones Implementadas ===
 +
 +=== Persistencia de Clasificación: ​ ===
 +
 +Se eliminó la línea de código que forzaba el valor de reserva en la validación,​ permitiendo que el estado definido por el usuario en el DataWindow llegue a la base de datos.
 +Corrección de Lógica Lógica: Se reemplazaron valores erróneos (como '​F'​) por el estándar '​N'​ en el evento itemchanged.
 +
 +Optimización de Código: Se sustituyó la validación recursiva por un bucle iterativo (FOR...NEXT) en el evento ue_grabar, mejorando el rendimiento y la estabilidad del sistema.
 +Gestión de Recursos (Monitor): Se aseguró el cierre y liberación de memoria del objeto iuo_monitor (invocación de ue_finish y destroy) en todos los flujos de salida (éxito y error) para evitar fugas de memoria y ventanas de progreso bloqueadas.
  
ada/sicoferp/financiero/presupuesto/administradorsistemapresupuesto/estructurarubro.1640805565.txt.gz · Última modificación: 2021/12/29 19:19 por edixson.matos