Muestra las diferencias entre dos versiones de la página.
|
sicoferp:compras:inventarios:traslado_entre_bodegas:start [2019/09/10 20:45] angie.delgado creado |
sicoferp:compras:inventarios:traslado_entre_bodegas:start [2026/04/20 19:49] (actual) brahian.castaneda |
||
|---|---|---|---|
| Línea 7: | Línea 7: | ||
| {{:sicoferp:compras:inventarios:traslado_entre_bodegas:2019-09-10_15h45_18.png?500|}} | {{:sicoferp:compras:inventarios:traslado_entre_bodegas:2019-09-10_15h45_18.png?500|}} | ||
| + | ===== Control de Estados y Valoración en Traslado de Bodegas ===== | ||
| + | === 1. Resumen del Cambio === | ||
| + | |||
| + | Se implementaron validaciones críticas en el proceso de traslado de artículos con placa entre bodegas para garantizar la integridad del Kardex. El cambio se enfoca en tres pilares: | ||
| + | |||
| + | Restricción Operativa: Impedir el traslado de activos en estado de Baja (B). | ||
| + | Integridad de Datos: Asegurar que el campo SUB_TIPO_MOVIMIENTO en la tabla MOV_KARDEX nunca quede vacío. | ||
| + | Precisión Financiera: Definir la lógica de valores (vlr_unitario y vlr_referencia) según el estado del activo y su clasificación de control. | ||
| + | |||
| + | === 2. Objetos Impactados === | ||
| + | |||
| + | Ventana: w_traslado_bodegas_alb (Evento ue_cierra_lista_elementos). | ||
| + | Objeto de Negocio: uo_mov_kardex (Función uof_traslados). | ||
| + | |||
| + | === 3. Descripción de las Mejoras === | ||
| + | |||
| + | A. Validación de Estado de Placa | ||
| + | Anteriormente, el sistema permitía seleccionar placas que ya estaban dadas de baja en el plan contable principal. | ||
| + | |||
| + | Nueva Lógica: Al intentar cargar placas a la lista de traslado, el sistema realiza una consulta directa a MAE_PLACAS_ARTICULOS_DET filtrando por el Plan Contable Principal. | ||
| + | Acción: Si el estado es 'B', se muestra un mensaje de advertencia y se omite la placa, evitando inconsistencias contables. | ||
| + | B. Asignación de Sub-Tipos de Movimiento | ||
| + | Se corrigió el error donde movimientos de traslado (ST/ET) quedaban con el sub-tipo vacío. Ahora la asignación es explícita según el estado recuperado: | ||
| + | |||
| + | STI / ETI: Para placas en Inventario. | ||
| + | STU / ETU: Para placas en Uso. | ||
| + | STR / ETR: Para placas Retiradas. | ||
| + | ST / ET: Valor por defecto para artículos sin placa. | ||
| + | C. Lógica de Valor Unitario y Referencia | ||
| + | Se estandarizó el comportamiento de los costos en el movimiento de Kardex para no afectar los saldos de bodega de consumo de forma errónea: | ||
| + | |||
| + | Estado de Placa Clasificación Controlado ('S') vlr_unitario vlr_referencia (Depreciación) | ||
| + | Inventario (I) Sí / No Valor Articulo / Factura Valor Depreciado Acumulado | ||
| + | Uso (U) / Retiro (R) Sí $ 0.00 $ 0.00 | ||
| + | Uso (U) / Retiro (R) No Valor Articulo Valor Depreciado Acumulado | ||
| + | Nota: Para activos controlados en Uso/Retiro, el valor se registra en cero en el Kardex de traslado porque su costo ya fue ejecutado o retirado de los libros de inventario operativo. | ||
| + | |||
| + | === Cambios Aplicados en el Código (Resumen para Desarrolladores) === | ||
| + | |||
| + | En w_traslado_bodegas_alb.srw | ||
| + | pb | ||
| + | Show full code block | ||
| + | // Validación en el loop de carga de placas | ||
| + | SELECT estado_placa INTO :ls_estado_det | ||
| + | FROM compras01.mae_placas_articulos_det | ||
| + | WHERE codigo_placa = :ll_codigo_placa[l_fila] | ||
| + | AND tipo_plan_contable = :guo_app.ii_puc_principal | ||
| + | USING ts_transaccion; | ||
| + | |||
| + | IF ls_estado_det = 'B' THEN | ||
| + | MessageBox("Validación", "Placa en estado de BAJA. Traslado no permitido.") | ||
| + | CONTINUE | ||
| + | END IF | ||
| + | En uo_mov_kardex.sru | ||
| + | pb | ||
| + | // Bloqueo de proceso para estado 'B' y reset de variables | ||
| + | IF ls_estado = 'B' THEN | ||
| + | MessageBox('Control Compras', 'Error: La placa tiene estado de BAJA en detalles.', StopSign!) | ||
| + | RETURN FALSE | ||
| + | END IF | ||