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 | ||||
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.
- En el menú de Gestión de Personal (SIGAGPE), a través de la rutina Empleados (Actualizaciones | Empleados), se deben tener registros de empleados.
- A través de la rutina Periodos (Actualizaciones | Definic. Calculo), contar con un periodo abierto y seleccionado para el cálculo del procedimiento ASG.
- Contar con registros para generar el cálculo.
- 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)
- 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).
- Confirmar el proceso de cálculo.
- Como se observa no genera ningún mensaje de error.
- 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.
- Por último verificamos el grabado de las tablas SR3 y SR7.
04. INFORMACIÓN ADICIONAL
No aplica.
05. ASUNTOS RELACIONADOS
No aplica.
- documento_tecnico
- totvs
- rh
- mercado_internacional
- base_conocimiento
- arg
- argentina
- sigagpe
- gestion_personal
- gpe
- gpexfor1
- calculo_nomina
- habilitar_grabacion
- version_12_1_17
- version_12_1_23
- version_12_1_25
- version_12_1_27
- dmicns-10177
- 10701058
- procedimiento_asg
- error_duplicidad
- sr3
- sr7
- duplicidad_sr7
- mi
- protheus
- totvs_rh
- ticket_10701058