Sys Msg 5 "Valor de clave duplicado encontrado en un registro existente" en Nóminas

Se aplica a
Dynamics SL 2011 Dynamics SL 2015

Síntomas

Mensaje del sistema 5: 'Valor de clave duplicado encontrado en un registro existente. La operación de actualización actual de la base de datos provoca que una fila contenga un valor de clave duplicado basado en un índice único.' se produce en Nóminas. 

Causas

1. El error se produce al liberar un lote de comprobación en los lotes de PR de versión de nómina (02.400.00). El lote de PR se libera en PRTRAN, PRDOC y GLTRAN, pero el lote tiene un estado suspendido. Consulta la Resolución 22627.

2. Una deducción previamente definida como deducción local ahora se define como una deducción de estado a partir de 1/1/2000. Al cargar las tablas de impuestos, se cambiará el tipo de deducción para este id. de deducción. Sin embargo, el proceso de cierre crea un nuevo conjunto de registros EARNDED en función de lo que existía en el año anterior. EARNDED seguirá reflejando el tipo como Local. Cuando se intenta el primer cálculo de nómina, detectará una falta de coincidencia entre la DEDUCCIÓN. DedType y el EARNDED. EarnDedType (campos). Consulta la resolución 17010.

3. Se han cargado 2000 tablas de impuestos de nómina e intenta calcular la primera nómina de 2000. Consulta la Resolución 17010.

4. Una conversión FastForward de la versión 2.06 no pudo crear registros PRDOC pero creó registros PRTRAN para un RefNbr existente que también se usó en un nuevo lote de comprobación de nómina. Consulta la Resolución 20511.  

      

Resolución

Resolución 17010 - Editar el tipo de deducción en la deducción de nómina (02.290.00). 

Notas

1. Esto solo debe hacerse con una copia de seguridad completa de la base de datos y con todos los demás usuarios que hayan cerrado sesión en Dynamics SL. 

 2. Este cambio solo debe realizarse DESPUÉS de imprimir todos los informes de fin de año. Actualmente, si se realizan cambios en la deducción (02.290.00), la impresión de W-2 para un año anterior usará la información de deducción tal cual (no como era para el año que se va a imprimir). Si una deducción era una deducción local en 1999 y después cambió a ser una deducción de estado en 2000, una vez que la deducción se haya actualizado para 2000, la impresión de W-2 para 1999 mostrará esos importes de deducción en el cuadro Estado en lugar del cuadro Local. 

Pasos de corrección

1. Acceda a la deducción de nómina (02.290.00) y seleccione la deducción que sea problemática. 

2. Cambie el tipo de deducción a algo distinto de lo que se muestra. 

3. Guarde los cambios. 

4. Acceda a la deducción y vuelva a cambiar el tipo de deducción al tipo de deducción correcto. 

5. Guarde los cambios. Esto actualizará el registro DEDUCCIONES y todos los registros EARNDED relacionados. 

Resolución 20511 : elimine los registros PRTRAN convertidos que no tengan registros PRDOC existentes. 

Pasos de corrección

1. Realice una COPIA DE SEGURIDAD de la base de datos que se pueda restaurar en caso de que se produzca una pérdida de datos no deseable. 

2. Con el Analizador de consultas, obtenga acceso a la base de datos de aplicaciones adecuada y ejecute la siguiente instrucción para determinar si RefNbr se usa en los registros PRTRAN que se convirtieron desde 2.06, así como en el lote Comprobación de nóminas que experimenta el error. Tome nota de los valores BatNbr y CalYR encontrados. 

Nota

        

SELECT BatNbr, RefNbr, CalYR, * de PRTRAN donde RefNbr = 'XXXXXX' y TranType = 'CK'

(donde XXXXXX = el número de comprobación que genera el error)

3. Ejecute la siguiente instrucción para buscar registros PRDOC coincidentes y compare BatNbr y CalYR con lo que se mencionó en el paso 1:

Nota

        

SELECT BatNbr, ChkNbr, CalYR, * de PRDOC donde ChkNbr = 'XXXXXX' y DocType = 'CK'

    (donde XXXXXX = el número de comprobación que genera el error)

4. Elimine los registros PRTRAN que no tengan registros PRDOC asociados:

Nota

        

ELIMINAR de PRTRAN donde BatNbr = 'BBBBBB' y RefNbr = 'XXXXXX' y CalYR = 'NNNN'

(donde BBBBBB = número de lote, XXXXXX = el número de comprobación que genera el error y NNNN = el Calendar Año apropiado)

5. Salga del Analizador de consultas y libere de nuevo el lote Comprobación de nómina. 

Resolución 22627 : corrija el estado del lote de comprobación de nómina a No contabilizado con el Analizador de consultas. 

1. Realice una COPIA DE SEGURIDAD de la base de datos que se pueda restaurar en caso de que se produzca una pérdida de datos no deseable. 

2. Con el Analizador de consultas, obtenga acceso a la base de datos de aplicaciones adecuada y ejecute las instrucciones siguientes para comprobar que el campo Rlsed es True (1) en los registros PRDOC y PRTRAN para el lote Comprobación de nómina:

Nota

        

SELECT * de PRDOC donde BatNbr = 'XXXXXX' SELECT * de PRTRAN donde BatNbr = 'XXXXXX'

(donde XXXXXX = el número de lote de la comprobación pr)

3. En el modo Inicializar, vaya a Transacciones del Diario mayor (01.010.00), extraiga el lote de comprobación de PR y compruebe que las transacciones están equilibradas. 

4. Si los dos pasos anteriores son correctos, continúe con los Pasos de corrección. 

5. Con el Analizador de consultas, ejecute la siguiente instrucción para cambiar el estado del lote a 'U':

Nota

        

UPDATE BATCH SET Status = 'U' where Module = 'PR' and BatNbr = 'XXXXXX'

(donde XXXXXX = el número de lote de la comprobación pr)

Este artículo era TechKnowledge Document ID:128082