18.06.2009 10:41
Mr_Vito
 
----- Ошибка приема -----
Пакет: 090616160335_3773455_27.SFPZ
Тип объекта: Контракт с поставщиком
Идентификатор объекта: КЗЦО00076
-- Уровень вложения 0 --
Сообщение: ORA-02091: откат транзакции выполнен
ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCSPEC_DISPLAYPOS)

Исключение: System.Data.OracleClient.OracleException
Источник: System.Data.OracleClient
Метод: Void Check(System.Data.OracleClient.OciErrorHandle, Int32)

сравнил документ в магазине и в офисе,
в офисе на одну позицию меньшеив остальном совпадают.

Соответственно вопрос, почему вываливается в ошибку, и что посоветуете делать? в каждый магазин залезать и удалять его нудно, их больше 30 :(
18.06.2009 10:54
Mtirt
 
Что-то с нумерацией строк в документе, точнее - с нумерацией для отображения на экране.
add constraint SMCSPEC_DISPLAYPOS unique (DOCTYPE, DOCID, DISPLAYITEM)

Как вариант - попробовать опустить/поднять статус документа в офисе и послать еще раз.
18.06.2009 10:56
vdm
 
В спецификации есть строки с одинаковым порядковым номером.
Найти и перенумеровать.
18.06.2009 11:05
Mr_Vito
 
Документ и в офисе и в магазине в красной галке
ошибка появляется, когда этот документ посылаешь в подчиненную базу. Перевод в черновик не помогает, черновик тоже не уходит :(
позиций с одинаковым номером нет :(
они и отличаются тока одной позицией, в документе который в офисе на одну позицию меньше
18.06.2009 11:46
akonev
 
Цитата:
Mr_Vito ...позиций с одинаковым номером нет :( ...
предположение:
после удаления позиции в супермаге в номерах позиций должен был получиться пробой. например, удалили позицию 4 в документе из 5 строк:
1
2
3
5
кто-то добрый решил, что это некрасиво и 5 исправил на 4.

в офисе в smspec получилась запись, specitem=5 displayitem=4
в магазине, по прежнему, присутствует specitem=4 displayitem=4

при приеме документа на один displayitem=4 претендуют старый specitem=4 и исправленный specitem=5, что запрещено констрэйнтом.

то есть надо сверить нумерацию позиций в офисе и магазине. если нумерация не сходится - сделать в офисе, как в магазине.

еще раз уточню, что это только версия. сам не проверял.
18.06.2009 12:37
Mr_Vito
 
проще сказать что совпадает :( чем что не совпадает
получается что придется экспортировать этот контракт в новый, а этот привести в состояние = документу в магазине и заблокировать
так? может есть вариант попроще?
18.06.2009 13:11
Mtirt
 
Попробуй разослать из магазина в офис.
Тоже будет эта ошибка?
19.06.2009 04:14
isi
 
Эта проверка кстати очень жить мешает, не понятно почему С+ до сих пор не решил эту проблему...
19.06.2009 07:08
Mr_Vito
 
в итоге сделал как написал в 6 посте :(
Часовой пояс GMT +3, время: 05:22.

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