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 |
| 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 |
| 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) |
| |
| |
| |
| |
| 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
