Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: theBastian am 20.11.06 - 15:12:28

Titel: NoteID eines gespeicherten Dokuments ist 0
Beitrag von: theBastian am 20.11.06 - 15:12:28
Hallo,

wenn ein Dokument Response ist, setze ich im Postave ein Flag im Parent Dokument.

Code
Set session = New notessession
	Set workspace = New NotesUIWorkspace
	Set db = session.CurrentDatabase	
	Set doc = source.Document
	
	'set the flag in in parent doc, if there is one
	If doc.IsResponse Then
	Dim agent As NotesAgent
	Set db = session.CurrentDatabase
	Set agent = db.GetAgent("(SetParentFlag")
	Call agent.RunOnServer (doc.NoteID)
	Call  doc.replaceitemvalue ( "SetParentFlag", 1 )
	Call doc.Save (True, False)
	End If

Leider ist die NoteID bei neuen Dokumenten 0. Obwohl das Dokument ja schon gespeichert ist (PostSave).
Ich habe auch schon source.Reload versucht. Ohne Erfolg.

Kennt jemand das Problem?

Grüße
Sebastian
Titel: Re: NoteID eines gespeicherten Dokuments ist 0
Beitrag von: koehlerbv am 21.11.06 - 00:10:02
Die NoteID steht Dir wirklich erst nach Speicherung im Backend zur Verfügung. Eigentlich findet sich ja immer die Ursache - hier ist mir das noch nicht gelungen -, aber in diesem Fall hilft wirklich nur ein Speichern im Backend.
Vor Deinen Aktionen im Backend brauchst Du also noch ein Call doc.Save (True, False, True). Dann hast Du auch sofort die NoteID.

Ich bin mir sicher, dass hierfür jemand die Begründung liefern kann. Vielleicht bin ich's dann selber, aber heute bin ich zu müde ...

Bernhard
Titel: Re: NoteID eines gespeicherten Dokuments ist 0
Beitrag von: theBastian am 21.11.06 - 07:23:07
Guten Morgen Bernhard,

danke, genau das war das Problem. Muss man erst mal drauf kommen.

Vielen Dank sagt
Sebastian