Errore "Violazione del vincolo PRIMARY KEY 'PK##0671112'" quando si esegue la routine di chiusura di fine anno nella contabilità generale

Questo articolo fornisce una soluzione per il problema che non è possibile eseguire la routine di chiusura di fine anno nella contabilità generale in Microsoft Dynamics GP a causa dell'errore "PK##0671112" del vincolo PRIMARY KEY.

Si applica a: Microsoft Dynamics GP
Numero KB originale: 950019

Sintomi

Quando si tenta di eseguire la routine di chiusura di fine anno in Contabilità generale in Microsoft Dynamics GP, viene visualizzato il messaggio di errore seguente:

[Microsoft] [Odbc SQL Server Driver][SQL Server]Violazione del vincolo PRIMARY KEY 'PK##0671112'. Impossibile inserire la chiave duplicata nell'oggetto '##0671112'

Causa

Le transazioni di chiusura di fine anno contengono una valuta non assegnata a un conto.

Risoluzione

Per risolvere il problema, assegnare la valuta all'account appropriato. A tal fine, attenersi alla seguente procedura:

  1. Fare in modo che tutti gli utenti escano da Microsoft Dynamics GP.

  2. Ripristinare un backup del database aziendale eseguito prima di provare a eseguire la routine di chiusura di fine anno della contabilità generale.

  3. Avviare la console di amministrazione del supporto, Microsoft SQL Query Analyzer o SQL Server Management Studio. A tale scopo, usare uno dei metodi seguenti a seconda del programma in uso.

    Metodo 1: Per SQL Server Desktop Engine

    Se si usa SQL Server Desktop Engine (noto anche come MSDE 2000), avviare la console di amministrazione del supporto. A tale scopo, selezionare Start, scegliere Tutti i programmi, Console di amministrazione Microsoft e quindi Support Administrator Console.

    Metodo 2: per SQL Server 2000

    Se si usa SQL Server 2000, avviare SQL Query Analyzer. A tale scopo, selezionare Start, scegliere Tutti i programmi, Microsoft SQL Server e quindi Query Analyzer.

    Metodo 3: Per SQL Server 2005

    Se si usa SQL Server 2005, avviare SQL Server Management Studio. A tale scopo, selezionare Start, scegliere Tutti i programmi, Microsoft SQL Server 2005 e quindi selezionare SQL Server Management Studio.

  4. Eseguire lo script seguente nel database aziendale:

    Select CURNCYID FROM GL20000
    
  5. Prendere nota di tutte le valute visualizzate nella colonna CURNCYID .

  6. Avviare Microsoft Dynamics GP e quindi accedere come utente 'sa'.

  7. Nel menu Schede scegliere Finanziario, quindi selezionare Account.

  8. Nel campo Account digitare il numero di conto utili conservati.

  9. Selezionare Valuta.

  10. Nella finestra Seleziona valute account selezionare le caselle di controllo ID valuta annotate nel passaggio 5.

  11. Eseguire la routine di chiusura di fine anno in Contabilità generale.