Invalid Universal Id

  • Автор темы johny
  • Дата начала
J

johny

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

Yakov

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Т.е. ответ и главный документ находятся в разных базах? Так нельзя делать.
 
J

johny

#5
Создавать во второй базе документ-дубликат того, что в первой базе. А лучше пересмотреть архитектуру.
так вот именно что получица масло масленное :ph34r: может кто делал так чтоб main doc и response были в разных базах?

Т.е. ответ и главный документ находятся в разных базах? Так нельзя делать.
так точно, а чего можно?
 
J

johny

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#8
поздно менять архитектуру баз...... вопрос: можно ли на основе несохраненного док-та создавать респонс? и что будет с респонсом если не сохранить потом мэин док?
В принципе можно. Ничего не будет.
 
Y

Yakov

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

Guest

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

johny

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

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
 
Y

Yakov

#12
А зачем вообще нужна вторая БД? Может, проще добавить нужную функциональность в существующую БД?
 
30.05.2006
1 345
11
#14
может кто делал так чтоб main doc и response были в разных базах?
НиЗЗЗя. Т.к response реализуется полем $REF, содержащим ссылку на родителя (main) в виде UNIDa. UNID-же по определению локален (т.е. ук. на объект внутри ТОЙ-ЖЕ базы)
Ссылки на объекты других баз в LND тоже есть (это те, которые создаются по Copy xxx as link). Они гораздо длиннее, т.к. содержат ReplicaID базы + UNID вьюшки + UNID документа. Хранят их в RichText-полях, индексер с ними не работает, т.е. в одной иерархической вьюшке ты их не отобразишь.

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