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.
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.
Ventana: w_traslado_bodegas_alb (Evento ue_cierra_lista_elementos). Objeto de Negocio: uo_mov_kardex (Función uof_traslados).
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.
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