Один раз словил эту ошибку, будучи в отпуске. По удаленке на коленке подправил таблицы через Paradox.
Сегодня - повторение.
Суть - при обработке кассовым сервером Супермага выгружаемой смены выскакивает ошибка:
Цитата: Тип события: Ошибка
Источник события: CashServer Library
Категория события: Сервер
Код события: 2052
<...>
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже.
Запись 1. Код=80004005h (0) [SMUKMD~1]:
Ошибка при попытке импорта записи из таблицы CASHDCRD. Ключ записи "ShopIndex=7,CashNumber=16,ZNumber=439,CheckNumber=14,CardType=0,CardNumber=191205".
Запись 2. Код=80004005h (2291) [Microsoft OLE DB Provider for Oracle]:
ORA-02291: нарушено ограничение целостности (SUPERMAG.SMCASHDISCCARD_CHECK) - исходный ключ не найден
Запись 3. Код=80004005h (0) [SmLibaryBase trace]:
insert into Supermag.SMCASHDISCCARD(LocID,DeskNum,ZNum,CheckNum,Code,DiscSum)
values(7,16,439,14,'191205',TO_NUMBER('6,21','9D99','NLS_NUMERIC_CHARACTERS='', '''))
%4 %5 %6 %7 %8
Лезу в таблицы выгрузки.
Наблюдаю, что запись о чеке №14 присутствует в таблицах о скидках.
В таблицах о продажах (Cashsail и др) - записи о чеке 14 нет.
Смотрю в Супермаге - в оперативных чеках этот чек 14 есть.
Тут же висят закрытые чеки этого z-отчета. Там 14-го чека нет.
То есть, в момент продажи запись о чеке 14 в УКМ-Win была, он ее отправил на сервер, а при закрытии смены часть записей теряется.
При повторной выгрузке закрытой смены ошибка повторяется.
Билд УКМ-Win от 3 июля.
Куда копать?