Á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)Nombre Técnico
GPEXFOR1.PRXFunciones genéricas para su uso en Formulación (modelo 2).



País:Argentina
Ticket:

10701058

Requisito/Story/Issue (informe el requisito vinculado):DMICNS-10177


02. SITUACIÓN/REQUISITO

En la rutina de cálculo de nómina Por procedimiento (GPEM020.PRX), al ejecutar el tipo de procedimiento "ASG" con la opción “Habilitar grabación” aborta el cálculo generando el siguiente error:

Error Description: SR7010: DB error (Insert): -37 File: SR7010 - Error : 2601 (23000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]No se puede insertar una fila de clave duplicada en el objeto 'dbo.SR7010' con índice único 'SR7010_UNQ'. El valor de la clave duplicada es (0101, , 20210131, 1, 001, 0). ( From tISAMFile::Write )


03. SOLUCIÓN

Se identifica que al cargar los valores del arreglo aTables[] para Histórico de Modificaciones Salariales (SR7) la posición donde viene la matrícula (R7_MAT) no tiene contenido, este se llena en base al inicializador estándar del mismo campo (para este campo no tiene ningún inicializador), posteriormente valida vs el arreglo aChgFields[] pero ahí tampoco existe el campo R7_MAT y por lo tanto toma el valor del arreglo  aTables[] que tiene la matricula vacía.

Se realiza un cambio en la rutina fGravaTab() del fuente GPEXFOR1.PRX para que agregue al arreglo aChgFields[] el campo R7_MAT y su contenido (SRA->RA_MAT), de esta forma al grabar los registros del Histórico de Modificaciones Salariales (SR7) se llena correctamente la matrícula, evitando error de duplicidad de registros por tener vacío el campo de matrícula.


  1. En el menú de Gestión de Personal (SIGAGPE), a través de la rutina Empleados (Actualizaciones | Empleados), se deben tener registros de empleados.
  2. A través de la rutina Periodos (Actualizaciones | Definic. Calculo), contar con un periodo abierto y seleccionado para el cálculo del procedimiento ASG.
  3. Contar con registros para generar el cálculo.
  4. Verificamos los registros de las tablas SR3 y SR7 (antes de ejecutar el cálculo de nómina), asegurándonos que no existan registros duplicado (o si es ambiente de pruebas, que no exista ningún registro).

Cálculos por Procedimientos (GPEM020.PRX)


  1. Ingresar al módulo Gestión de Personal (SIGAGPE) a través de la opción Por procedimiento (GPEM020.PRX) (Miscelánea | Cálculos).

    • Indicar el Proceso y Procedimiento a calcular (ASG).
    • Habilitar Grabación
    • En Rangos no se informa ninguno (también se puede hacer la prueba informando sí se requiere aplicar más filtros).
  2. Confirmar el proceso de cálculo.
  3. Como se observa no genera ningún mensaje de error.
  4. Al finalizar el cálculo, ingresar a "Otras acciones | Logs" y posicionarse sobre el log correspondiente al proceso de cálculo realizado.
    • Como se observa proceso los empleados de manera correcta.
  5. Por último verificamos el grabado de las tablas SR3 y SR7. 


04. INFORMACIÓN ADICIONAL

No aplica.




05. ASUNTOS RELACIONADOS

No aplica.