Domino 9 und frühere Versionen > ND8: Entwicklung

ComposeWithReference in Lotus Scriptsprache?

(1/1)

buzi:
Hallo zusammen,

ich möchte in einem Script zum geöffneten Dokument ein Antwortdokument erstellen. Gibt es eine Funktion in Lotus Script, die der Formel ComposeWithReference entspricht? Oder muss man "zu Fuß" das Body-Feld des Antwortdokuments mit dem Link auf das übergeordnete Dokument befüllen?

Danke und Grüße

RunRevilo:
Hallo,

es gibt die Methode MakeResponse in der NotesDocument Klasse.

Hier der Auszug aus der Notes Hilfe:

MakeResponse method
Makes one document a response to another document. The two documents must be in the same database.

Defined in
NotesDocument

Syntax
Call notesDocument.MakeResponse( document )

Parameters
document

A NotesDocument. The document to which notesDocument becomes a response. If you specify Nothing, this method generates an error.

Usage
You must call Save after this method if you want to save the change you have made.


Hoffe das hilft dir weiter.

Oliver

Thomas Schulte:
MakeResponse ist für diesen Fall nicht Zielführend. Es macht ein Dokument nur zum Child eines anderen Dokumentes.  Du wirst das zu Fuß machen müssen wenn du den Link im Body haben willst. Es geht allerdings auch anders.
Dazu brauchst du ein berechnetes TextFeld in deinem Basis Dokument. @documentUniqueId  und einen Platz auf deinem neuen Dokument wo du das anzeigen möchtest.

buzi:
Danke für die Antworten! Mit Hilfe des Eintrags im Best Practice Teil dieses Forums habe ich die gewünschte Lösung hin bekommen.

At Notes Best Practices / Das Arbeiten mit Haupt- und Antwort-Dokumenten

Maßgeblich war die Ersetzung des $Ref-Feldes

--- Code: --- Call antwortDoc.RemoveItem("$Ref")
Call antwortDoc.MakeResponse(currentDocument)

--- Ende Code ---

Denn den Teil für das Body-Feld hatte ich schon:

--- Code: --- Call antwortDoc.RemoveItem("Body")
Set rtitem = antwortDoc.CreateRichTextItem("Body")
Call rtitem.AppendDocLink(currentDocument, "")

--- Ende Code ---

Noch eine Frage: Braucht man das Body-Feld überhaupt?

Und noch was: Zeigt man die Antwort-Dokumente in einer eingebetteten Ansicht im Hauptdokument an, so werden diese beim Erstellen mittels Formelsprache (ComposeWithReference) sofort in der Ansicht angezeigt.  Werden die Antwortdokumente per Lotus Script erzeugt, wie bei mir jetzt, so werden sie erst nach erneutem Öffnen des Hauptdokuments in der eingebetteten Ansicht angezeigt. Warum?

jBubbleBoy:
Im RT-Feld befindet sich der Doc-Link und wird über die Maske angezeigt.
Das Feld brauchst du.

Dein Ansichtsproblem löst du durch ein Refresh, mir fehlt jetzt der Kontext wie ihr Dokumente erstellt/ändert. In der Regel läuft es auf ein NotesView merken im Initialize-Ereignis und ein NotesView.Refresh im Close-Ereignis hinaus.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln