[ОТВЕТИТЬ]
29.05.2009 18:28
Mr_Vito
 
При создании акта переоценки пишет:

ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCACTS_PK)
ORA-06512: на "SUPERMAG.DOCAC", line 332
ORA-06512: на "SUPERMAG.SMDOCCREATEAC", line 9
ORA-06512: на line 1

{ call SuperMag.SMDocCreateAC(?, ?, ?, ?, ?, ?) }
Params:
{0} ID[50](0,0): vt=8 value=АПЦ29104515
{1} CreatedAt[0](0,0): vt=7 value=29.05.2009
{2} Location[0](0,0): vt=3 value=24
{3} PriceType[0](0,0): vt=3 value=22
{4} Commentary[255](0,0): vt=8 value=
{5} ExecIf[0](0,0): vt=3 value=0

Начинаю смотреть, обнаруживаю в логе:

29.05.2009 19:41:19 АПЦ29104515 Удаление 29.05.2009 0 77 Шарафутдинова Лилия CO\MENPRICE ЛИЛИЯ User
29.05.2009 19:41:11 АПЦ29104515 Создание 29.05.2009 0 77 Шарафутдинова Лилия CO\MENPRICE ЛИЛИЯ User


Вопрос это баг или фича, ни кто не сталкивался, и как с этим бороться?
СМ 1.026.3сп9
Как заставить генератор номера документа перескочить этот номер, попробовал вручную поставить 16 на конце, он все равно след новым актом опять просит 15 :(
29.05.2009 18:54
OlegON
 
Инвалидов в базе нет?
29.05.2009 20:29
MirProd
 
Цитата:
Mr_Vito Как заставить генератор номера документа перескочить этот номер, попробовал вручную поставить 16 на конце, он все равно след новым актом опять просит 15 :(
Попробуй:
Код:
select SUPERMAG.DOCUMENTS.GENERATEDOCNO('AC', ид_мх, NULL) docid from dual
Посмотри, что выдает. Если все нормально, то номера пойдут по порядку, если выдает 'АПЦ29104515', значит что-то не так.
29.05.2009 23:22
MirProd
 
Дело, думаю, не в генераторе, к тому же он не запоминает номера как счетчик, поэтому, проскочив какой-нибудь номер, даже сгенерировав его, при создании документа в новой сессии он вновь будет предлагаться..
Посмотри таблицу smacts, судя по ошибке в ней должна быть запись с номером 'АПЦ29104515', хотя быть ее там не должно, если ее нет в smdocuments..
03.06.2009 09:59
Mr_Vito
 
Инвалидов в базе нет :)
03.06.2009 10:00
Mr_Vito
 
я к сожалению, выпадал из процесса на несколько дней, поэтому проблемму решил сменой префикса. Как тока я опять столкнусь с этим я напишу.
08.06.2009 16:54
Mr_Vito
 
сегодня опять таже фигня
{ call SuperMag.SMDocCreateAC(?, ?, ?, ?, ?, ?) }
Params:
{0} ID[50](0,0): vt=8 value=АПЦ0600121
{1} CreatedAt[0](0,0): vt=7 value=08.06.2009
{2} Location[0](0,0): vt=3 value=38
{3} PriceType[0](0,0): vt=3 value=5
{4} Commentary[255](0,0): vt=8 value=
{5} ExecIf[0](0,0): vt=3 value=0

в smdocuments этого акта нету, а в smacts есть
при этом, удаляешь в smacts запись, тут же документ нормально создается.
Затем его опять удаляю и снова создаю, снова ошибка. Может кто подскажет где собака порылась?
08.06.2009 17:11
Mtirt
 
Т.е. при удалении документа не удаляется запись в таблице SmActs?
Смотри триггеры на SmDocuments.
Возможно, какой-то из них отключен.
Сравни состав триггеров с эталонной базой.
08.06.2009 17:12
akonev
 
SMACTS_HDR по SMACTS живой?
он каскадный - по удалению акта из документов записи из smacts должны сами автоматом умирать.
09.06.2009 10:24
Mr_Vito
 
тригеры по smdocuments в количестве 8 штук все включены
SMACTS_HDR это кто? что то я его найти не могу :(
09.06.2009 10:28
Mtirt
 
Это индекс к SmActs.
Точнее внешний ключ.
Код:
alter table SMACTS
  add constraint SMCACTS_HDR foreign key (DOCTYPE, ID)
  references SMDOCUMENTS (DOCTYPE, ID) on delete cascade;
09.06.2009 12:17
OlegON
 
Думаю, надо копать куда-то в сторону
Цитата:
select * from all_sequences;
какая-то из них подохла. Но это после проверки каскадного удаления...
10.06.2009 07:47
Mr_Vito
 
Спасибо Mtirt и Andrew_Konev, SMCACTS_HDR действительно не было, помимо создания, пришлось удалять кучу документов которые были в smacts и не было в smdocuments, аш с 2005 года (34 тысячи документов). Как то непонятно, когда же он исчез :)))
вроде все заработало, буду наблюдать :)))
Всем спасибо :)))
10.06.2009 09:16
OlegON
 
Я давно предлагал выкладывать на фтп структуры баз для сравнения...
02.07.2010 14:59
whitewizard
 
Цитата:
Mtirt Это индекс к SmActs.
Точнее внешний ключ.
Код:
alter table SMACTS
  add constraint SMCACTS_HDR foreign key (DOCTYPE, ID)
  references SMDOCUMENTS (DOCTYPE, ID) on delete cascade;
выдает:
ORA-02298: невозможно подтвердить (SUPERMAG.SMCACTS_HDR) - не найдены родительские ключи

каких ключей не хватает?
02.07.2010 15:22
Mtirt
 
Я думаю, SMCDOCUMENTS_PK

Код:
  add constraint SMCDOCUMENTS_PK primary key (DOCTYPE, ID)
  using index 
  tablespace INDEX
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 8M
    minextents 1
    maxextents unlimited
  );
02.07.2010 16:52
whitewizard
 
Так есть и примари индекс и констрайнт
03.07.2010 02:04
whitewizard
 
Разобрался. Есть строчки в таблицах, которых нет в smdocuments.
Ошибка при рассчете товародвижения
Опции темы


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

 

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