Al momento sei offline in attesa che la connessione Internet venga ristabilita

Messaggio di errore quando si tenta di registrare le transazioni di contabilità analitica o salvare un Master record in Microsoft Dynamics GP: "Impossibile inserire la chiave duplicata nell'oggetto 'AAGXXXXX'"

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 897280
Sintomi
Quando si tenta di registrare le transazioni di contabilità analitica in Microsoft Dynamics GP, si potrebbe ricevere il seguente messaggio di errore:

[Microsoft] [Driver ODBC SQL Server] [SQL Server] Violazione del vincolo di chiave primaria 'PKAAG30000', non può inserire una chiave duplicata nell'oggetto 'AAG30003'

Nota
In questo messaggio di errore, AAG30000 è un segnaposto per la tabella. La parola "vincolo" è un errore di ortografia di "vincolo".

Il messaggio di errore effettivo visualizzato può contenere una delle seguenti tabelle:
  • AAG00103
  • AAG00500
  • AAG00600
  • AAG00601
  • AAG00602
  • AAG00603
  • AAG00400
  • AAG00401
  • AAG00201
  • AAG00310
  • AAG00900
  • AAG00901
  • AAG00902
  • AAG00903
  • AAG10000
  • AAG10001
  • AAG10002
  • AAG10003
  • AAG20000
  • AAG20001
  • AAG20002
  • AAG20003
  • AAG30000
  • AAG30001
  • AAG30002
  • AAG30003
Cause
Questo problema si verifica perché il successivo valore disponibile (aaRowID) indicato per questa tabella (aaTableID) nella tabella AAG00102 è già stato utilizzato nella tabella applicabile (o serie di tabelle secondarie).

Ad esempio, la tabella '30000' nella tabella AAG00102 verrà esaminare le tabelle AAG30000, AAG30001, AAG30002 e AAG30003, è necessario fare attenzione a tutte le tabelle di serie per la tabella applicabile.



Risoluzione
Per risolvere questo problema, utilizzare uno dei metodi descritti di seguito sotto per confrontare il valore più alto nella tabella AA (e le sottotabelle) contro il successivo valore disponibile memorizzato nella tabella AAG00102.

Nota Prima di seguire le istruzioni riportate in questo articolo, assicurarsi di disporre di una copia di backup completa del database che è possibile ripristinare se si verifica un problema.

Metodo 1 - utilizza Script SQL per aggiornare i valori per la maggior parte delle tabelle di AA AAG00102

È possibile scaricare uno script SQL utilizzando il collegamento seguente ed eseguire il database delle società in SQL Server Management Studio per aggiornare automaticamente il successivo numero disponibile memorizzato nella tabella AAG00102 come rispetto all'ultimo valore utilizzato nella tabella AA. Lo script verrà esaminate le seguenti tabelle: AAG10000, AAG20000, AAG30000, AAG00201, AAG00400, AAG00401, AAG00500, AAG00600, AAG00900 e AAG00903. Quindi esamina la maggior parte delle tabelle AA, ma non tutti e non per una serie di tabelle secondario. Per ottenere lo script, visitare il seguente sito Web Microsoft:

https://mbs.microsoft.com/files/Customer/GP/downloads/servicepacks/AA_Update_AAG00102.SQL

Metodo 2 - metodo manuale per valore di ricerca e aggiornamento AAG00102 per una tabella AA contemporaneamente

  1. Aprire SQL Server Management Studio. A tale scopo, fare clic su Start, scegliere programmi, fare riferimento alla versione di Microsoft SQL Servere quindi fare clic su SQL Server Management Studio.
  2. Nella finestra di connessione a SQL Server , accedere a SQL Server Management Studio utilizzando la password dell'amministratore di sistema.
  3. Fare clic su di Nuova Query icona per aprire una finestra di query e la copia o digitare il seguente script nella finestra della query. Eseguire sul database della società.
    select MAX (aaGLHdrID) from AAG30000*/Insert in the appropriate column/table for the aaGLHdrID and AAG30000 placeholders in the script.
  4. Nota i risultati della query che consente di visualizzare il valore più alto utilizzato per ultimo nella tabella. (Se la tabella include le sottotabelle, assicurarsi di controllare più alto utilizzato per ultimo valore in tali anche.)
  5. Digitare il seguente script nella finestra della query ed eseguire sul database di Dynamics:
    select * from AAG00102 where CMPANYID = 'nnn'
    Nota In questa query, sostituire il nnn segnaposto con l'ID della società. Per trovare l'ID della società, digitare la seguente query nella finestra della query.
    select * from SY01500
    Selezionare il database di DYNAMICS nell'elenco nella parte superiore della finestra e quindi premere F5.
  6. Verificare che il valore nel campo aaRowID per il valore di aaTableID di 30000 (o tabella appropriata) è uguale o maggiore del valore annotato al passaggio 4.
  7. Utilizzare il seguente script per aggiornare il valore. A tale scopo, digitare lo script seguente nella finestra della query e quindi premere F5.
    update aag00102 set aaROWID = 'yyyy' where aaTableID = 30000 and CMPANYID = 'zzz'
    Nota In questo script, sostituire il aaaa segnaposto con il valore annotato al passaggio 4. Sostituire il zzz segnaposto con l'ID della società. Sostituire il aaTableID con la tabella appropriata.
Status
Microsoft ha confermato che questo è un problema per i prodotti Microsoft elencati nella sezione "Si applica a".

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 897280 - Ultima revisione: 10/22/2015 22:35:00 - Revisione: 24.2

Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2010, Microsoft Dynamics GP 10.0

  • kberrmsg kbmbsmigrate kbbug kbmt KB897280 KbMtit
Feedback