в базе есть документы с одинаковыми Unid

deeeman

Well-Known Member
04.12.2007
383
0
#1
Здравствуйте всем!

в базе каким то образом получились дубли документов причем с одинаковыми UNID, только дата модификации разная, все остальное одинакого.

есть какие нибудь средства почистить базу от дублей? fix и compact не помогли.
 

hosm

* so what *
18.05.2009
2 442
9
42
Kiev, Ukraine
#2
возможно, конфликтные документы. Посмотрите, нету ли поля $Conflict.
Сделать вьюху с категоризацией по униду и отобрать. Потом создать агент, просматривающий вьюху и удаляющий лишние доки. правда, непонятно, какие вам надо удалять - возможно, отсортировать по дате модификации и оставить самые новые.
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#6
Вообще, поддерживаю ToxaRat:
мне кажется deeeman куда-то не туда смотрит, не может быть доков с одним унидом.
 

hosm

* so what *
18.05.2009
2 442
9
42
Kiev, Ukraine
#7
мало ли, мож кодом его меняли. не уверена, правда, что лотус даст сменить, если такой док уже есть - мне кажется, что ругался, не менял. да и у конфликтов вообще-то разные униды были.

Добавлено: а может, просто смотрим по вьюхе, в которой показывается один док в нескольких категориях?
 
K

Klido

Гость
#8
прикладной вопрос про одинаковость унидов ;) оставим до момента, когда у меня наделаются - покажу ;)

а вот плиз поясните в хмл что в строке
+ <noteinfo noteid="54d3a" unid="AAEABB3FFA5800C1C22576E10028E93F" sequence="19">

последний тэг про последовательность значит?
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
Киев (Русь)
#10
<!--QuoteBegin-"OKEN+ 09:03:2010 08:14"-->
<span class="vbquote">("OKEN @ 09:03:2010 08:14")</span><!--QuoteEBegin-->возможно, конфликтные документы. Посмотрите, нету ли поля $Conflict.[/quote]У конфликтных разные UNID'ы.
А это что-то из ряда вон...

<!--QuoteBegin-"Klido+ 09:03:2010 08:45"-->
<span class="vbquote">("Klido @ 09:03:2010 08:45")</span><!--QuoteEBegin--><!--QuoteBegin-"OKEN+ 09:03:2010 09:14"-->
<span class="vbquote">("OKEN @ 09:03:2010 09:14")</span><!--QuoteEBegin-->правда, непонятно, какие вам надо удалять - возможно, отсортировать по дате модификации и оставить самые новые[/quote]вот это одно из самых неприятных в лотусине...[/quote]Оставлять всегда надо самые старые, т.к. они - оригинальные, новые - это конфликтные.
 

azat20

Well-Known Member
22.07.2008
244
0
31
Казань
#11
Вот что в хэлпе пишут:

To set: notesDocument.UniversalID = unid$

Usage
If two documents in replica databases share the same universal ID, the documents are replicas.

If you modify the UNID of an existing document, it becomes a new document.

Saving a document with the same UNID as an existing document raises lsERR_NOTES_ERROR (4000).
 
K

Klido

Гость
#12
VladSh
бывают тяжелые случаи вроде конфликта самого на себя или конфликта на конфликт, приходилось вручную исследовать какой оставить...
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#13
Оставлять всегда надо самые старые, т.к. они - оригинальные, новые - это конфликтные.
вообще-то, оставлять надо тот, который надо оставить по логике приложения/бизнес-процесса. этим должен заниматься оператор, работающий с конкретным документом.
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
Киев (Русь)
#14
Akupaka, по логике приложения - согласен!
А по логике бизнес-процесса - нет. Если в приложении есть бизнес-процесс в его полном понимании, то оставлять поздний - это порушить ссылки, иерархии... Моё IMHO: если в конкретной приложухе предусмотрен бизнес-процесс, а не просто сборище контактов и т.п., то таких вопросов и быть не должно, такая приложуха вообще не должна позволять создавать конфликты.

Добавлено:
бывают тяжелые случаи вроде конфликта самого на себя или конфликта на конфликт, приходилось вручную исследовать какой оставить...
Ты уже писал об этом))
И каковы были критерии оставления документа?

Azat, всё верно, ошибка при попытке ручной установки в этом случае возникает.