[ОТВЕТИТЬ]
21.10.2010 06:51
serj_
 
На одном из магазинов не формируются кассовые документы. В логах ошибки:
Код:
Ошибка при генерации кассовых документов для магазина ХХХ на дату 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
OlegON
 
Удали эту табличную часть и прогони оптимизатора, он тебе констрейнты, да триггера повключает. Где-то что-то нарушено, думается. Структуру проверь.
21.10.2010 12:44
serj_
 
Оптимайзер вадает вот такое:
Код:
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
John Doe
 
Поздно ты его запустил... Уже данные поползли. Посмотри куда ссылаются эти ключи, придется часть данных вытирать. Т.е. из-за того, что ограничения не были вовремя включены, у тебя куча мусора. Есть тело, нет доков. Тело придется грохнуть. Или создать доки и тело к нему приклеится. А в конце прогнать оптимизатора и он восстановит ограничения.
14.10.2011 07:02
HellBoy
 
День добрый. Столкнулся с похожей проблеммой.

Есть 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
Mtirt
 
Насколько я понимаю, это неполное сообщение об ошибке.
Там, скорее всего второй-третий экран есть.
14.10.2011 07:24
OlegON
 
У тебя не данные в БД развалены, а новым документом пытаешься их задвоить.
Цитата:
CONSTRAINT "SMCSPEC_PK" PRIMARY KEY ("DOCTYPE", "DOCID", "SPECITEM")
cкорее всего не очень корректное что-то с кассы приехало или правили вручную. Посмотри smcashz
14.10.2011 07:32
HellBoy
 
Сообщение приведено при попытке создать кассовый документ на базе необработанных z-отчетов.
Не правили точно, то что выгрузила касса то и загружалось.
Сейас гляну smcashz.
14.10.2011 07:37
konst
 
Было нечто похожее, после того, как я в СМ объединил карточки:
в административном модуле - выполнил синхронизацию и удаление.
но на одной кассе удаленная карточка по какой то причине еще осталась
и как раз с нее пришел Z-отчет - с похожими симптомами...
в итоге исправил артикул в выгрузке - и кассовый документ создался.
14.10.2011 07:41
HellBoy
 
Row#|LocID|DeskNum|ZNum|CloseDate |ZReady|DocCreated

5697 |5 |1 |1707 |12-окт-2011 | 1 |0
5698 |5 |2 |1751 |12-окт-2011 | 1 |1
14.10.2011 07:43
OlegON
 
.... и в smcashcheckitems...
14.10.2011 13:00
baggio
 
посмотри чеки по данной смене...
скорее всего пробит артикул которого нет в СМ...
в чеке не долно быть наименования...
и да должно быть продолжение ошибки...
14.10.2011 13:00
HellBoy
 
Если из Супермага удалить чеки с этой кассы (№1), то в таблицах smcachz и smcashcheckitems нет упоминаний про эту смену (1707):

Цитата:
SQL> select locid, desknum, znum, checknum from supermag.SMcashCheckItems t where t.locid='5' and t.
desknum='1' and t.znum='1707';

строки не выбраны
и

Цитата:
SQL> select locid, desknum, znum, closedate from supermag.SMcashz t where t.closedate=(To_date('2011
-10-12','YYYY-MM-DD'));

LOCID DESKNUM ZNUM CLOSEDAT
---------- ---------- ---------- --------
10 1 1352 12.10.11
5 2 1751 12.10.11
8 4 1426 12.10.11
8 5 210 12.10.11
Среди артикулов нет Исключенных и Удаленных.:connie_mini_cry:
14.10.2011 13:02
Mtirt
 
А зачем нужны сии действия?
Какой в них смысл?

Ну удалил ты чеки, не удалив Z-отчета, чего добиться то этим хотел?
14.10.2011 13:09
HellBoy
 
Супермаг разве при удалении чеков не удаляет z-отчет, который на этих чеках основан?
И как можно проверить наличие в базе отчета? (в таблице smcachz такого z-отчета не наблюдается вроде)
14.10.2011 13:16
Mtirt
 
Цитата:
Супермаг разве при удалении чеков не удаляет z-отчет, который на этих чеках основан?
Удаляет Z-отчет. Если это делать из интерфейса.
И удаляет чеки, если удалять Z-отчет.
Больше вроде как ничего не делает...
Кстати, а в smcashonline* что-то есть по этой кассе и этой смене?
Цитата:
И как можно проверить наличие в базе отчета? (в таблице smcachz такого z-отчета не наблюдается вроде)
А если отобрать по номеру кассы и номеру Z-отчета?
14.10.2011 15:25
HellBoy
 
Цитата:
SQL> select locid, desknum, znum, closedate from supermag.SMcashz t where t.znum='1707';

LOCID DESKNUM ZNUM CLOSEDAT
---------- ---------- ---------- --------
5 2 1707 29.08.11
C этим номером только отчет по другой кассе.
По СМ отбор чеков по номеру отчета и номеру кассы ничего не показал.
Среди принятых чеков нет с пустой строкой в названии в спецификации.
14.10.2011 15:31
Mtirt
 
Хорошо. Нету такого отчета.
Что дальше тебе не нравится?
14.10.2011 15:31
HellBoy
 
Цитата:
SQL> select locid, desknum, znum from supermag.SMOnlineChecks t where t.znum='1707' and t.desknum='1';

строки не выбраны
Оперативных чеков тоже нет.
14.10.2011 15:32
HellBoy
 
Что немогу создать Кассовый документ по этому z-отчету.
14.10.2011 15:36
OlegON
 
В выгрузке нумерация позиций есть? Задвоенных нет?
14.10.2011 15:58
Mtirt
 
Цитата:
HellBoy Что немогу создать Кассовый документ по этому z-отчету.
Прямо сейчас и не создашь - данных у тебя нет.
Надо повторно выгружать и смотреть, что будет дальше...
14.10.2011 15:58
HellBoy
 
В выгрузке задвоений чеков и позиций в чеке не нашел.
14.10.2011 15:59
HellBoy
 
Перед каждой попыткой загружаю выгрузку с кассы (ранее ее сохранил для этого).
Чеки появляются закрытые, документа нет.
14.10.2011 16:01
Mtirt
 
В журнале приложений какие сообщения об ошибках?
14.10.2011 16:03
akonev
 
выгрузить полезно повторно. ну как там что в файлах порушилось при неудачной выгрузке.

выложи ты уже ее куда-нить, ну как увидим чего подозрительное.
14.10.2011 16:05
HellBoy
 
После принятия выгрузки с кассы №1:
Цитата:
Тип события: Ошибка
Источник события: CashServer Library
Категория события: Сервер
Код события: 2052
Дата: 14.10.2011
Время: 16:26:30
Пользователь: Н/Д
Компьютер: 45SERVER
Описание:
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже.
Запись 1. Код=80040e2fh (1) [Microsoft OLE DB Provider for Oracle]:
ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCSPEC_PK)
ORA-06512: на "SUPERMAG.CASH", line 1615
ORA-06512: на "SUPERMAG.CASH", line 1659
ORA-06512: на "SUPERMAG.CASH", line 1693
ORA-06512: на line 2


Запись 2. Код=80004005h (0) [SmLibaryBase trace]:
begin
Supermag.Cash.CreateCashDocs;end;
%3 %4 %5 %6 %7 %8
14.10.2011 16:10
Mtirt
 
А можешь саму выгрузку выложить?


Опции темы


Часовой пояс GMT +3, время: 22:46.

 

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