Симптоми
Докато издавате партида вземания фактура, партида спира със системно съобщение 6909. Ardebug ще даде следното съобщение за грешка:
Нарушаване на ограничението PRIMARY KEY "HistDocSlsTax0". Не може да се вмъкне дублиран ключ в обекта "HistDocSlsTax".
Причина
В таблицата "Ардок" има друга фактура със същия референтен номер като една от фактурите в тази партида. Резултатът е, че Соломон се опитва да вмъкне дублиран запис в таблицата 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> е контейнер за преустановената партида номер.Този скрипт ще върне записа за ardoc на двете (или повече) фактури с един и същ номер на препратка.
-
Актуализирайте фактурата в преустановената партида с нещо малко по-различно, като например чрез добавяне на "А" в края. Ето пример за необходимите декларации за актуализиране:
update ardoc set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'update artran set refnbr='01013A' where refnbr='010130' and batnbr='<XXXXXX>'
Повече информация
Когато изберете нов номер за препратка, уверете се, че новият номер за препратка още не е използван. Също така се опитайте да запазите дължината на номера на фактурата като другите номера на препратки.