Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Не создаются кассовые документы ORA-00001: unique constraint (SUPERMAG.SMCSPEC_PK) : Супермаг Плюс (Супермаг 2000)

23.11.2024 5:26


21.10.2010 06:51
На одном из магазинов не формируются кассовые документы. В логах ошибки:
Код:
Ошибка при генерации кассовых документов для магазина ХХХ на дату 20.10.2010 в базе данных DBNAME. Дополнительную информацию см. в следующем сообщении.
Код:
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже. 
Запись 1. Код=80040e2fh (1) [Microsoft OLE DB Provider for Oracle]:
ORA-00001: unique constraint (SUPERMAG.SMCSPEC_PK) violated
ORA-06512: at "SUPERMAG.CASH", line 1508
ORA-06512: at "SUPERMAG.CASH", line 1556
ORA-06512: at "SUPERMAG.CASH", line 1596
ORA-06512: at line 2
При этом в таблице smspec есть табличная часть этого документа т.е. она появляется после попытки генерации документа, в smdocuments по этому документу ничего нет.
Супермаг 1.026.4 sp3 oracle 9.2.0.8.0
21.10.2010 06:57
Удали эту табличную часть и прогони оптимизатора, он тебе констрейнты, да триггера повключает. Где-то что-то нарушено, думается. Структуру проверь.
21.10.2010 12:44
Оптимайзер вадает вот такое:
Код:
21.10.10 17:04:48 -- SUPERMAG.SMACTS:SMCACTS_HDR enabling
21.10.10 17:04:47 -- OLEGON-ERROR! : Query:srv-shelehov3:DBAMIK06:java.sql.SQLException: ORA-02270: no matching unique or primary key for this column-list

21.10.10 17:04:47 -- SUPERMAG.SMACTSMEAS:SMACTSMEAS_HDR enabling
21.10.10 17:04:48 -- OLEGON-ERROR! : Query:srv-shelehov3:DBAMIK06:java.sql.SQLException: ORA-02270: no matching unique or primary key for this column-list

21.10.10 17:04:48 -- SUPERMAG.SMAUCTIONS:SMCAUCTIONS_FK_DOCTYPEID enabling
21.10.10 17:04:48 -- OLEGON-ERROR! : Query:srv-shelehov3:DBAMIK06:java.sql.SQLException: ORA-02270: no matching unique or primary key for this column-list
21.10.2010 12:49
Поздно ты его запустил... Уже данные поползли. Посмотри куда ссылаются эти ключи, придется часть данных вытирать. Т.е. из-за того, что ограничения не были вовремя включены, у тебя куча мусора. Есть тело, нет доков. Тело придется грохнуть. Или создать доки и тело к нему приклеится. А в конце прогнать оптимизатора и он восстановит ограничения.
14.10.2011 07:02
День добрый. Столкнулся с похожей проблеммой.

Есть 2 кассы в торговом зале (№1 и №2) работающие на WinUKM.
В конце смены после принятия выгрузки не создался Кассовый документ, но чеки перешли в статус "закрытый".
Если принять только по кассе №2, то документ создается, а если №1 то нет.
При ручном создании Кассового документа за этот день, Супермаг (Oracle) ругается:

Цитата:
----- Прерывание работы программы -----
сообщение: "ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCSPEC_PK)
ORA-06512: на "SUPERMAG.CASH", line 1615
ORA-06512: на "SUPERMAG.CASH", line 1659
ORA-06512: на "SUPERMAG.DOC3", line 1445
ORA-06512: на "SUPERMAG.SMDOCCREATECS", line 6
ORA-06512: на line 1
"
исключение: Sm.Core.InteropException
hResult: 80040E2Fh; доп. код: 1
источник: Microsoft OLE DB Provider for Oracle

----- Причина исключения, уровень вложения 1 -----
сообщение: "{ call SuperMag.SMDocCreateCS(?, ?, ?) }"
исключение: Sm.Core.InteropException
hResult: 80004005h; доп. код: 0
источник: SmLibaryBase trace
По запросу
Цитата:
select doctype, docid from supermag.SMSPEC t where t.docid='ST20111012@5';
пишет что строки не выбраны (ST20111012@5 такой должен быть его номер) .
Оптимайзер проходил в рабочем режиме без ошибок.
Супермаг 1.028.2СП2, Oracle 10g.

Можете что посоветовать?
14.10.2011 07:14
Насколько я понимаю, это неполное сообщение об ошибке.
Там, скорее всего второй-третий экран есть.
14.10.2011 07:24
У тебя не данные в БД развалены, а новым документом пытаешься их задвоить.
Цитата:
CONSTRAINT "SMCSPEC_PK" PRIMARY KEY ("DOCTYPE", "DOCID", "SPECITEM")
cкорее всего не очень корректное что-то с кассы приехало или правили вручную. Посмотри smcashz
14.10.2011 07:32
Сообщение приведено при попытке создать кассовый документ на базе необработанных z-отчетов.
Не правили точно, то что выгрузила касса то и загружалось.
Сейас гляну smcashz.
14.10.2011 07:37
Было нечто похожее, после того, как я в СМ объединил карточки:
в административном модуле - выполнил синхронизацию и удаление.
но на одной кассе удаленная карточка по какой то причине еще осталась
и как раз с нее пришел Z-отчет - с похожими симптомами...
в итоге исправил артикул в выгрузке - и кассовый документ создался.
Часовой пояс GMT +3, время: 05:26.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.