Tempo aproximado para leitura: 00:01:20 min
Ocorrência
Ao incluir um abono para o funcionário, o sistema emite uma mensagem de erro: "Erro ao tentar inserir abono com coligada 1, chapa 12345, data de referência 01/01/2026 e número de horas 01:00:00. Erro ao inserir abono". Ou "Erro ao tentar inserir abono com coligada 1, chapa 12345, data de referência 01/01/2026 início 07:00 e fim 08:00. Problema: Chave duplicada"
Ambiente
RH - RH (Linha RM) - TOTVS Automação de Ponto - Todas as versões
Causa
Este erro ocorre normalmente quando o ID da tabela GAUTOINC está dessincronizado com o ID da tabela AABONOFUNCIONARIO.
Solução
Para verificar se há esta dessincronização, com o apoio de um DBA, deverá executar a query abaixo para conferência:
Consulta 1:
SELECT * FROM GAUTOINC WHERE CODAUTOINC = 'IDABONOFUNCIONARIO'
Consulta 2:
SELECT CODCOLIGADA, MAX(ID) AS ID FROM AABONOFUNCIONARIO GROUP BY CODCOLIGADA
- Se houver divergência entre os ID's retornados na consulta, no caso quando o ID da AABONOFUNCIONARIO está maior que o ID da GAUTOINC irá ocorrer o erro.
- Quando o ID da GAUTOINC estiver maior ou igual ao ID da AABONOFUNCIONARIO não há problema.
Imagem com os ID's dessincronizados, onde o ID da AABONOFUNCIONARIO é maior que o ID da GAUTOINC, que resulta no erro:
Com o apoio de um DBA, deverá executar o script abaixo para igualar os ID's (efetuar um backup da base de dados antes da execução):
UPDATE GAUTOINC SET VALAUTOINC = (SELECT MAX(ID) FROM AABONOFUNCIONARIO WHERE CODCOLIGADA = 1) WHERE CODAUTOINC = 'IDABONOFUNCIONARIO' AND CODCOLIGADA = 1
No exemplo acima, o problema foi identificado na coligada 1. Portanto, a query de UPDATE foi executada considerando essa coligada. Após a execução, e realizando novamente as consultas 1 e 2, mostrará sincronização:
Após o ajuste poderá incluir o abono normalmente.
Saiba mais
RH - RM - PTO - Como Inserir abono no espelho do funcionário
Importante
Caso você seja cliente Cloud Totvs, deverá abrir um ticket com o time de Cloud para solicitar a execução do UPDATE.
Se ao executar a consulta para avaliar se há a dessincronização dos ID's, os mesmos estiverem sincronizados, a causa raiz poderá ser outra. Nesta situação deverá acionar o time de suporte para análise.
0 Comentários