Esta es la ventana por defecto de reportes gerenciales, el cual existe un listado para tener la posibilidad de seleccionar el reporte que se va a visualizar, acompañado del rango de vigencias.
Una orden de pago elaborada es el documento oficial generado en el sistema que formaliza el compromiso de pagar una suma de dinero a un tercero. En esta etapa, el documento ya tiene registrados los montos, los conceptos y el respaldo presupuestal, quedando listo para entrar al proceso de revisión, aprobación y desembolso final.
Se corrigió un error en el reporte de órdenes de pago donde algunos registros aparecían repetidos. Con este ajuste, los montos y movimientos ahora coinciden exactamente con la realidad del sistema, mostrando una sola fila por cada movimiento de crédito.
Limpieza de Datos: Se eliminó la duplicidad de información en el reporte. Antes, un mismo compromiso podía aparecer varias veces de forma incorrecta, lo que generaba confusión en los totales.
Consistencia Financiera: Ahora, cada movimiento de dinero se relaciona de forma única con su detalle. Esto garantiza que la información financiera que se ve en el reporte sea confiable y cuadre con los registros del sistema.
Objeto Modificado: DataWindow r_ordenes_elaboradas.
Ajuste en el SQL: Se mejoró la relación (Join) entre las tablas DET_COMPROMISO_DOCUMENTOS (alias C) y DET_COMPROMISO_PROD_REC_DEV (alias D). Cambio Específico: Se agregó una nueva condición en la cláusula WHERE: AND C.VALOR_CREDITO = D.CANTIDAD_CREDITO
¿Por qué se hizo?: La relación anterior solo usaba el código del documento, lo cual no era suficiente para distinguir entre diferentes movimientos dentro de un mismo archivo. Al añadir la comparación de los montos (VALOR_CREDITO contra CANTIDAD_CREDITO), logramos que cada registro de la primera tabla encuentre a su “pareja” exacta en la segunda tabla, evitando que se crucen y se dupliquen.
Módulo: Presupuesto Reporte: Órdenes Elaboradas. DataWindow: r_ordenes_elaboradas.
Se reporta caso donde se filtra por fecha inicial y final de solo un dia pero el reporte no retorna todas las ordenes de pago elaboradas ese dia.
Se modifica la consulta del dw r_ordenes_elaboradas de la libreria sf01rpts.pbl para que no filtre por usuario y dependencias.
FROM MAESTRO_ORDENES_PAGO A,
MAESTRO_TERCEROS I,
DEPENDENCIAS K,
DET_ORDEN_PAGO B,
DET_COMPROMISO_DOCUMENTOS C
LEFT OUTER JOIN PRESUP01.MAE_RECEPCION_PEDIDOS MRP
ON MRP.CODIGO_RECEPCION = C.CODIGO_DOCUMENTO,
DET_COMPROMISO_PROD_REC_DEV D,
DET_COMPROMISO_DISP_CAN E,
DET_COMPROMISO_RUBROS_DISP F,
DET_COMPROMISO G,
MAESTRO_COMPROMISO H,
PRESUPUESTO J,
PARAMETROS_SISTEMA P,
ESTADOS_DOCUMENTO M
WHERE TRUNC (A.FECHA_ELABORACION) BETWEEN :adt_fechaini
AND :adt_fechafin
AND A.CONSECUTIVO > 0
AND A.ESTADO <> 'W'
AND M.CODIGO_ESTADO = A.ESTADO
AND I.CODIGO_TERCERO = A.CODIGO_TERCERO
AND K.CODIGO_DEPENDENCIA = A.CODIGO_DEPENDENCIA
AND B.CODIGO_ORDEN_PAGO = A.CODIGO_ORDEN_PAGO
AND C.CODIGO_DOCUMENTO = B.CODIGO_DOCUMENTO
AND D.CODIGO_DOCUMENTO = B.CODIGO_DOCUMENTO
AND E.CODIGO_DET_COMP_DISP_CAN = D.CODIGO_DET_COMP_DIS_CAN
AND F.CODIGO_DET_COMP_RUB_DIS = E.CODIGO_DET_COMP_RUB_DIS
AND G.CODIGO_DET_COMPROMISO = F.CODIGO_DET_COMPROMISO
AND H.CODIGO_COMPROMISO = G.CODIGO_COMPROMISO
AND H.CODIGO_COMPROMISO = C.CODIGO_COMPROMISO
AND J.CODIGO_RUBRO = G.CODIGO_RUBRO