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

Нарушено ограничение уникальности (SUPERMAG.SMCSPEC_PK) : Супермаг Плюс (Супермаг 2000)

13.12.2024 8:47


03.04.2014 10:00
пересылаю с магазина в ЦО. Подскажите в чем проблема? не уходит документ. Артикул 008088 есть в обоих базах, одинаковый

Код:
----- Ошибка приема -----
Пакет: 140403100529_563413_1. SVP
Тип объекта: Выход из производства
Идентификатор объекта: ВВПЮ00006668
   -- Уровень вложения 0 --
Сообщение: Невозможно записать в БД объект «PO, ВВПЮ00006668», таблица «SMSPEC»
Исключение: Sm. Core. BaseException
Источник: Sm. Post. DbLoader
Метод: Void WriteNewObject(Sm.Server.Database.OracleTransConn)
   -- Уровень вложения 1 --
Сообщение: ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCSPEC_PK)

Исключение: System.DataOracleClientOracleException
Источник: SystemData
Метод: Int32 UpdatedRowStatusErrors(SystemDataCommonRowUpdatedEventArgs, BatchCommandInfo[], Int32)
Данные:
   параметры: pDOCID=«ВВПЮ00006668»; pDOCTYPE=«PO»; pSPECITEM=«1»; pARTICLE=«008088»; pCAUSEID=«»; pCAUSESPECITEM=«»; pCAUSETYPE=«»; pDISPLAYITEM=«1»; pITEMPRICE=«281,61»; pITEMPRICECUR=«281,61»; pITEMPRICENOTAX=«281,61»; pQUANTITY=«1,0060»; pTOTALPRICE=«283,30»; pTOTALPRICECUR=«283,30»; pTOTALPRICENOTAX=«283,30»
   соединено с: База даных=coprem; Пользователь=Supermag
   текст команды: Insert into Supermag.SMSPEC(DOCID,DOCTYPE,SPECITEM,ARTICLE,CAUSEID,CAUSESPECITEM,CAUSETYPE,DISPLAYITEM,ITEMPRICE,ITEMPRICECUR,ITEMPRICENOTAX,QUANTITY,TOTALPRICE,TOTALPRICECUR,TOTALPRICENOTAX) values(:pDOCID,:pDOCTYPE,:pSPECITEM,:pARTICLE,:pCAUSEID,:pCAUSESPECITEM,:pCAUSETYPE,:pDISPLAYITEM,:pITEMPRICE,:pITEMPRICECUR,:pITEMPRICENOTAX,:pQUANTITY,:pTOTALPRICE,:pTOTALPRICECUR,:pTOTALPRICENOTAX)
   тип команды: Text
Цитата:
В офисе запрос
Код:
select * from smspec where docid=«ВВПЮ00006668» and doctype=«PO» and specitem=1
что дает?
дает следующее:
Код:
PO	ВВПЮ00006668	1	1	008088	1,006	281,61	283,3	281,61	283,3	281,61	283,3
03.04.2014 10:10
Точно нет этого выхода из пр-ва в ЦО?
03.04.2014 10:14
100%, могу скрин сделать. И таких документов порядка 10 шт. с разными типами и разными артикулами.
03.04.2014 10:28
Версия СМ какая? Такого документа в ЦО точно нет?
03.04.2014 10:31
Версия 1.29. Документа в ЦО точно нету.
03.04.2014 10:33
а по smdocuments запрос в цо что выдаст?
03.04.2014 10:35
Код:
PO	ВВПЮ00006668	1	1	008088	1,006	281,61	283,3	281,61	283,3	281,61	283,3			
PO	ВВПЮ00006668	2	2	035307	1,044	98,87	103,22	98,87	103,22	98,87	103,22			
PO	ВВПЮ00006668	3	3	059287	5,204	149,1	775,92	149,1	775,92	149,1	775,92			
PO	ВВПЮ00006668	4	4	058386	2,31	19,59	45,25	19,59	45,25	19,59	45,25			
PO	ВВПЮ00006668	5	5	064155	25,035	83,25	2084,16	83,25	2084,16	83,25	2084,16			
PO	ВВПЮ00006668	6	6	065366	6,71	118,96	798,22	118,96	798,22	118,96	798,22			
PO	ВВПЮ00006668	7	7	058389	3,336	15,32	51,11	15,32	51,11	15,32	51,11			
PO	ВВПЮ00006668	8	8	011582	4,012	261,28	1048,26	261,28	1048,26	261,28	1048,26			
PO	ВВПЮ00006668	9	9	058098	2,014	71,8	144,61	71,8	144,61	71,8	144,61			
PO	ВВПЮ00006668	10	10	014865	2,99	114,19	341,43	114,19	341,43	114,19	341,43			
PO	ВВПЮ00006668	11	11	058388	1,772	18,18	32,21	18,18	32,21	18,18	32,21			
PO	ВВПЮ00006668	12	12	068536	5,77	35,57	205,24	35,57	205,24	35,57	205,24			
PO	ВВПЮ00006668	13	13	068557	3,022	45,76	138,29	45,76	138,29	45,76	138,29			
PO	ВВПЮ00006668	14	14	065770	1,398	84,89	118,68	84,89	118,68	84,89	118,68			
PO	ВВПЮ00006668	15	15	012129	2,964	117,6	348,57	117,6	348,57	117,6	348,57			
PO	ВВПЮ00006668	16	16	080516	1,12	206,88	231,71	206,88	231,71	206,88	231,71			
PO	ВВПЮ00006668	17	17	029591	9,2	112,54	1035,37	112,54	1035,37	112,54	1035,37			
PO	ВВПЮ00006668	18	18	085900	1,13	264,37	298,74	264,37	298,74	264,37	298,74			
PO	ВВПЮ00006668	19	19	032779	1,06	169,97	180,17	169,97	180,17	169,97	180,17			
PO	ВВПЮ00006668	20	20	011816	2,02	73,8	149,08	73,8	149,08	73,8	149,08
Складывается ощущение что записи в БД об этом документе есть, а самого документа нет. Как быть?
03.04.2014 10:38
и все-таки:
Код:
select * from smdocuments where docid=«ВВПЮ00006668»
03.04.2014 10:39
Смотри, суть ограничения - уникальность комбинации трех колонок
Код:
CONSTRAINT "SMCSPEC_PK" PRIMARY KEY ("DOCTYPE", "DOCID", "SPECITEM")
Т.е. структуру БД ты, как миниум, развалил. При нормальной структуре не могут быть записи без документа. Там ключи внешние. Про использования оптимизатора я повторяться не буду, но суть текущей проблемы - узнать, кто и что делал с твоей БД, потом оторвать ему руки и прочие возможности это повторить, после чего мучительно начинаешь вычищать остатки данных в БД и восстанавливать ее структуру.
03.04.2014 10:41
Цитата:
Dim а по smdocuments запрос в цо что выдаст?
Код:
select * from smdocuments where id='ВВПЮ00006668' and doctype='PO'
по запросу ничего не найдено
Часовой пояс GMT +3, время: 08:47.

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