Síntomas
Mensaje del sistema 5: "Duplicar el valor de clave encontrado en un registro existente. La operación actual de actualización de la base de datos provoca que una fila contenga un valor de clave duplicado basado en un índice único. se produce en nómina.
Causas
1. El error se produce al liberar un lote de comprobación en lotes de liberación de nómina PR (02.400.00). El lote PR se libera en PRTRAN, PRDOC y GLTRAN, pero el LOTE tiene un estado suspendido. Consulte la Resolución 22627.
2. Una deducción que antes se definía como deducción local ahora se define como una deducción estatal a partir del 1/1/2000. Al cargar las tablas de impuestos, se cambiará el tipo de deducción para este identificador de deducción. Sin embargo, el proceso de cierre crea un nuevo conjunto de registros EARNDED basados en lo que existía en el año anterior. EARNDED seguirá reflejando el tipo como Local. Cuando se intenta el primer cálculo de la nómina, detectará una falta de coincidencia entre la DEDUCCIÓN. DedType y EARNDED. EarnDedType campos. Consulte la resolución 17010.
3. Se han cargado tablas de impuestos sobre la nómina de 2000 e intentan calcular la primera nómina para 2000. Consulte la Resolución 17010.
4. Una conversión FastForward de la versión 2.06 no pudo crear registros PRDOC, pero sí creó registros PRTRAN para un RefNbr existente que también se utilizó en un nuevo lote de cheques de nómina. Consulte la Resolución 20511.
Resolución
Resolución 17010 - Edite el tipo de deducción en Deducción de nómina (02.290.00).
Notas
1. Esto solo debería hacerse con una copia de seguridad completa de la base de datos y con todos los demás usuarios que hayan cerrado la sesión en Dynamics SL.
2. Este cambio solo debe realizarse DESPUÉS de que se hayan impreso todos los informes de fin de año. Actualmente, si se realizan cambios en la Deducción (02.290.00), la impresión de los W-2 de un año anterior usará la información de deducción tal como está (no como estaba para el año que se imprime). Si una deducción era una deducción local en 1999 y luego se cambió a una deducción estatal en 2000, una vez que la deducción se haya actualizado para 2000, la impresión de los W-2 para 1999 mostrará esos montos de deducción en la casilla Estado en lugar de la casilla Local.
Pasos de corrección
1. Acceda a la deducción de nómina (02.290.00) y seleccione la deducción que es problemática.
2. Cambie el tipo de deducción a uno 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 de DEDUCCIÓN y todos los registros GANADOS relacionados.
Resolución 20511 - Eliminar 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 puede restaurar en caso de que se produzca una pérdida de datos no deseada.
2. Con el Analizador de consultas, acceda 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 de 2.06, así como en el lote de comprobación de nómina que está experimentando el error. Tome nota de los valores BatNbr y CalYR encontrados.
Nota
SELECT BatNbr, RefNbr, CalYR, * from PRTRAN where RefNbr = 'XXXXXX' and TranType = 'CK'
(donde XXXXXX = el número de cheque que genera el error)
3. Ejecute la siguiente instrucción para buscar registros PRDOC coincidentes y comparar BatNbr y CalYR con lo que se anotó en el Paso 1:
Nota
SELECT BatNbr, ChkNbr, CalYR, * from PRDOC where ChkNbr = 'XXXXXX' and DocType = 'CK'
(donde XXXXXX = el número de cheque que genera el error)
4. Elimine los registros PRTRAN que no tengan registros PRDOC asociados:
Nota
DELETE de PRTRAN donde BatNbr = 'BBBBBB' y RefNbr = 'XXXXXX' y CalYR = 'NNNN'
(donde BBBBBB = el número de lote, XXXXXX = el número de cheque que genera el error y NNNN = el año calendario apropiado)
5. Salga del analizador de consultas y libere el lote de comprobación de nómina de nuevo.
Resolución 22627 : corregir el estado Lote de comprobación de nómina a Sin registrar mediante el Analizador de consultas.
1. Realice una COPIA de seguridad de la base de datos que se puede restaurar en caso de que se produzca una pérdida de datos no deseada.
2. Con el Analizador de consultas, acceda a la base de datos de aplicaciones adecuada y ejecute las siguientes instrucciones para comprobar que el campo Rlsed sea verdadero (1) en los registros PRDOC y PRTRAN para el lote de cheques de nómina:
Nota
SELECT * from PRDOC where BatNbr = 'XXXXXX' SELECT * from PRTRAN where BatNbr = 'XXXXXX'
(donde XXXXXX = el número de lote de la comprobación PR)
3. En el modo de inicialización, vaya a Transacciones del diario de contabilidad general (01.010.00), extraiga el lote de comprobación PR y compruebe que las transacciones estén equilibradas.
4. Si los 2 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 Id. del documento TechKnowledge:128082