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 21:19]
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 sección explica ​el proceso de las novedades de los activos  ​el cual  permite dar cumplimiento a la norma internacional y nacional donde los bienes por diferentes motivos están sujetos a variaciones en su vida útil o valor.+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 |}}
- +
-===== Pre-condiciones y consideraciones ===== +
- +
-Para utilizar la funcionalidad se deben cumplir las siguientes reglas y/o consideraciones:​ +
- +
-  * El usuario debe tener permisos en la opción +
-  * El sistema solo permite ingresar novedades para el periodo abierto +
-  * El sistema solo muestra placas que se encuentran con plan de cuentas asociado al plan de cuentas principal+
  
 ===== Pestañas ===== ===== Pestañas =====
 +**Lista**: Esta pestaña nos mostrara el listado de las novedades enviadas para su aprobación.
  
-El proceso de novedades de activos (Pre-cierre) está definido según el estándar de ventanas de SICOF ERP el cuál describe los procesos por medio de pestañas las cuales se describen a continuación:+{{ :sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades.png?​600 |}}
  
-**Lista**: Esta pestaña nos mostrara el listado de las novedades creadas según el estado filtrado. +**Encabezado**:​ Esta pestaña nos mostrara el encabezado de la novedad seleccionada. Es solo informativa ya que no permite modificaciones.
- +
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades.png?​500 |}} +
- +
-**Encabezado**:​ Esta pestaña nos mostrara el encabezado de la novedad seleccionada ​o creada, nos mostrará que tipo de novedad es, la fecha de la novedad (fecha en la que afecta la novedad), el numero del documento de la novedad, el estado de la novedad, la fecha de elaboración de la novedad (fecha real de la novedad), la descripción de la novedad y solo en las diminuciones o incrementos de valor nos mostrará otro campo llamado Subtipo. +
- +
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_novedades.png?​500 |}} +
- +
-**Detalle Novedad**: Este nos mostrará el detalle de la novedad, nos mostrará ​que placas va a afectar o afectó la novedad, este cambia según el tipo de novedad seleccionado. +
- +
- +
-===== Tipos de novedades ===== +
-  * 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 ==== +
- +
-  * Creamos una nueva novedad de tipo Disminución Valor Adquisición o Incremento Valor Disminución. +
- +
-{{ :​sicoferp:​compras:​boton_nuevo.png?​600 |}} +
- +
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr.png?600 |}}+
  
 {{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr_2.png?​600 |}} {{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr_2.png?​600 |}}
  
-**Nota**: Los campos Número, Subtipo y Descripción son obligatorios,​ sin ellos no podemos ingresar al detalle de la novedad.+**Detalle Novedad**: Este nos mostrará el detalle de la novedad ​seleccionada. No se puede realizar ningún cambio aquí.
  
-  * Vamos a la pestaña Detalle e ingresamos el número de entrada de la placa.+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​detalle_novedad_aprobacion.png?600 |}}
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​detalle_dism_incr.png?​600 |}}+===== Aprobación =====
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​detalle_dism_incr_2.png?600 |}}+Para aprobar una novedad debemos marcar el campo Aprobar y darle al botón guardar.
  
-  * Agregamos el valor de la novedad en el campo Valor Novedad. +{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades_aprobacion_2.png?600 |}}
- +
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​detalle_dism_incr_3.png?600 |}} +
- +
-  * Guardamos la novedad (Quedará guardada en estado En Borrador).+
  
 {{ :​sicoferp:​compras:​boton_guardar.png?​600 |}} {{ :​sicoferp:​compras:​boton_guardar.png?​600 |}}
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_dism_incr.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.
  
-Para aprobar la novedad debemos primero enviarla para eso marcamos el campo Enviar las novedades a aprobar y le damos al botón guardar, solo podremos enviar novedades en estado En Borrador o Rechazadas.+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​mensaje_novedad_aprobacion.png?600 |}}
  
-Para eliminar una novedad debemos marcar el campo Eliminar y le damos al botón guardar, tener el cuenta que el estado debe ser En Borrador o Rechazadas, de lo contrario no lo permitirá eliminar.+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​mensaje_aprobacion_2.png?600 |}}
  
-==== Impresión ====+Después del mensaje de confirmación el sistema nos generará el documento de la novedad.
  
-Podemos imprimir el documento de la novedad, el sistema solo lo permitirá si la novedad esta en estado Enviado o Aprobado.+{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​impresion_novedades_aprobacion.png?600 |}}
  
-Para imprimirlo realizamos lo siguiente:+**Nota**Si se aprueban varias el sistema generará el documento de la ultima novedad con la marca de aprobar de la lista.
  
-  * Seleccionamos la novedad a imprimir.+===== Rechazar =====
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​impresion_novedades.png?​600 |}}+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
  
-  * Le damos al botón imprimir.+===== Documentación de Ajustes: Novedades de Activos (Depreciados e Incrementos) =====
  
-{{ :​sicoferp:​compras:​boton_imprimir.png?600 |}}+=== 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.
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​impresion_novedad_2.png?600 |}}+=== 2Mejoras de Interfaz de Usuario (UI) ===
  
-**Nota**El sistema solo puede imprimir ​la novedad seleccionada.+Gestión de Selección de Entradas 
 +ProblemaLa 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".
  
-====== Novedades ​de activos Aprobación ======+=== 3. Lógica ​de Negocio y Validaciones ​===
  
-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.+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":​
  
-Para utilizar esta funcionalidad debemos ingresar ​la ruta Activos Fijos/​Novedades Activos Aprobación+Marcado (S): Solo recupera activos cuyo valor en libros sea menor o igual 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:​
  
-{{ :sicoferp:​compras:menu_activos_fijos.png?500 |}}+ReglaNo se permite cambiar el estado del checkbox "​Placas depreciadas"​ si ya existen registros cargados en el detalle de la novedad. 
 +AcciónEl sistema obliga al usuario a vaciar el detalle antes de alternar entre activos depreciados y no depreciados.
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​novedades_activos_aprobación.png?500 |}}+=== 4Detalles Técnicos (Para Desarrolladores) ===
  
-===== Pestañas ===== +Nuevos Métodos y Eventos Intervenidos 
-**Lista**Esta pestaña nos mostrara ​el listado ​de las novedades enviadas ​para su aprobación.+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:
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades.png?600 |}}+d_placas_factura (DataStore de carga). 
 +dgr_lista_activos_vidautil_cor (Lupas de búsqueda). 
 +dgr_lista_activos_valor_razonable. 
 +dgr_lista_activos_novedades.
  
-**Encabezado**Esta pestaña nos mostrara el encabezado ​de la novedad seleccionada. Es solo informativa ya que no permite modificaciones.+=== Desarrollado por[Miguel Muñoz] Fecha: [04/​06/​2026] Versión ​de PB: 12.5 ===
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​encabezado_dism_incr_2.png?​600 |}}+===== Ajuste en Aprobación de Novedades de Depreciación para Activos Nuevos o Totalmente Depreciados =====
  
-**Detalle Novedad**: Este nos mostrará el detalle de la novedad seleccionada. No se puede realizar ningún cambio aquí.+=== 1Descripción del Problema ===
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​detalle_novedad_aprobacion.png?600 |}}+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).
  
-==== Aprobación ====+El sistema no permitía aprobar este tipo de novedad para dos casos específicos:​
  
-Para aprobar una novedad debemos marcar el campo Aprobar ​darle al botón guardar.+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 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.
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​lista_novedades_aprobacion_2.png?600 |}}+=== 2Causa Raíz ===
  
-{{ :​sicoferp:​compras:​boton_guardar.png?600 |}}+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).
  
-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.+Esta consulta incluía una condición restrictiva en la cláusula WHERE:
  
-{{ :sicoferp:compras:​activosfijos:​novedadesactivos:​mensaje_novedad_aprobacion.png?600 |}}+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.
  
-{{ :​sicoferp:​compras:​activosfijos:​novedadesactivos:​mensaje_aprobacion_2.png?600 |}}+=== 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.
  
-Después del mensaje de confirmación el sistema nos generará el documento de la novedad.+Detalles Técnicos:
  
-{{ :sicoferp:​compras:​activosfijos:novedadesactivos:impresion_novedades_aprobacion.png?600 |}}+Objeto Modificadow_novedades_activos_apr.srw 
 +Eventoue_grabar 
 +Cambio RealizadoSe eliminó la línea AND VALOR_DEPRECIADO <> 0 de la consulta INSERT INTO compras01.mov_depreciacion_temp
  
-**Nota**Si se aprueban varias el sistema generará el documento ​de la ultima novedad con la marca de aprobar de la lista.+=== Desarrollado por[Miguel Muñoz] Fecha: [21/​07/​2026] Versión ​de PB: 12.5 ===
  
-==== 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 
  
sicoferp/compras/activosfijos/novedadesactivos/start.1620940769.txt.gz · Última modificación: 2021/05/13 21:19 por brahian.castaneda