Domino 9 und frühere Versionen > ND6: Entwicklung

Doclink in UIDoc einfügen

(1/2) > >>

ArcTan:
Hallo,

ich suche nach einer Möglichkeit, über einen Action Button in einer Ansicht ein neues Dokument zu erzeugen, in dessen Body-Feld (ist ein RTF-Feld) ein Doclink auf das Dokument hinterlegt wird, das beim Anklicken des Action-Buttons markiert war. Habe dazu folgenden Scriptcode probiert:

Sub Click(Source As Button)   
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As notesrichtextitem

   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument()
   
   Set uidoc= workspace.ComposeDocument( "", "", "eintrag" )
   
   Set rtitem = New NotesRichTextItem( uidoc.Document, "body" )
   Call rtitem.AppendDocLink( doc, "Link auf Vorgänger" )   
End Sub

Ein neues Dokument wird angelegt, allerdings (es wäre zu schön gewesen...) erscheint im Feld "body" nicht der Doclink auf "doc".

Gehts das überhaupt, was ich vorhabe? Und wenn ja, wäre dankbar für eine Idee, wie.

Gruß
ArcTan

koehlerbv:
Du musst das Dokument erst im Backend anlegen, dort auch das RTI und dort den DocLink generieren - und das Dokument dann speichern. Dann kannst Du es für das FrontEnd öffnen.

Bernhard

ArcTan:
Hi Bernhard,

danke für Deinen Tipp. So funktioniert es.
Nur, sollte sich der User nach dem Klicken des Action-Buttons dazu entscheiden, das Dokument (das ja für ihn wie "neu erstellt" aussieht) doch nicht anlegen zu wollen, so muss es wieder gelöscht werden. Das abzufangen (ohne dass er extra eine Hinweisbox bekommt) dürfte schwierig sein, oder?

Gruß
ArcTan

diali:
Wenn Du Notes 6.x einsetzt und das Dokument neu erstellst, dann brauchst Du es nicht zu speichern.

Wenn das Dokument dann geschlossen wird, ohne das der User etwas geändert hat, dann kommt auch keine Abfrage zum Speichern.

ArcTan:
Das scheint bei mir nicht zu funktionieren.

Ohne dass ich das Backend-Dokument abspeichere wird unter Notes 6.5.1 der Doclink nicht im neuen Dokument angezeigt.

Ich verwende nun folgenden Code:

Sub Click(Source As Button)
   
   Dim session As New NotesSession
   Dim uidoc As NotesUIDocument
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As notesrichtextitem
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument()
   
   Set newdoc = New NotesDocument ( db )
   newdoc.form = "eintrag"
      
   Set rtitem = New NotesRichTextItem( newdoc, "followup" )
   Call rtitem.AppendDocLink( doc, "Link auf Vorgänger" )
   
   Call newdoc.Save( True, True )
   
   Dim workspace As New NotesUIWorkspace   
   Call workspace.EditDocument(True, newdoc)
   
End Sub

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln