====== Traslado entre bodegas ====== Esta funcionalidad permite pasar un activo sea consumo o no de una bodega a otra. La funcionalidad de reintegros realiza traslados entre bodegas automáticamente si la placa reintegrada no está en la bodega de origen. Este movimiento implica una entrada y una salida a la vez en la bodega que corresponde, por lo que afecta el inventario. {{: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