Sintomi

Durante il rilascio di un batch di fatture contabilità clienti, il batch viene sospeso con il messaggio di sistema 6909. Il ardebug darà il seguente messaggio di errore:

Violazione del vincolo PRIMARY KEY 'HistDocSlsTax0'. Impossibile inserire una chiave duplicata nell'oggetto 'HistDocSlsTax'.

Causa

C'è un'altra fattura nella tabella ardoc con lo stesso numero di riferimento di una delle fatture in questo batch. Il risultato è che Salomone sta provando a inserire un record duplicato nella tabella HistDocSlsTax.

Soluzione alternativa

Per risolvere il problema, procedere come segue:

  1. Trovare i record duplicati. A questo scopo, eseguire l'istruzione SQL seguente:

    select refnbr, doctype, batnbr, * from ardoc tablea where doctype='IN' and refnbr IN (select refnbr from ardoc tableb where doctype='IN' and tablea.refnbr=tableb.refnbr and tablea.tstamp<>tableb.tstamp and (tablea.batnbr='<XXXXXX>' OR tableb.batnbr='<XXXXXX>')) order by refnbr, batnbr

    Nota <> XXXXXX è un segnaposto per il numero batch sospeso.Questo script restituirà il record ardoc delle due (o più) fatture con lo stesso numero di riferimento.

  2. Aggiornare la fattura nel batch sospeso a qualcosa di leggermente diverso, ad esempio aggiungendo una "A" alla fine. Ecco un esempio delle istruzioni di aggiornamento necessarie:

    update ardoc set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'update artran set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'

Ulteriori informazioni

Quando si seleziona un nuovo numero di riferimento, verificare che il nuovo numero di riferimento non sia già stato usato. Provare anche a mantenere la lunghezza del numero di fattura uguale a quella degli altri numeri di riferimento.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.