Liebe Community,
parallel zu so manch anderen Problemen versuche ich, ein Attachment im Frontend einem RT-Feld hinzuzufügen. Problem hierbei ist allerdings, dass das Dokument letztendlich nicht gespeichert sein soll.
Das Szenario sieht wie folgt aus:
Über ein .Net-Programm wird eine NotesSession instanziert:
Session = Activator.CreateInstance(Type.GetTypeFromProgID("Notes.NotesSession"))
Dann wird über eine Schaltfläche im Programm ein neues Dokument erstellt:
Database = Session.GetDatabase(ServerName, DatabaseName)
Dim Document As Object ' NotesDocument
Document = Database.CreateDocument
Document.ReplaceItemValue("Form", "MainForm")
Document.Save(True, False)
Nachdem das Dokument erstellt wurde, wird ein Agent ausgeführt, der Berechnungen im Dokument durchführt und dieses letztendlich auch im Bearbeitungsmodus öffnet:
Dim Agent As Object ' NotesAgent
Agent = Database.GetAgent("(ProcessDocument)")
Agent.Run(Document.NoteId)
-- Agent --
Sub Initialize
Dim Session As NotesSession
Dim CurrentDatabase As NotesDatabase
Dim Document As NotesDocument
Dim UIDocument As NotesUIDocument
Dim UIWorkspace As NotesUIWorkspace
Dim Agent As NotesAgent
Set Session = New NotesSession
Set UIWorkspace = New NotesUIWorkspace
Set CurrentDatabase = Session.CurrentDatabase
Set Agent = Session.CurrentAgent
Set Document = CurrentDatabase.GetDocumentById(Agent.ParameterDocID)
If Not Document Is Nothing Then
Set UIDocument = UIWorkspace.EditDocument(True, Document)
' UIDocument.FieldSetText "", ""
' ...
Document.Removepermanently True
End If
End Sub
Wie man sieht, wird das Backend-Dokument zum Schluss gelöscht. Hat den Sinn, dass, wenn der Frontend-User das UI-Doc ohne zu speichern schließt, keine Überbleibsel davon mehr zu sehen sind.
Soweit sogut. Nun müssen jedoch noch Anhänge eingefügt werden.
Wenn ich die Anhänge im Backend-Dokument speichere, sind sie natürlich nach dem Löschen des Backend-Dokuments nicht mehr verfügbar.
Nur die Attachments programmatisch direkt ins Frontend zu laden, schaffe ich nicht.
Ich habs in meiner Naivität mit Evaluate und @Command probiert, danach mit einem eigenen Formel-Agent:
REM { @Command([EditDocument]; 1); };
@Command([EditGotoField]; "Anhaenge_RT");
@Command([EditInsertFileAttachment]; "C:\Test.txt")
Es will und will nicht