Herramientas de usuario

Herramientas del sitio


sicoferp:compras:activosfijos:novedadesactivos:start

Novedades de activos Aprobación

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 esta funcionalidad debemos ingresar a la ruta Activos Fijos/Novedades Activos Aprobación

Pestañas

Lista: Esta pestaña nos mostrara el listado de las novedades enviadas para su aprobación.

Encabezado: Esta pestaña nos mostrara el encabezado de la novedad seleccionada. Es solo informativa ya que no permite modificaciones.

Detalle Novedad: Este nos mostrará el detalle de la novedad seleccionada. No se puede realizar ningún cambio aquí.

Aprobación

Para aprobar una novedad debemos marcar el campo Aprobar y darle al botón guardar.

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.

Después del mensaje de confirmación el sistema nos generará el documento de la novedad.

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).

Esta consulta incluía una condición restrictiva en la cláusula WHERE:

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.

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.

Detalles Técnicos:

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

Desarrollado por: [Miguel Muñoz] Fecha: [21/07/2026] Versión de PB: 12.5

sicoferp/compras/activosfijos/novedadesactivos/start.txt · Última modificación: 2026/07/21 16:55 por brahian.castaneda