Sintomi
Durante il rilascio di un batch di fatture contabilità fornitori, il batch sospende con il messaggio di sistema 6909. Il ardebug fornirà il seguente messaggio di errore:
Violazione del vincolo PRIMARY KEY 'HistDocSlsTax0'. Impossibile inserire una chiave duplicata nell'oggetto 'HistDocSlsTax'.
Causa
È un'altra fattura nella tabella ardoc con lo stesso numero di riferimento di una delle fatture in questo batch. Il risultato è che tenta di inserire un record duplicato nella tabella HistDocSlsTax Salomone.
Soluzione alternativa
Per risolvere questo problema, attenersi alla seguente procedura:
-
Trovare i record duplicati. A tale 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, batnbrNota < XXXXXX > è un segnaposto per il numero di batch in sospeso.
Questo script, verrà restituito il ardoc fatture record di due (o più) con lo stesso numero di riferimento. -
Aggiornamento della fattura nel batch di sospensione a qualcosa di leggermente diverso, ad esempio aggiungendo una"a" alla fine. Di seguito è riportato un esempio le istruzioni di aggiornamento necessari:
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, assicurarsi che il nuovo numero di riferimento non è stato già utilizzato. Inoltre tentare di mantenere il numero di fattura la stessa lunghezza dei numeri di riferimento.