1

Ich habe folgende Situation:Compose ein neues Dokument in einer eingebetteten Ansicht und setzen Feldwert in Lotus Notes

  1. Die Maske Person hat eine eingebettete Ansicht mit Dokumenten von Form Notes (Hinweise zur Person).
  2. Die Maske Person hat ein Person_ID-Feld.

Ich brauche eine Aktion in der eingebetteten Ansicht, die die folgenden Aktionen ausführen:

  1. Erstellt ein neues Notes-Dokument.
  2. Liest das Feld Person_ID aus der Maske, in der die Ansicht eingebettet ist.
  3. Speichert den Wert im neu erstellten Dokument im Feld Notes_Refto.
  4. Öffnet das neue Dokument in der Bearbeitungsmaske.

Mit freundlichen Grüßen Robert

Antwort

2

Fügen Sie diese Schaltfläche, um Ihre Form Person, nicht in die eingebettete Ansicht. Sie können die Schaltfläche direkt über oder unter der eingebetteten Ansicht positionieren.

Das neue Dokument erben Felder aus Personendokument wie das Feld Person_ID.

+0

Ok, perfekt! Das nächste Problem, das ich habe, ist, dass das neue geöffnete Dokument nicht gespeichert werden kann. Es wird keine Nachricht angezeigt, nichts passiert und das Dokument wird nicht gespeichert. Ich benutze den Befehl @Command ([FileSave]). –

+0

Dokument wurde möglicherweise gespeichert, aber Sie werden es wahrscheinlich noch nicht in der eingebetteten Ansicht sehen. Können Sie es sehen, wenn Sie nach dem Speichern und Schließen eines neuen Dokuments F9 im Personendokument drücken? –

+0

Ok, du hast Recht. Die Dokumente werden gespeichert, aber ich kann sie nicht anzeigen. Dies ist ein anderes Problem. Vielen Dank! –

1

Wenn Sie die Aktion in der eingebetteten Ansicht möchten, können Sie dies tun:

Erstellen Sie die Aktion in der eingebetteten Ansicht. Verwenden Formel ein Agent

@Command zu laufen ([RunAgent]; "(CreateNotes)")

Der Agent sollte wie folgt aussehen:

Dim personDoc As NotesDocument 
Set personDoc = workspace.Currentdocument.Document 

Dim notesDoc As New NotesDocument(app.CurrentDatabase) 

Call notesDoc.Replaceitemvalue("Form", "Notes") 
Call notesDoc.Replaceitemvalue("Person_ID", personDoc.ID(0)) 

Call workspace.Editdocument(True, notesDoc) 
+0

Es funktioniert auch und ist vielleicht ein bisschen sauberer Weg, es zu tun. Noch besser ist es, den Code direkt in der Ansichtsaktion zu verwenden, was auch ohne einen Agenten funktioniert! Der Vorteil der Lösung von @Knut_Herrmann ist, dass es für jedes Formular dedizierte Aktionen geben kann. Ich benutze die generischen Notes und kann damit anders umgehen. Ich werde Ihr Beispiel in vielen anderen Aktionen verwenden. Vielen Dank! –