Invalid Universal Id

Тема в разделе "Lotus - Программирование", создана пользователем johny, 11 апр 2008.

  1. johny

    johny Гость

    значит вопрос в след, на основе документа в первой базе создается другой документ во второй базе, но по архитектуре второй базы, созданный док это респоно ту респонс....и при сохранении он выдает invalid universal id....чего делать?
     
  2. Archi2001

    Archi2001 Гость

    недавно обсуждалось тут: http://codeby.net/forum/threads/22317.html


    СОРРИ - перепутал .... невнимательно прочёл :ph34r: ... но вдург всё-равно пригодится :) ...
     
  3. Yakov

    Yakov Гость

    Создавать во второй базе документ-дубликат того, что в первой базе. А лучше пересмотреть архитектуру.
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Т.е. ответ и главный документ находятся в разных базах? Так нельзя делать.
     
  5. johny

    johny Гость

    так вот именно что получица масло масленное :ph34r: может кто делал так чтоб main doc и response были в разных базах?

    так точно, а чего можно?
     
  6. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    делали просто условную связь через UNID но не как не жесткую через респонсы ( it's imosible )
     
  7. johny

    johny Гость

    поздно менять архитектуру баз...... вопрос: можно ли на основе несохраненного док-та создавать респонс? и что будет с респонсом если не сохранить потом мэин док?
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В принципе можно. Ничего не будет.
     
  9. Yakov

    Yakov Гость

    Почему поздно? Сроки сдачи поджимают? При эксплуатации сложнее будет изменения вносить.
    Решение-заплатка. Создаете во второй БД документ-дубликат. Форма хитрая - при ее открытии документ-дубликат закрывается, а открывается "настоящий" сварщик документ из первой БД. В дубликате минимальный набор полей для представлений. Синхронизация данных между оригиналом и дубликатом - ночным агентом.
     
  10. Гость

    А зачем вообще именно респонс нужен. Во второй базе создать поле с юнидом(например, Parent) и по нему какой-нибудь дблукап делать в первой базе, так будет находится родитель.
     
  11. johny

    johny Гость

    потому что вторая база уже работает давно и хорошо, а первая внедрилась недавно, а модуль который сейчас мне моск выносит - еще в разработке.....
    народ, подскажите чего не так делаю...вот код....

    Dim ws As New NotesUIWorkspace
    Dim ws1 As New NotesSession
    Dim db1 As NotesDatabase
    Dim parent_Doc As NotesDocument
    Dim uidoc1 As NotesUIDocument

    Set db1 = ws1.GetDatabase("","")
    Set parent_doc = db1.CreateDocument

    Set uidoc1 = ws.ComposeDocument("","","PO")
    Set doc1 = uidoc1.Document
    Call doc1.MakeResponse(parent_doc)

    Call uidoc1.refresh
     
  12. Yakov

    Yakov Гость

    А зачем вообще нужна вторая БД? Может, проще добавить нужную функциональность в существующую БД?
     
  13. johny

    johny Гость

    хороший совет, но не подходит :)

    всем спасибо, заработало, пришлось ДВА раза стукнуть в бубен :ph34r:
     
  14. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    НиЗЗЗя. Т.к response реализуется полем $REF, содержащим ссылку на родителя (main) в виде UNIDa. UNID-же по определению локален (т.е. ук. на объект внутри ТОЙ-ЖЕ базы)
    Ссылки на объекты других баз в LND тоже есть (это те, которые создаются по Copy xxx as link). Они гораздо длиннее, т.к. содержат ReplicaID базы + UNID вьюшки + UNID документа. Хранят их в RichText-полях, индексер с ними не работает, т.е. в одной иерархической вьюшке ты их не отобразишь.

    Впрочем во вьюшке вообще не отобразишь док-ты из разных баз
     
Загрузка...

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