====== Consulta de Ordenes de Pago ====== En esta opción podemos consultar los documentos de Ordenes de Pago previamente diligenciados. Esta ventana presenta la información del documento en 3 pestañas que a continuación serán descritas. ===== Pestaña Lista Documentos ===== {{:ada:sicoferp:financiero:presupuesto:ordenesdepago:consulta_op_-_tab1.png?600|}} En esta pestaña se visualiza el listado de documentos generados. ===== Pestaña Orden de Pago ===== {{:ada:sicoferp:financiero:presupuesto:ordenesdepago:consulta_op_-_tab2.png?600|}} En esta pestaña puede visualizar la información principal del documento. ===== Pestaña Detalle del Pago ===== {{:ada:sicoferp:financiero:presupuesto:ordenesdepago:consulta_op_-_tab3.png?600|}} Esta pestaña permite visualiza la información relacionada con la causación del documento. ===== Notas del Proceso ===== * No se permite la exportación. * Se puede visualizar el documento por **Vista Preliminar** * Se puede **Imprimir** el documento ((El formato puede cambiar de acuerdo a la configuración del cliente)). * Se pueden consultar todos los documentos siempre que esten en el rango de consulta de su **fecha de elaboración** y **consecutivo** mayor a cero * El formato de impresión visualizará la causación de acuerdo a la configuración del cliente en la vigencia consultada. * Esta opción permite impresión masiva de documentos (previa selección). ===== Pestaña Consulta ordenes de pago ===== {{:ada:sicoferp:financiero:presupuesto:ordenesdepago:2021-10-25_13h06_57.png?nolink&400|}} *En esta pestaña se visualiza el listado de Consulta ordenes de pago al señalar un cliente y dando click sobre la lupa generara el siguiente formato. ===== Pestaña de imprimir Consulta ordenes de pago ===== {{:ada:sicoferp:financiero:presupuesto:ordenesdepago:foto_2_para_la_wiki.png?nolink&400|}} * Este documento muestra la identificación de la reserva a la que pertenece encima del titulo de orden de pago. ===== Ajuste Formato Orden de Pago Isvimed - Firmas Multimódulo ===== === 1. Descripción del Problema === Se detectó que en el formato de Orden de Pago para el cliente Isvimed, la firma y los datos del usuario en la sección "Contabilizó" (y ocasionalmente "Revisó/Elaboró") no se visualizaban cuando la orden era procesada desde la interfaz de Tesorería. === 2. Causa Raíz === La consulta SQL del reporte (r_orden_pago_isvimed.srd) tenía una dependencia estricta con el código de aplicación 1 (Presupuesto). Los usuarios creados o activos en el módulo de Tesorería poseen códigos de aplicación distintos, lo que causaba que las subconsultas de firmas y las funciones de nombres devolvieran valores nulos al no encontrar coincidencia con la aplicación 1. === 3. Solución Aplicada === Se modificó la sentencia SQL del DataWindow para independizar la obtención de datos del usuario del módulo de aplicación: Eliminación de Filtros: Se retiró la cláusula AND U.CODIGO_APLICACION = 1 de las subconsultas de imágenes de firma. Join por Cédula: Se implementó una lógica de búsqueda basada en el CODIGO_USUARIO (que es único por login) pero recuperando la información del tercero asociado a través de la CEDULA del maestro de usuarios. Uso de Agregados/ROWNUM: Se incorporó MAX() y ROWNUM = 1 para prevenir errores de cardinalidad en caso de que un usuario exista en múltiples aplicaciones dentro de la tabla USUARIOS. === 4. Archivos Modificados === r_orden_pago_isvimed.srd: Actualización del SELECT principal y subconsultas. Ajuste Sugerido en el Código Para que el cambio sea efectivo y consistente en todas las firmas (Elaboró, Revisó, Contabilizó), te sugiero aplicar este diff al archivo .srd: r_orden_pago_isvimed.srd E.NOMBRE AS NOM_USR_APR, E.CEDULA AS CED_USR_APR , PRESUP01.F_NOMBRE_USUARIO(PRESUP01.F_USUARIO_CONTABILIDAD(:cod_orden_pago)) AS NOM_USR_REV, PRESUP01.F_CEDULA_USUARIO(PRESUP01.F_USUARIO_CONTABILIDAD(:cod_orden_pago)) AS CED_USR_REV, (SELECT MAX(M.NOMBRE) FROM USUARIOS U INNER JOIN MAESTRO_TERCEROS M ON U.CEDULA=TRUNC(M.NIT,0) WHERE U.CODIGO_USUARIO=PRESUP01.F_USUARIO_CONTABILIDAD(:cod_orden_pago)) AS NOM_USR_REV, (SELECT MAX(U.CEDULA) FROM USUARIOS U WHERE U.CODIGO_USUARIO=PRESUP01.F_USUARIO_CONTABILIDAD(:cod_orden_pago)) AS CED_USR_REV, (SELECT MAX(M.NOMBRE) FROM USUARIOS U INNER JOIN MAESTRO_TERCEROS M ON U.CEDULA=TRUNC(M.NIT,0) WHERE U.CODIGO_USUARIO=F.CODIGO_USUARIO_CAUSACION) AS NOM_USR_CONT, (SELECT MAX(U.CEDULA) FROM USUARIOS U WHERE U.CODIGO_USUARIO=F.CODIGO_USUARIO_CAUSACION) AS CED_USR_CONT, G.NUMERO_CUENTA, G.TIPO_CUENTA, G.BANCO, A.CONSECUTIVO_EQUI, === Desarrollado por: [Miguel Muñoz] Fecha: [22/04/2026] Versión de PB: 12.5 === ===== Ajuste de Formato y Origen de Datos de Revisores - Orden de Pago (ISVIMDED) ===== == 1. Descripción del Cambio == Se realizaron dos mejoras críticas en el reporte de órdenes de pago: la normalización visual de los nombres de los revisores y la unificación de la fuente de datos para incluir usuarios provenientes de diferentes procesos (Presupuesto e Interfaces). == 2. Solución Funcional == Estandarización de Formato: Se aplicó una regla de capitalización para que los nombres de los revisores sigan el estándar de "Nombres Propios" (ej: Juan Pérez), independientemente de cómo estén registrados en la base de datos. Unificación de Datos: Se ajustó la lógica de extracción de información para que el reporte muestre correctamente a los usuarios revisores, sin importar si el registro fue creado directamente en el módulo de presupuesto o a través de una interface. == 3. Solución Técnica == Objeto Modificado: r_orden_pago_isvimed (DataWindow). Detalles del Cambio: Lógica de Datos (SQL): Se integró un subquery en el Source del DataWindow para consultar la tabla de usuarios. Esta subquery permite homologar la obtención de los datos del revisor, garantizando la integridad de la información ya sea que provenga de la gestión interna del sistema o de procesos de integración (interfaces). Formato (Capa de Presentación): Se implementó la función WordCap() en el campo del nombre del revisor para transformar el texto y asegurar que cada palabra inicie con mayúscula. Sintaxis: WordCap(nom_usr_rev) == 4. Componentes Afectados == Módulo: Presupuesto Reporte: Orden de Pago (ISVIMED). DataWindow: r_orden_pago_isvimed Origen de Datos: SQL Select (DataWindow Source). (SELECT DECODE(NVL(C.CODIGO_USUARIO_CAUSACION,0),0,C.CODIGO_USUARIO_ELABORA,C.CODIGO_USUARIO_CAUSACION) CODIGO_USUARIO_CAUSACION FROM DET_ORDEN_PAGO A, DET_ASIENTOS_DOCUMENTO B, MAESTRO_ASIENTO_CONTABLE C WHERE A.CODIGO_ORDEN_PAGO = :cod_orden_pago AND B.CODIGO_DOCUMENTO = A.CODIGO_DOCUMENTO AND C.CODIGO_ASIENTO = B.CODIGO_ASIENTO AND ROWNUM = 1) F, (SELECT A.CODIGO_TERCERO, A.NUMERO_CUENTA, DECODE(A.TIPO_CUENTA,'01','DE AHORROS','CORRIENTE') TIPO_CUENTA, B.NOMBRE BANCO FROM DET_TERCERO_CUENTA A, MAESTRO_CODIGOS_BANCOS B WHERE A.ESTADO = 'A' AND B.CODIGO_BANCO_PRINCIPAL = A.CODIGO_BANCO_PRINCIPAL) G, (SELECT NVL(MAX( CASE WHEN DOP.USUARIO_EMPRESA = 'TESORE01' THEN MRP.CODIGO_USUARIO_RECIBE END),PRESUP01.F_USUARIO_CONTABILIDAD(:cod_orden_pago)) CODIGO_USUARIO_REV FROM DET_ORDEN_PAGO DOP LEFT JOIN MAE_RECEPCION_PEDIDOS MRP ON MRP.CODIGO_RECEPCION = DOP.CODIGO_DOCUMENTO WHERE DOP.CODIGO_ORDEN_PAGO = :cod_orden_pago) H WHERE A.CODIGO_ORDEN_PAGO = :cod_orden_pago AND B.CODIGO_DEPENDENCIA(+) = A.CODIGO_DEPENDENCIA AND C.CODIGO_TERCERO(+) = A.CODIGO_TERCERO AND D.CODIGO_USUARIO(+) = A.CODIGO_USUARIO_ELABORA AND E.CODIGO_USUARIO(+) = A.CODIGO_USUARIO_APRUEBA AND R.CODIGO_USUARIO(+) = H.CODIGO_USUARIO_REV AND G.CODIGO_TERCERO(+) = A.CODIGO_TERCERO [[ada:sicoferp:financiero:presupuesto:ordenesdepago|←Volver atrás]]