Herramientas de usuario

Herramientas del sitio


sicoferp:compras:activosfijos:novedadesactivos:start

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
Próxima revisión
Revisión previa
sicoferp:compras:activosfijos:novedadesactivos:start [2021/05/13 18:39]
brahian.castaneda
sicoferp:compras:activosfijos:novedadesactivos:start [2026/07/21 16:55] (actual)
brahian.castaneda
Línea 1: Línea 1:
-====== Novedades de activos ======+====== Novedades de activos ​Aprobación ​======
  
-Esta funcionalidad nos permite ​realizar diferentes tipos de ajustes o novedades ​a una placa+Esta funcionalidad nos permite ​aprobar las novedades ​enviadas, el sistema verificara que todo este correcto, si esta correcto nos mostrara que se realizó el proceso de aprobación y nos generará el documento de la novedad.
  
-Para utilizar ​la funcionalidad debemos ingresar a la ruta Activos ​fijos/​Novedades ​de activos+Para utilizar ​esta funcionalidad debemos ingresar a la ruta Activos ​Fijos/​Novedades ​Activos Aprobación
  
 {{ :​sicoferp:​compras:​menu_activos_fijos.png?​500 |}} {{ :​sicoferp:​compras:​menu_activos_fijos.png?​500 |}}
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​novedades_activos.png?500 |}}+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​novedades_activos_aprobación.png?500 |}}
  
 ===== Pestañas ===== ===== Pestañas =====
-  - **Lista**: Esta pestaña nos mostrara el listado de las novedades ​creadas según el estado filtrado +**Lista**: Esta pestaña nos mostrara el listado de las novedades ​enviadas para su aprobación.
-  - **Encabezado**:​ +
-  - **Detalle Novedad**:+
  
 +{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades.png?​600 |}}
  
-===== Funcionamiento ===== +**Encabezado**: Esta pestaña nos mostrara ​el encabezado ​de la novedad ​seleccionada. Es solo informativa ya que no permite modificaciones.
-  ​Elegimos un tipo de novedad +
-  ​Seleccionamos las placas a afectar +
-  ​Ingresamos ​el valor de la novedad +
-  * Guardamos la novedad +
-  * Enviamos la novedad +
-  * Aprobamos la novedad+
  
-===== Tipos de novedades ===== +{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr_2.png?​600 |}}
-  * Ajustes Depreciación +
-  * Deterioro +
-  * Disminución Valor Adquisición +
-  * Incremento Valor Adquisición +
-  * Indicio Deterioro +
-  * Mayor Vida Útil +
-  * Menor Vida Útil +
-  * Mejoras/​Repotenciación +
-  * Valorización+
  
-==== Disminución/​Incremento Valor Adquisición ====+**Detalle Novedad**: Este nos mostrará el detalle de la novedad seleccionada. No se puede realizar ningún cambio aquí.
  
-Creamos una nueva novedad de tipo Disminución Valor Adquisición o Incremento Valor Disminución+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​detalle_novedad_aprobacion.png?​600 |}}
  
-{{ :​sicoferp:​compras:​boton_nuevo.png?​600 |}}+===== Aprobación =====
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr.png?600 |}}+Para aprobar una novedad debemos marcar el campo Aprobar y darle al botón guardar.
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr_2.png?600 |}}+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades_aprobacion_2.png?600 |}} 
 + 
 +{{ :​sicoferp:​compras:​boton_guardar.png?​600 |}} 
 + 
 +El sistema nos mostrará un mensaje antes de aprobar la novedad avisándonos si estamos de acuerdo con el valor de la novedad, si estamos de acuerdo presionamos aceptar. 
 + 
 +{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​mensaje_novedad_aprobacion.png?​600 |}} 
 + 
 +{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​mensaje_aprobacion_2.png?​600 |}} 
 + 
 +Después del mensaje de confirmación el sistema nos generará el documento de la novedad. 
 + 
 +{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​impresion_novedades_aprobacion.png?​600 |}} 
 + 
 +**Nota**: Si se aprueban varias el sistema generará el documento de la ultima novedad con la marca de aprobar de la lista. 
 + 
 +===== Rechazar ===== 
 + 
 +Si queremos rechazar una novedad debemos marcar el campo rechazar de la novedad y darle a guardar, esto hará que la novedad cambie a esto Rechazado 
 + 
 +===== Documentación de Ajustes: Novedades de Activos (Depreciados e Incrementos) ===== 
 + 
 +=== 1. Resumen de la Intervención === 
 +Se realizaron ajustes correctivos y preventivos en la ventana w_novedades_activos para mejorar la usabilidad en el registro de novedades tipo ICA (Incremento de Valor) e ICD (Disminución de Valor), asegurando la integridad de los datos al manejar activos totalmente depreciados. 
 + 
 +=== 2. Mejoras de Interfaz de Usuario (UI) === 
 + 
 +Gestión de Selección de Entradas 
 +Problema: La ventana emergente de selección de entradas (dw_lista_entradas) permanecía visible tras la selección, bloqueando otros campos. 
 +Solución: Se implementó una lógica de cierre automático y redirección de foco en la función wf_process_entrada_selection. Ahora, al seleccionar una entrada, la lista desaparece y el cursor se posiciona automáticamente en el DataWindow de detalle. 
 +Control de Errores de Validación 
 +Ajuste: Se sustituyó el valor de retorno 1 por 2 en el evento itemchanged del campo depreciados. 
 +Resultado: Esto permite rechazar cambios inválidos mostrando un mensaje personalizado de la aplicación,​ evitando que PowerBuilder despliegue el error genérico del sistema "Item does not pass the validation test"​. 
 + 
 +=== 3. Lógica de Negocio y Validaciones === 
 + 
 +Filtro Dinámico de Activos Depreciados 
 +Al ingresar el número de entrada para tipos ICA/ICD, el sistema ahora valida el estado del checkbox "​Placas depreciadas":​ 
 + 
 +Marcado (S): Solo recupera activos cuyo valor en libros sea menor o igual a cero. 
 +Desmarcado (N): Solo recupera activos con valor en libros positivo. 
 +Bloqueo de Integridad en el Detalle 
 +Se añadió una regla de validación estricta para evitar inconsistencias:​ 
 + 
 +Regla: No se permite cambiar el estado del checkbox "​Placas depreciadas"​ si ya existen registros cargados en el detalle de la novedad. 
 +Acción: El sistema obliga al usuario a vaciar el detalle antes de alternar entre activos depreciados y no depreciados. 
 + 
 +=== 4. Detalles Técnicos (Para Desarrolladores) === 
 + 
 +Nuevos Métodos y Eventos Intervenidos 
 +wf_process_entrada_selection (string as_selected_value):​ Nueva función de usuario que centraliza la carga de placas desde una entrada. Utiliza referencias dinámicas a la ventana (parent.GetParent().GetParent()) para evitar errores de "Null Object Reference"​. 
 +dw_lista_entradas.clicked:​ Se optimizó usando el argumento row nativo del evento en lugar de GetRow(), garantizando la captura correcta del dato seleccionado. 
 +dw_detalle.itemchanged:​ Se agregó la lógica de validación de filas existentes para proteger el campo depreciados. 
 +Dependencias de Base de Datos (SQL) 
 +Para asegurar que solo se muestren placas del Plan Contable Principal (1), se identificaron los siguientes DataWindows que requieren la cláusula WHERE TIPO_PLAN_CONTABLE = 1: 
 + 
 +d_placas_factura (DataStore de carga). 
 +dgr_lista_activos_vidautil_cor (Lupas de búsqueda). 
 +dgr_lista_activos_valor_razonable. 
 +dgr_lista_activos_novedades. 
 + 
 +=== Desarrollado por: [Miguel Muñoz] Fecha: [04/​06/​2026] Versión de PB: 12.5 === 
 + 
 +===== Ajuste en Aprobación de Novedades de Depreciación para Activos Nuevos o Totalmente Depreciados ===== 
 + 
 +=== 1. Descripción del Problema === 
 + 
 +Se detectó una incidencia en el módulo de aprobación de novedades de activos fijos (w_novedades_activos_apr),​ específicamente para las novedades de tipo Ajuste de Depreciación (AJUST). 
 + 
 +El sistema no permitía aprobar este tipo de novedad para dos casos específicos:​ 
 + 
 +Placas (Activos) Nuevas: Activos que aún no han tenido su primer cálculo de depreciación. 
 +Placas (Activos) Totalmente Depreciadas:​ Activos que ya han cumplido su vida útil y su valor depreciado en el último período fue cero. 
 +El error ocurría porque el proceso de aprobación intentaba buscar un registro de depreciación del período anterior con un valor depreciado diferente de cero, condición que estos activos no cumplían. 
 + 
 +=== 2. Causa Raíz === 
 + 
 +La causa del problema se encontraba en el evento ue_grabar del objeto w_novedades_activos_apr.srw. Al aprobar una novedad de tipo AJUST, el sistema ejecuta una sentencia INSERT INTO compras01.mov_depreciacion_temp SELECT ... para crear el registro del ajuste basándose en los datos del último período depreciado (ll_periodo_dep).
  
-Nota: Los campos Número, Subtipo y Descripción son obligatorios,​ sin ellos no podemos ingresar al detalle de la novedad+Esta consulta incluía una condición restrictiva en la cláusula WHERE:
  
-[Imagen ​de encabezado]+powerscript 
 +... 
 +FROM compras01.mov_depreciacion_temp 
 +WHERE CODIGO_PLACA = :​ll_cod_placa_ajuste  
 +AND VALOR_DEPRECIADO <> 0  -- <-- Esta línea causaba el problema 
 +AND PERIODO = :​ll_periodo_dep 
 +... 
 +La línea AND VALOR_DEPRECIADO <> 0 filtraba y excluía las placas que no tenían un valor de depreciación registrado en el período anterior, impidiendo que el INSERT se ejecutara y, por consiguiente,​ fallando la aprobación.
  
-Ingresamos ​el número de entrada ​de la placa+=== 3. Solución Implementada === 
 +Para solucionar la incidencia y permitir que el flujo de aprobación funcione correctamente para todos los activos, se modificó ​la sentencia INSERT eliminando la condición que validaba el valor depreciado.
  
-[Imagen ingresando el número de la entrada]+Detalles Técnicos:
  
-[Imagen con la información cargada]+Objeto Modificado: w_novedades_activos_apr.srw 
 +Evento: ue_grabar 
 +Cambio Realizado: Se eliminó ​la línea AND VALOR_DEPRECIADO <> 0 de la consulta INSERT INTO compras01.mov_depreciacion_temp
  
-Agregamos el valor de la novedad en el campo Valor Novedad+=== Desarrollado por: [Miguel Muñoz] Fecha: [21/​07/​2026] Versión ​de PB: 12.5 ===
  
-[Imagen de la novedad] 
  
-Guardamos la novedad (Quedará guardada en estado En Borrador) 
sicoferp/compras/activosfijos/novedadesactivos/start.1620931175.txt.gz · Última modificación: 2021/05/13 18:39 por brahian.castaneda