Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
ada:sicoferp:financiero:tesoreria:interface:cargasdearchivos [2020/10/18 13:01] 192.168.177.31 |
ada:sicoferp:financiero:tesoreria:interface:cargasdearchivos [2026/04/30 15:23] (actual) brahian.castaneda |
||
|---|---|---|---|
| Línea 9: | Línea 9: | ||
| ===== Pestaña Lista ===== | ===== Pestaña Lista ===== | ||
| - | En esta pestaña se pueden visualizar los conceptos creados por los usuarios, además se pueden filtrar los conceptos por propiedades. | + | En esta pestaña se pueden visualizar los procesos de cargas previamente realizados en el sistema. Se pueden filtrar, ordenar y buscar procesos previos. |
| - | {{ :ada:sicoferp:financiero:tesoreria:interface:listado.png?600 |}} | + | {{ :ada:sicoferp:financiero:tesoreria:interface:carga_listado.png?600 |}} |
| - | ===== Pestaña Encabezado: Concepto ===== | + | ===== Pestaña Encabezado: Configuración de la Carga ===== |
| - | En esta ventana se realiza la configuración de los conceptos que se utilizarán en los procesos masivos de SICOF. | + | En esta pestaña se configura el proceso de carga masiva y se carga el archivo plano. |
| - | {{ :ada:sicoferp:financiero:tesoreria:interface:detalle.png?600 |}} | + | {{ :ada:sicoferp:financiero:tesoreria:interface:detalle_carga_archivos.png |}} |
| - | ==== Nuevo Campo ==== | ||
| - | Se adiciona la propiedad **Impresión C.Egreso** la cuál permitirá realizar el proceso de pago del comprobante egreso como lo hace la funcionalidad de impresión de cheques del módulo de tesorería. Este nuevo campo permite los siguientes valores: | ||
| - | * No Aplica: Indica que el concepto no aplicará proceso de pago. | + | ===== Boton Tests y Estado Borrador ===== |
| - | * Para Girar: Indica que el egreso se girará. | + | |
| - | * Para Consignar: Indica que el egreso será consignado. | + | |
| - | === Nota === | + | Tanto el boton test como el estado borrador, no lo usa el cliente, nada más está allí para fines de pruebas con acompañamiento, el cliente solamente usa estado Aprobado. Cuando estos se encuentren activos son porque se activaron por base de datos, pero en todos los clientes se deben encontrar inactivos. |
| - | La edición de este nuevo campo está condicionada por el campo **Genera C.Egreso** | + | |
| - | ==== Nueva Visualización Campo Genera C.Egreso ==== | + | {{ :ada:sicoferp:financiero:tesoreria:interface:2020-12-14_16h41_28.png?400 |}} |
| - | Para soportar el proceso de impresión de cheques en el proceso de interfaz el campo **Genera C.Egreso** cambia su apariencia para soportar los siguientes valores que representan documentos: | + | |
| - | * No Aplica: No genera documentos de comprobantes de egreso. | + | Los siguientes UPDATE son para inhabilitar tanto el boton test como el estado si se llegan a encontrar habilitados. |
| - | * Con Afectación Presupuestal: Genera egresos con afectación presupuestal. | + | |
| - | * Sin Afectación Presupuestal: Genera egresos sin afectación presupuestal. | + | |
| - | === Nota === | + | UPDATE sicof.m_constantes |
| - | Si el egreso genera pago debe incluir en el proceso de carga el banco por el cual realizará el pago, además debe considerar todas las reglas asociadas al proceso de causación para un correcta configuración es decir: | + | SET APLICA = 'N' |
| + | WHERE UPPER(TRIM(DESCRIPCION)) ='MOSTRAR_BOTON_SFCOMERCIAL_DOCUMENTO'; | ||
| - | * El modo de causación determinará las configuraciones. | + | UPDATE sicof.m_constantes |
| - | * El banco debe estar activo y configurado con cuentas contables según el modo de causación. | + | SET APLICA = 'N' |
| - | * Se debe enviar el banco en el proceso de carga. | + | where UPPER(TRIM(DESCRIPCION)) = 'MOSTRAR_BOTON_SFCOMERCIAL_TEST' ; |
| + | ===== Pestaña Analizador ===== | ||
| + | En esta pestaña se encuentra la funcionalidad de analizador previo de cargar. Para más información consulte: [[ada:sicoferp:financiero:tesoreria:interface:analizador|Analizador]] | ||
| - | __**Relación entre Conceptos.**__ | + | {{ :ada:sicoferp:financiero:tesoreria:interface:carga_analizador.png?600 |}} |
| - | Podemos definir relaciones entre los registros que se están subiendo en el archivo a SICOF, las cuales pueden existir de dos tipos: | + | ===== Notas del Proceso ===== |
| + | * Si la carga presenta errores en la subida del archivo, se debe empezar. | ||
| + | * Si la carga presenta número de contrato se toma la fecha de la columna fecha_pago como fecha del contrato. | ||
| - | **A) Relación por concepto.** | + | ===== Ajuste de Validación de Saldo PAC ===== |
| - | En ésta se define la relación entre los conceptos que afectan al mismo tercero, por ejemplo, si existe un concepto de "BF01 Base Factura 01" el cual indica que es el valor base de una factura, podemos crear un concepto llamado "RT02 Retención 02", y en campo "Concepto" podemos hacer referencia a "BF01", indicando que "RT02" afecta el valor de "BF01" y se puede asociar para el mismo tercero definido en el archivo de carga. | + | |
| - | **B) Relación por grupo.** | + | === 1. Información General === |
| - | Aquí se define le relación entre los conceptos que afectan a otro tercero, por ejemplo si tenemos un concepto de "SB01 Sueldo Base 01" y un concepto de "AS02 Aporte de Salud 02", entonces en AS02 se puede definir en el campo "Grupo" un valor de "1", para indicar que agrupe los conceptos de grupo 1 y lo que ocurra en el sistema con los valores calculados de "AS02" afecten al concepto "SB01" pero afectando a un tercero distinto al ingresado en el concepto "SB01". | + | |
| + | Objeto: w_carga_datos_comercial_avance.srw | ||
| + | Función: of_validador_carga() | ||
| + | Módulo: Tesorería / Interfaz Comercial | ||
| + | Versión de PB: 12.5 | ||
| + | Fecha: Octubre 2023 | ||
| + | === 2. Descripción del Problema === | ||
| + | |||
| + | En el proceso de carga de avances comerciales, el sistema realiza una validación presupuestal contra el PAC (Plan Anual de Caja) cuando el parámetro PRESUP01.PARAMETROS_SISTEMA.maneja_pac está activo ('S'). | ||
| + | |||
| + | Se detectó que la variable ld_pac_disponible siempre retornaba 0, lo que provocaba bloqueos erróneos en la carga, incluso cuando existía disponibilidad presupuestal en el rubro correspondiente. | ||
| + | |||
| + | Causa Raíz | ||
| + | La consulta SQL embebida original intentaba obtener el rubro desde la tabla SFCOMERCIAL.DET_CONCEPTOS_RUBROS filtrando por la columna RUBRO_INGRESOS. Sin embargo, los procesos de avance y egresos manejan rubros de gasto definidos en la maestra de conceptos comerciales (MAE_CONCEPTOS_COMERCIAL). Al no encontrar coincidencia en la tabla de ingresos, el SELECT no devolvía registros o el NVL resultaba en 0. | ||
| + | |||
| + | === 3. Solución Técnica === | ||
| + | Se modificó el SQL embebido dentro de la función of_validador_carga() para: | ||
| + | |||
| + | Agregación: Utilizar SUM(DP.SALDO_DISPONIBLE) para consolidar el saldo en caso de existir múltiples registros para un mismo rubro en el mes/año. | ||
| + | Fuente de Datos correcta: Cambiar la subconsulta para que busque el rubro asociado al concepto comercial en MAE_CONCEPTOS_COMERCIAL.CODIGO_RUBRO, que es la fuente verídica para procesos de egresos/avances. | ||
| + | Cláusula de búsqueda: Se reemplazó el EXISTS por un IN sobre la maestra de conceptos para mayor claridad y precisión en la relación concepto-rubro. | ||
| + | |||
| + | === Código Modificado (Snippet): === | ||
| + | |||
| + | == Solicitud: Validación general del PAC para procesos de afectación e integración == | ||
| + | |||
| + | if ls_maneja_pac = 'S' then | ||
| + | iuo_validador.of_add_console('Validando saldos de PAC...', 1) | ||
| + | for li_row = 1 to li_count | ||
| + | ls_codigo_concepto = idw_detalle.getitemstring(li_row, 'codigo_concepto') | ||
| + | ld_valor = idw_detalle.getitemdecimal(li_row, 'valor') | ||
| + | ldt_fecha = date(idw_detalle.getitemDatetime(li_row, 'fecha_pago')) | ||
| + | If isnull(ldt_fecha) then ldt_fecha = ldt_fecha_hoy | ||
| + | li_ano = year(ldt_fecha) | ||
| + | li_mes = month(ldt_fecha) | ||
| + | |||
| + | setNull(ld_pac_disponible) | ||
| + | guo_app.of_sql_embedded_context( ts_transaccion) | ||
| + | SELECT NVL(SUM(DP.SALDO_DISPONIBLE), 0) | ||
| + | INTO :ld_pac_disponible | ||
| + | FROM PRESUP01.PLAN_ANUAL_DE_CAJA DP | ||
| + | WHERE DP.ANO = :li_ano AND DP.MES = :li_mes | ||
| + | AND DP.PAC_RUBRO IN (SELECT MCC.CODIGO_RUBRO FROM MAE_CONCEPTOS_COMERCIAL MCC | ||
| + | WHERE MCC.CODIGO_CONCEPTO = :ls_codigo_concepto) | ||
| + | USING ts_transaccion; | ||
| + | |||
| + | |||
| + | if Not IsNull(ld_pac_disponible) AND ld_valor > ld_pac_disponible then | ||
| + | ls_msg = 'El valor (' + String(ld_valor, '$#,##0.00') + ') del concepto ' + ls_codigo_concepto + & | ||
| + | ' excede el saldo PAC disponible (' + String(ld_pac_disponible, '$#,##0.00') + ') para el mes ' + String(li_mes) + '.' | ||
| + | iuo_validador.of_add_console(ls_msg, 3) | ||
| + | lb_valid = false | ||
| + | end if | ||
| + | next | ||
| + | if lb_valid then iuo_validador.of_add_console('---> OK Validando saldos de PAC', 1) | ||
| + | end if | ||
| + | |||
| + | === Desarrollado por: [Miguel Muñoz] Fecha: [28/04/2026] Versión de PB: 12.5 === | ||
| [[ada:sicoferp:financiero:tesoreria:interface|Volver]] | [[ada:sicoferp:financiero:tesoreria:interface|Volver]] | ||
| + | |||
| + | |||