Esta ventana permite generar o modificar la estructura de niveles de rubros de gastos.
En esta pestaña se puede visualizar y modificar los datos de un nivel y de códigos de nivel de la estructura de rubros de gastos.
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.
w_niveles_rubro.srw (Estructura de Gastos) w_estructura_ingresos.srw (Estructura de Ingresos)
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.
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.