Error al editar un cargo específico de un agente

Hola, al momento de editar algún parámetro de un cargo específico de un agente me aparece el siguiente error: Error insertando. Ya existe un registro con la misma clave o descripción.
Cuando se agrega otro cargo en el mismo agente, funciona correctamente.

En el log de postgres aparece lo siguiente:

2020-02-04 11:49:14.784 -03 [12388] postgres@siu ERROR: llave duplicada viola restricción de unicidad «dh53_pkey»
2020-02-04 11:49:14.784 -03 [12388] postgres@siu DETALLE: Ya existe la llave (nro_cargo, vig_caano, vig_cames)=(775, 2019, 7).
2020-02-04 11:49:14.784 -03 [12388] postgres@siu SENTENCIA: INSERT INTO mapuche.dh53 (nro_cargo, rama, disciplina, area, porcdedicdocente, porcdedicinvestig, porcdedicagestion, porcdedicaextens, codigocontrato, horassemanales, duracioncontrato, incisoimputacion, montocontrato, nro_legaj, fec_alta, fec_baja, codc_carac, codc_categ, codc_agrup, tipo_norma, tipo_emite, fec_norma, nro_norma, codc_secex, nro_exped, nro_exped_baja, fec_exped_baja, ano_exped_baja, codc_secex_baja, ano_exped, fec_exped, nro_tab13, codc_uacad, nro_tab18, codc_regio, codc_grado, vig_caano, vig_cames, chk_proye, tipo_incen, dedi_incen, cic_con, fec_limite, porc_aplic, hs_dedic, tipo_norma_baja, tipoemitenormabaja, fecha_norma_baja, fechanotificacion, coddependesemp, chkfirmaencargado, chkfirmaautoridad, chkestadoafip, chkestadotitulo, chkestadocv, objetocontrato, nro_norma_baja, fechagrado, fechapermanencia, fecaltadesig, fecbajadesig, motivoaltadesig, motivobajadesig, renovacion, idtareacargo, chktrayectoria, chkfuncionejec, chkretroactivo, chkstopliq, nro_cargo_ant, transito, cod_clasif_cargo, cod_licencia, cargo_concursado) VALUES (‘775’, NULL, NULL, NULL, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ’ ', ‘0’, ‘73’, ‘2019-07-01’, ‘2020-03-31’, ‘ORDI’, '18 ', '0 ', 'RESOLUCION ', 'Consejo Superior ', ‘2019-07-01’, ‘38’, NULL, NULL, NULL, NULL, ‘0’, NULL, ‘0’, NULL, ‘13’, '8 ', ‘18’, ‘CABA’, NULL, ‘2019’, ‘7’, ‘1’, NULL, NULL, NULL, NULL, ‘100’, ‘0’, NULL, NULL, NULL, NULL, ’ ', ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, NULL, ‘0’, NULL, ‘2019-07-01’, ‘2019-07-01’, ‘2020-03-31’, ‘0’, ‘0’, NULL, NULL, true, false, false, ‘0’, ‘0’, ‘0’, NULL, NULL, false)

Saludos

Hola Ivan, esto se debe a que por alguna razón tienen guardado un cargo histórico (en dh53) que tienen la misma vigencia que el cargo actual (dh03). Esto no debería pasar, pero por diversos usos / combinaciones del sistema se puede dar (Ejemplo: modificar el periodo en que se encuentra parado el sistema de forma manual).

Para solucionar el inconveniente, te recomiendo poner una vigencia anterior al registro de dh53 (cambiar “775, 2019, 7” por “775, 2019, 6”) o eliminar ese registro de dh53 (menos aconsejada).
Luego de esto, vas a poder modificar el cargo sin problemas.
Saludos, Nico.

Muchas gracias Nico!! Al eliminar el registro de la tabla dh53 de forma manual, se derivaron otros errores en las tablas dh68 y dh74, en las cuales eliminé también ese registro. Cuando se volvió a hacer el proceso de liquidación funcionó correctamente. Saludos