Sys Msg 5 "Duplicate Key Value Found in an Existing Record" in Payroll

Dotyczy
Dynamics SL 2011 Dynamics SL 2015

Objawy

System Message 5 — zduplikowana wartość klucza znaleziona w istniejącym rekordzie. Bieżąca operacja aktualizacji bazy danych powoduje, że wiersz zawiera zduplikowaną wartość klucza opartą na unikatowym indeksie. występuje w obszarze Płace. 

Powoduje

1. Ten błąd występuje, zwalniając partię sprawdzania w partiach PR Wydania płac (02.400.00). Partia PR zostanie wydana w programach PRTRAN, PRDOC i GLTRAN, ale partia ma stan wstrzymania. Zobacz Rozdzielczość 22627.

2. Potrącenie wcześniej zdefiniowane jako potrącenie lokalne jest teraz definiowane jako potrącenie państwowe począwszy od 2000-01-01. Załadowanie tabel podatkowych spowoduje zmianę typu odliczeń dla tego identyfikatora odliczenia. Jednak proces zamykania tworzy nowy zestaw rekordów EARNDED na podstawie tego, co istniało w poprzednim roku. FUNKCJA ZAROBIONE będzie nadal odzwierciedlać typ jako Lokalny. Po podjęciu pierwszej próby obliczenia płac zostanie wykryta niezgodność między funkcją ODLICZENIE. DedType i ZAROBIONE. Pola EarnDedType. Zobacz rozdzielczość 17010.

3. Załadowano 2000 tabel podatku od płac i podjęto próbę obliczenia pierwszej listy płac za rok 2000. Zobacz Rozdzielczość 17010.

4. Konwersja FastForward z wersji 2.06 nie tworzy rekordów PRDOC, ale tworzy rekordy PRTRAN dla istniejącego refnbr, który był również używany w nowej partii sprawdzania płac. Zobacz Rozdzielczość 20511.  

      

Rozwiązanie

Rozwiązanie 17010 — Edytuj typ potrącenia w odliczeniu płac (02.290.00). 

Notatki

1. Należy to zrobić tylko za pomocą pełnej kopii zapasowej bazy danych i wszystkich innych użytkowników wylogowanych z dynamics sl. 

 2. Ta zmiana powinna zostać wprowadzona dopiero po wydrukowaniu wszystkich raportów na koniec roku. Obecnie, jeśli zmiany zostaną wprowadzone w Odliczeniu (02.290.00), drukowanie W-2s za poprzedni rok będzie używać informacji o potrąceniu, jak to jest (nie jak to było w roku drukowane). Jeśli potrącenie było lokalne potrącenie w 1999 r., a następnie zmienione na potrącenie państwa w 2000 r., po odliczeniu został zaktualizowany w 2000 r., drukowanie W-2s dla 1999 r. pokaże te kwoty odliczenia w polu Państwa zamiast lokalnego pola. 

Kroki korekty

1. Uzyskaj dostęp do odliczenia od wynagrodzeń (02.290.00) i wybierz problematyczne potrącenie. 

2. Zmień typ odliczenia na wartość inną niż wyświetlana. 

3. Zapisz zmiany. 

4. Uzyskaj dostęp do odliczenia i zmień typ odliczenia z powrotem na prawidłowy typ odliczenia. 

5. Zapisz zmiany. Spowoduje to zaktualizowanie rekordu DEDUCTION i wszystkich powiązanych rekordów EARNDED. 

Rozdzielczość 20511 — usuwanie przekonwertowanych rekordów PRTRAN, które nie mają istniejących rekordów PRDOC. 

Kroki korekty

1. Utwórz kopię zapasową bazy danych, którą można przywrócić w przypadku niepożądanej utraty danych. 

2. Korzystając z analizatora zapytań, uzyskaj dostęp do odpowiedniej bazy danych aplikacji i uruchom poniższą instrukcję, aby ustalić, czy funkcja RefNbr jest używana w rekordach PRTRAN, które zostały przekonwertowane z wersji 2.06, a także w partii Sprawdzanie płac, w przypadku którego występuje błąd. Zanotuj znalezione wartości BatNbr i CalYR. 

Uwaga

        

SELECT BatNbr, RefNbr, CalYR, * z PRTRAN, gdzie RefNbr = "XXXXXX" i TranType = "CK"

(gdzie XXXXXX = check number generating the error)

3. Wykonaj poniższe instrukcje, aby znaleźć pasujące rekordy PRDOC i porównać BatNbr i CalYR z tym, co zostało zanotowany w kroku 1:

Uwaga

        

SELECT BatNbr, ChkNbr, CalYR, * z PRDOC, gdzie ChkNbr = "XXXXXX" i DocType = "CK"

    (gdzie XXXXXX = check number generating the error)

4. Usuń rekordy PRTRAN, które nie mają skojarzonych rekordów PRDOC:

Uwaga

        

DELETE from PRTRAN where BatNbr = 'BBBBBB' and RefNbr = 'XXXXXX' and CalYR = 'NNNN'

(gdzie BBBBBB = numer partii, XXXXXX = check number generujące błąd i NNNN = odpowiedni Calendar rok)

5. Zamknij analizator zapytań i ponownie zwolnij partię Sprawdzanie płac. 

Rozwiązanie 22627 — popraw stan partii sprawdzania płac na wartość Nieoznaczone przy użyciu analizatora zapytań. 

1. Utwórz kopię zapasową bazy danych, którą można przywrócić w przypadku niepożądanej utraty danych. 

2. Korzystając z analizatora zapytań, uzyskaj dostęp do odpowiedniej bazy danych aplikacji i uruchom następujące instrukcje, aby sprawdzić, czy pole Rlsed ma wartość True (1) w rekordach PRDOC i PRTRAN dla partii Sprawdzanie płac:

Uwaga

        

SELECT * z PRDOC gdzie BatNbr = 'XXXXXX' SELECT * z PRTRAN gdzie BatNbr = 'XXXXXX'

(gdzie XXXXXX = numer partii sprawdzania PR)

3. W trybie inicjowania przejdź do pozycji Transakcje dziennika księgi głównej (01.010.00), przesuń partię SPRAWDZANIE PR i sprawdź, czy transakcje są zrównoważone. 

4. Jeśli powyższe 2 kroki są prawidłowe, postępuj zgodnie z instrukcjami korekty. 

5. Za pomocą analizatora zapytań uruchom następującą instrukcję, aby zmienić stan partii na 'U':

Uwaga

        

UPDATE BATCH SET Status = 'U', gdzie moduł = 'PR' i BatNbr = 'XXXXXX'

(gdzie XXXXXX = numer partii sprawdzania PR)

Ten artykuł zawiera identyfikator dokumentu TechKnowienie:128082