01. DATOS GENERALES
| Producto | TOTVS RH | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Línea de producto: | Línea Protheus | |||||||||||||||
| Segmento: | RH | |||||||||||||||
| Módulo: | SIGAGPE - Gestión de Personal. | |||||||||||||||
| Función: |
| |||||||||||||||
| País: | Argentina (ARG) | |||||||||||||||
| Ticket: | N/A | |||||||||||||||
| Requisito/Story/Issue (informe el requisito vinculado): | DNOMI-2641 |
02. SITUACIÓN/REQUISITO
Se requiere modificar los operadores SUMA_MOVLI, FILTRO_MOVLI y FILTRO_ACUM para que acepten Variables o Mnemónicos en la 1ra Expresión y no solo valores fijos.
03. SOLUCIÓN
Se realizan las siguientes actualizaciones:
- En la rutina Funciones Genéricas de Formulación (GPEXFOR1) se modifican las funciones fBaseMov() y fFiltroMov(), correspondientes a los operadores FILTRO_MOVLI y SUMA_MOVLI; cambiando la validación en caso de que reciba un mnemónico/variable, para que tome el valor, y si es un valor fijo, que lo tome como se hacía anteriormente.
- En la rutina Registro de Fórmulas (GPEA291) se corrige, para que no emita el mensaje de error al colocar un mnemónico o variable en la 1ra Expresión de los operadores FILTRO_MOVLI y SUMA_MOVLI.
- Realizar un respaldo del repositorio (RPO).
- Aplicar el parche correspondiente a la issue DNOMI-2641.
- Verificar que las rutinas se encuentren actualizadas en el repositorio y verificar que coincidan con las descritas en el encabezado del presente documento técnico, considerando que las fechas sean iguales o superiores.
- Contar con información en los catálogos utilizados en el Cálculo de Nómina:
- Tipos de Procedimiento.
- Procesos:
- Configurar un proceso Jornal o Mensual.
- Mnemónicos.
- Fórmulas.
- Contar con fórmulas que utilicen los operadores FILTRO_MOVLI, SUMA_MOVLI y FILTRO_ACUM; como la ejemplificada en el punto Fórmulas de la sección 04. INFORMACIÓN ADICIONAL.
- Conceptos.
- Contar con conceptos relacionados a fórmulas que utilicen los operadores FILTRO_MOVLI, SUMA_MOVLI y FILTRO_ACUM.
- Conceptos por proceso.
- Configurar conceptos y fórmulas que utilicen los operadores FILTRO_MOVLI, SUMA_MOVLI y FILTRO_ACUM.
- Criterios de Acumulación.
- Periodos, para este ejemplo se utilizará la siguiente información:
- Nómina ANT - Anticipos, de ejemplo:
- Periodo: 2024
- Mes: 07
- Número de Pago: 01
- Fecha Inicial: 01/07/2024
- Fecha Final: 31/07/2024
- Empleado para el proceso configurado.
- Se deben tener acumulados para poder probar el operador FILTRO_ACUM, el cual lee la tabla RG7 - Acumulados Históricos. Por ejemplo:
| RG7_FILIAL | RG7_PROCES | RG7_MAT | RG7_PD | RG7_ANOINI | RG7_ANOFIM | RG7_CODCRI | RG7_SEQACU | RG7_HRS01 | RG7_ACUM01 | RG7_HRS02 | RG7_ACUM02 |
| D MG 01 | 000001 | 000006 | 001 | 2024 | 2024 | 1 | 1 | 30,00 | 400.000,00 | 30,00 | 400.000,00 |
| D MG 01 | 000002 | 000007 | 040 | 2024 | 2024 | 1 | 1 | - | 400.000,00 | - | 400.000,00 |
Por Procedimientos (GPEM020):
- Ingresar al módulo Gestión de Personal (SIGAGPE).
- Ingresar a la rutina Por Procedimientos, ubicada en el menú: "Miscelánea | Cálculos | Por procedimientos" (GPEM020).
- Indicar los parámetros requeridos para calcular el Proceso, Procedimiento, Periodo y Empleado configurados en las Pre-condiciones.
- Dar clic en el botón "Confirmar", para iniciar el cálculo.
- Validar que el cálculo finaliza de manera exitosa.
- Si fue activado el TRACE y se utilizó la fórmula de ejemplo indicada en el punto Fórmulas de la sección 04. INFORMACIÓN ADICIONAL, validar:
- El uso de los operadores FILTRO_MOVLI, SUMA_MOVLI y FILTRO_ACUM, considere de manera correcta cuando se envíe en la 1ra Expresión un mnemónico o variable.
04. INFORMACIÓN ADICIONAL
Fórmulas
Ejemplo de una fórmula que utiliza los operadores FILTRO_MOVLI, SUMA_MOVLI y FILTRO_ACUM:
| Secuencia | 1ra Expresión | Operador 1 | 2da Expresión | Resultado | Observación |
|---|---|---|---|---|---|
| 000001 | # | TRACE_ON | |||
| 000002 | NOCALCULA | SI_IGUAL | 1 | FINAL | |
| 000003 | # PRUEBA SUMA_MOVLI | ||||
| 000004 | MUEVE | '1' | CAUX_00 | Mueve '1' a la variable carácter CAUX_00 | |
| 000005 | MUEVE | 'V' | TP_SUMA_MOVLI | Asigna en el operador TP_SUMA_MOVLI valores ('V') que serán tomados para el operador SUMA_MOVLI y FILTRO_MOVLI | |
| 000006 | CAUX_00 | FILTRO_MOVLI | CBSECOMPL | La variable carácter se utiliza de filtro para el campo CBSECOMPL, en este caso con el valor '1' anteriormente asignado | |
| 000007 | SUMA_MOVLI | NAUX_01 | Sumariza en el operador SUMA_MOVLI, de forma combinada con el operador anterior (FILTRO_MOVLI) y guarda el resultado en la variable numéricoa NAUX_01 | ||
| 000008 | MUEVE | 'H' | TP_SUMA_MOVLI | Asigna en el operador TP_SUMA_MOVLI unidades ('H') que seran tomados para el operador SUMA_MOVLI y FILTRO_MOVLI | |
| 000009 | '1' | FILTRO_MOVLI | CBSECOMPL | El valor fijo '1' se utiliza de filtro para el campo CBSECOMPL, para comprobar que continúa funcionando también de esa forma, en el operador FILTRO_MOVLI | |
| 000010 | SUMA_MOVLI | NAUX_02 | Sumariza en el operador SUMA_MOVLI, de forma combinada con el operador anterior (FILTRO_MOVLI) y guarda el resultado en la variable numéricoa NAUX_02 | ||
| 000011 | CAUX_00 | SUMA_MOVLI | CBSECOMPL | NAUX_03 | Se puede utilizar de esta forma directamente SUMA_MOVLI con el filtro en el mismo operador, tanto con valor fijo (el cual se guarda en la variable NAUX_04) como con un mnemónico o variable (el cual se guarda en la variable NAUX_03) |
| 000012 | '1' | SUMA_MOVLI | CBSECOMPL | NAUX_04 | |
| 000013 | # PRUEBA FILTRO_ACUM | ||||
| 000014 | ANO | PERFECINI | ANO_INI_ACU | Se inicializa el periodo de acumulación inicial y final para el operador FILTRO_ACUM, con las fechas inicial (mnemónico PERFECINI) y final del periodo de liquidación (mnemónico PERFECFIN) | |
| 000015 | ANO | PERFECFIN | ANO_FIN_ACU | ||
| 000016 | MUEVE | '1' | CAUX_01 | Mueve '1' a la variable carácter CAUX_01 | |
| 000017 | MUEVE | '12' | CAUX_02 | Mueve '12' a la variable carácter CAUX_02 | |
| 000018 | FILTRO_ACUM | Se coloca el operador FILTRO_ACUM sin parámetros para limpiar cualquier acumulado anterior, dentro de la misma fórmula | |||
| 000019 | '1' | FILTRO_ACUM | CBSECOMPL | El valor fijo '1' se utiliza de filtro para el campo CBSECOMPL, para comprobar que continúa funcionando también de esa forma, en el operador FILTRO_ACUM | |
| 000020 | CAUX_01 | SUMA_IMPORTES | CAUX_02 | NAUX_05 | Acumula los importes con el operador SUMA_IMPORTES, desde el mes 1 al 12, combinado con las condiciones anteriores indicadas desde la línea 14 |
| 000021 | FILTRO_ACUM | Se coloca el operador FILTRO_ACUM sin parámetros para limpiar cualquier acumulado anterior, dentro de la misma fórmula | |||
| 000022 | CAUX_01 | FILTRO_ACUM | CBSECOMPL | La variable carácter CAUX_01 que contiene el valor '1' se utiliza de filtro para el campo CBSECOMPL, en el operador FILTRO_ACUM | |
| 000023 | CAUX_01 | SUMA_UNIDADES | CAUX_02 | NAUX_06 | Acumula los unidades con el operador SUMA_UNIDADES, desde el mes 1 al 12, combinado con las condiciones anteriores indicadas desde la línea 14 |
| 000024 | NAUX_05 | SUMA | NAUX_06 | NAUX_06 | |
| 000025 | MUEVE | NAUX_03 | UNIDADES | ||
| 000026 | MUEVE | NAUX_06 | IMPORTE | ||
| 000027 | FINAL | ETIQUETA | |||
| 000028 | # | TRACE_OFF |
Solución disponible para versión 12.1.33 (con garantía extendida), 12.1.2210 (con garantía extendida) o superiores.
¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
Documento de Referencia de Operadores:
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas