01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Servicios | ||||||
Módulo: | SIGAGPE - Gestión de Personal | ||||||
Función: |
| ||||||
País: | MÉXICO | ||||||
Ticket: | 10615331 | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-11049 |
02. SITUACIÓN/REQUISITO
Al realizar el cierre de un periodo en la rutina de Cierre de Nómina (GPEM120), al momento de cargar los nuevos días derecho cuando un empleado tiene aniversario se genera el siguiente error log:
"THREAD ERROR ([7816], DB error (Insert): -37 File: SRF010 - Error : 2601 (23000) (RC=-1) - No se puede insertar una fila de clave duplicada en el objeto 'dbo.SRF010' con índice único 'SRF010_UNQ".
03. SOLUCIÓN
En la rutina de Cierre de Nómina (GPEM120), se realiza un ajuste en la función MkNewPerSRF() para que, al crear el registro en la tabla Programación de Vacaciones (SRF), se realice el guardado de los campos Fecha base (RF_DATABAS) y Días derecho (RF_DIASDIR) en base a las siguientes condiciones:
Si la Fecha de re-ingreso (RA_FECREI) está vacía y la Fecha de reconocimiento (RA_DTREC) está vacía, la Fecha base (RF_DATABAS) se actualizará con el día y mes de la fecha de ingreso más el año de aniversario y los Días derecho (RF_DIASDIR) se calcularán en base al día y mes de la fecha de ingreso más el año de aniversario.
Si la Fecha de re-ingreso (RA_FECREI) está informada y la Fecha de reconocimiento (RA_DTREC) está vacía, la Fecha base (RF_DATABAS) se actualizará con el día y mes de la fecha de re-ingreso más el año de aniversario y los Días derecho (RF_DIASDIR) se calcularán en base al día y mes de la fecha de re-ingreso más el año de aniversario.
Si la Fecha de re-ingreso (RA_FECREI) está informada y la Fecha de reconocimiento (RA_DTREC) está informada, la Fecha base (RF_DATABAS) se actualizará con el día y mes de la fecha de re-ingreso más el año de aniversario y los Días derecho (RF_DIASDIR) se calcularán en base al día y mes de la fecha de reconocimiento más el año de aniversario.
- Realizar un respaldo del repositorio del ambiente (archivo .RPO).
- Aplicar el parche correspondiente al issue DMINA-11049.
- Verificar que las rutinas actualizadas en el repositorio, coincidan con las descritas en el encabezado del presente Documento Técnico (con fecha igual o superior).
- En la rutina de "Actualizaciones | Empleados | Empleados" (GPEA010), contar con un empleado dado de alta, que cumpla aniversario en el periodo a procesar.
- En la rutina de "Actualizaciones | Definic Calculo | Periodos" (GPEA240) contar con la configuración del Periodo para el Proceso "Nómina Ordinaria", Mes, Año y Número de Pago.
- Realizar el cálculo del periodo para el empleado del cual se realizará el proceso de cierre nómina.
- En el módulo Gestión de Personal (SIGAGPE) ir al menú "Miscelánea | Cierres| Periodos" (GPEM120).
- Informar todos los datos que son requeridos para el cálculo de cierre: Proceso, Cod. Periodo, Número pago y procedimiento.
- Una vez que fueron informados todos los campos requeridos para realizar el proceso de cierre, presionar el botón Confirmar.
- Confirmar que el proceso se finalice correctamente sin presentar error log.
- En el módulo Gestión de Personal (SIGAGPE) ir al menú "Actualizaciones | Empleados | Control Días de Derecho" (GPEA050).
- Seleccionar el Empleado y presionar el botón Mantenimiento.
- Validar que la columna Fch.Ini.Per (RF_DATABAS) corresponda al día y mes de la Fecha de ingreso del empleado + el año de aniversario y que el cálculo de la columna Ctd. Ref. Per. (RF_DIASDIR) sea correcto.
04. INFORMACIÓN ADICIONAL
No aplica.
La presente solución aplica para versión 12.1.17 o superior, siempre y cuando se tengan las rutinas actualizadas a la fecha indicada en la sección 01 - Datos Generales.¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
- No aplica.