Herramientas de usuario

Herramientas del sitio


ada:sicoferp:financiero:presupuesto:ordenesdepago:consulta

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:sicoferp:financiero:presupuesto:ordenesdepago:consulta [2018/06/18 22:51]
carlos.torres
ada:sicoferp:financiero:presupuesto:ordenesdepago:consulta [2026/06/17 20:01] (actual)
192.168.175.89
Línea 25: Línea 25:
   * El formato de impresión visualizará la causación de acuerdo a la configuración del cliente en la vigencia consultada.   * 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).   * 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]]
 +
 +
  
ada/sicoferp/financiero/presupuesto/ordenesdepago/consulta.1529362294.txt.gz · Última modificación: 2018/06/18 22:51 por carlos.torres