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

Тема в разделе "Lotus - Программирование", создана пользователем deeeman, 9 мар 2010.

  1. deeeman

    deeeman Well-Known Member

    Регистрация:
    4 дек 2007
    Сообщения:
    382
    Симпатии:
    0
    Здравствуйте всем!

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

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

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    возможно, конфликтные документы. Посмотрите, нету ли поля $Conflict.
    Сделать вьюху с категоризацией по униду и отобрать. Потом создать агент, просматривающий вьюху и удаляющий лишние доки. правда, непонятно, какие вам надо удалять - возможно, отсортировать по дате модификации и оставить самые новые.
     
  3. Klido

    Klido Гость

    вот это одно из самых неприятных в лотусине...
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    Klido
    да ну, не бывает такого, нельзя в одной базе сделать одинаковые униды ;)
     
  5. Klido

    Klido Гость

    ToxaRat
    это ты deeeman скажи ;)
     
  6. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Вообще, поддерживаю ToxaRat:
    мне кажется deeeman куда-то не туда смотрит, не может быть доков с одним унидом.
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    мало ли, мож кодом его меняли. не уверена, правда, что лотус даст сменить, если такой док уже есть - мне кажется, что ругался, не менял. да и у конфликтов вообще-то разные униды были.

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

    Klido Гость

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

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

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

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
  10. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    <!--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]Оставлять всегда надо самые старые, т.к. они - оригинальные, новые - это конфликтные.
     
  11. azat20

    azat20 Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    Вот что в хэлпе пишут:

    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).
     
  12. Klido

    Klido Гость

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    вообще-то, оставлять надо тот, который надо оставить по логике приложения/бизнес-процесса. этим должен заниматься оператор, работающий с конкретным документом.
     
  14. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Akupaka, по логике приложения - согласен!
    А по логике бизнес-процесса - нет. Если в приложении есть бизнес-процесс в его полном понимании, то оставлять поздний - это порушить ссылки, иерархии... Моё IMHO: если в конкретной приложухе предусмотрен бизнес-процесс, а не просто сборище контактов и т.п., то таких вопросов и быть не должно, такая приложуха вообще не должна позволять создавать конфликты.

    Добавлено:
    Ты уже писал об этом))
    И каковы были критерии оставления документа?

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

Поделиться этой страницей