поменять Replicaid в ссылке на документ

  • Автор темы newlord
  • Дата начала
N

newlord

Гость
#1
Есть база DB1, в ней есть линки на документы в базе DB2.
У базы DB2 поменлась ReplicaID.
Можно как нибудь поменять ID и в линках первой базы?
Вообще линки редактируются?
 
N

newlord

Гость
#3
Да, я уже смотрю его ;)
тока еще не очень разобрался
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#4
задавай вопросы, разберемся вместе ;)

element = notesRichTextNavigator.GetFirstElement( type% )
notesRichTextNavigator.FindFirstElement( type% )

type%
Constant. The type of element:
RTELEM_TYPE_DOCLINK (5)
...

element = notesRichTextNavigator.GetElement
 
N

newlord

Гость
#5
В общем я в хелпе все нашел;)
вот что получилось

Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtlink As NotesRichTextDocLink

Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
Set rti = doc.GetFirstItem("ZZ")
Set rtnav = rti.CreateNavigator


If Not rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Messagebox "No doclinks in Body item",, "No doclinks"
Exit Sub
End If
Set rtlink = rtnav.GetElement

If rtlink.DBReplicaID = "C32572F0002DEAAF" Then
rtlink.DBReplicaID = "C32575AF00351EAB"
End If

Call doc.Save(True,True)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#6
В общем я в хелпе все нашел
молодец!

единственное, что...
а одна ли только ссылка в том поле может быть? в твоем коде только первая проверяется.
Messagebox "No doclinks in Body item",, "No doclinks" - не самый красивый месадж, но, если только для себя...
rtlink.DBReplicaID = "C32572F0002DEAAF" - подобные значения иногда лучше не константами делать, вдруг пригодится в аналогичном случае, но с другими данными...
 
N

newlord

Гость
#7
В поле только одна ссылка
мессадж остался из хелпа;)
про константы понятно, просто очень срочно надо было делать, некогда облагораживать:(

единственное не пойму...
я сделал на агент по выбранным документам, а он не отрабатывает по всем, только один первый
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#8
я сделал на агент по выбранным документам, а он не отрабатывает по всем, только один первый
ну, если вышеуказанный код - весь код, то не удивительно ;)

Код:
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
while not(doc is nothing)
...
обработка документа
...
set doc = dc.getNextDocument(doc)
wend

Код:
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtlink As NotesRichTextDocLink

Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument


while not(doc is nothing)
Set rti = doc.GetFirstItem("ZZ")
Set rtnav = rti.CreateNavigator
If rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Set rtlink = rtnav.GetElement
If rtlink.DBReplicaID = "C32572F0002DEAAF" Then
rtlink.DBReplicaID = "C32575AF00351EAB"
Call doc.Save(True, True)
End If
End If
Set rti = nothing
Set rtnav = nothing
set doc = dc.getNextDocument(doc)
wend

msgbox "Усьо"
где-то так
 
N

newlord

Гость
#9
Огромное спасибо. Самое то;)

сорри за тупость:(