Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS RH

Línea de producto: 

Línea Protheus

Segmento:

RH

Módulo:SIGAGPE - Gestión de Personal.
Función:

   

Rutina(s) Modificada(s)Nombre TécnicoFecha
GPEXFOR1Funciones Genéricas de Formulación.27/11/2024
GPEA291Registro de Fórmulas.27/11/2024

   

Rutina(s) Involucrada(s)Nombre TécnicoFecha
GPEXOPERDefinición de Operadores.29/10/2024

   

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.


  1. Realizar un respaldo del repositorio (RPO).
  2. 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.
  3. 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_FILIALRG7_PROCESRG7_MATRG7_PDRG7_ANOINIRG7_ANOFIMRG7_CODCRIRG7_SEQACURG7_HRS01RG7_ACUM01RG7_HRS02RG7_ACUM02
D MG 01 0000010000060012024202411            30,00      400.000,00            30,00      400.000,00
D MG 01 0000020000070402024202411                   -        400.000,00                   -        400.000,00

Por Procedimientos (GPEM020):

  1. Ingresar al módulo Gestión de Personal (SIGAGPE).
  2. Ingresar a la rutina Por Procedimientos, ubicada en el menú: "Miscelánea | Cálculos | Por procedimientos" (GPEM020).
  3. Indicar los parámetros requeridos para calcular el Proceso, Procedimiento, Periodo y Empleado configurados en las Pre-condiciones.
  4. Dar clic en el botón "Confirmar", para iniciar el cálculo.
  5. Validar que el cálculo finaliza de manera exitosa.
  6. 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:

Secuencia1ra ExpresiónOperador 12da ExpresiónResultadoObservación
000001 #TRACE_ON


000002NOCALCULASI_IGUAL1FINAL
000003# PRUEBA SUMA_MOVLI



000004
MUEVE'1'CAUX_00Mueve '1' a la variable carácter CAUX_00
000005
MUEVE'V'TP_SUMA_MOVLIAsigna en el operador TP_SUMA_MOVLI valores ('V') que serán tomados para el operador SUMA_MOVLI y FILTRO_MOVLI
000006CAUX_00FILTRO_MOVLICBSECOMPL
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_01Sumariza 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_MOVLIAsigna en el operador TP_SUMA_MOVLI unidades ('H') que seran tomados para el operador SUMA_MOVLI y FILTRO_MOVLI
000009'1'FILTRO_MOVLICBSECOMPL
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_02Sumariza 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
000011CAUX_00SUMA_MOVLICBSECOMPLNAUX_03Se 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_MOVLICBSECOMPLNAUX_04
000013# PRUEBA FILTRO_ACUM



000014
ANOPERFECINIANO_INI_ACUSe 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
ANOPERFECFINANO_FIN_ACU
000016
MUEVE'1'CAUX_01Mueve '1' a la variable carácter CAUX_01
000017
MUEVE'12'CAUX_02Mueve '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_ACUMCBSECOMPL
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
000020CAUX_01SUMA_IMPORTESCAUX_02NAUX_05Acumula 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
000022CAUX_01FILTRO_ACUMCBSECOMPL
La variable carácter CAUX_01 que contiene el valor '1' se utiliza de filtro para el campo CBSECOMPL, en el operador FILTRO_ACUM
000023CAUX_01SUMA_UNIDADESCAUX_02NAUX_06Acumula los unidades con el operador SUMA_UNIDADES, desde el mes 1 al 12, combinado con las condiciones anteriores indicadas desde la línea 14
000024NAUX_05SUMANAUX_06NAUX_06
000025
MUEVENAUX_03UNIDADES
000026
MUEVENAUX_06IMPORTE
000027FINALETIQUETA


000028#TRACE_OFF


   

¡IMPORTANTE!

Solución disponible para versión 12.1.33 (con garantía extendida), 12.1.2210 (con garantía extendida) o superiores.

05. ASUNTOS RELACIONADOS

Documento de Referencia de Operadores:

Operadores (SIGAGPE - MI)