תופעות
בעת שחרור אצוות חשבונית של חשבונות חייבים, האצווה מושעית עם הודעת המערכת 6909. ה- ardebug יציג את הודעת השגיאה הבאה:
הפרה של אילוץ PRIMARY KEY 'HistDocSlsTax0'. אין אפשרות להוסיף מפתח כפול באובייקט 'HistDocSlsTax'.
סיבה
טבלת ה- ardoc מכילה חשבונית נוספת עם אותו מספר הפניה של אחת החשבוניות באצווה זו. התוצאה היא ששלמה מנסה להוסיף רשומה כפולה לטבלה HistDocSlsTax.
פתרון
כדי לעקוף בעיה זו, בצע את הפעולות הבאות:
-
חפש את הרשומות המשוכפלות. לשם כך, הפעל את משפט ה- SQL הבא:
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
הערה <XXXXXX> מציין מיקום עבור מספר האצווה המושעה.קובץ Script זה יחזיר את רשומת ה- ardoc של שתי החשבוניות (או יותר) עם אותו מספר הפניה.
-
עדכן את החשבונית באצווה המושעה לפריט שונה במקצת, כגון על-ידי הוספת "A" לסוף. להלן דוגמה של משפטי העדכון הנחוצים:
update ardoc set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'update artran set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'
מידע נוסף
בעת בחירת מספר הפניה חדש, ודא כי מספר ההפניה החדש לא היה כבר בשימוש. נסה גם לשמור את מספר החשבונית באותו אורך כמו מספרי ההפניה האחרים.