Domino 9 und frühere Versionen > ND6: Entwicklung
Doppelklick auf Dokument in Ansicht soll Agenten starten
Axel:
Ich habe das Ganze mal auf die Schnelle getestet und es funktioniert ohne Probleme.
Code im QueryOpendocument der Ansicht:
--- Code: ---Sub Queryopendocument(Source As Notesuiview, Continue As Variant)
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim agent As NotesAgent
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set collection = source.Documents
Set doc = collection.GetFirstDocument
Set agent = db.GetAgent("(Testagent)")
If agent.Run(doc.NoteID) = 0 Then
Messagebox "Agent ran",, "Success"
Else
Messagebox "Agent did not run",, "Failure"
End If
continue = False
End Sub
--- Ende Code ---
Die Messagebox habe ich nur zu Testzwecken eingefügt und kann auch weggelassen werden.
Der Agent sieht so aus:
--- Zitat ---Sub Initialize
Dim s As New NotesSession
Dim agent As NotesAgent
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set agent = s.CurrentAgent
Set doc = db.GetDocumentByID(agent.ParameterDocID)
doc.Testfeld = "Bearbeitet"
Call doc.Save(True, False)
End Sub
--- Ende Zitat ---
Als Ziel in den Agenten-Eigenschaften muss "Keines" eingetragen werden. Sonst wird untenstehende Fehlermeldung angezeigt.
--- Zitat von: iukhdh am 31.07.08 - 17:35:07 ---Ergänzung:
Nachdem ich mal Notes und Designer neu gestartet habe, kommt nun bei der Zeile agent.run folgende Fehlermeldung:
Im Hintergrund ausgeführter oder eingebetteter Agent verwendet einen nicht unterstützten Auslöser und Suchtyp.
--- Ende Zitat ---
--- Zitat ---...
continue = False
...
--- Ende Zitat ---
Diese Zeile verhindert das Öffnen des Dokuments (und das macht es auch!).
Da das ein, auf die Schnelle zusammengestrickter Code ohne irgendeine Fehlerbehandlung.
Axel
Axel:
--- Zitat von: iukhdh am 01.08.08 - 08:39:30 ---und nun? Mit Script kann ich die Frontendagenten nicht laufen lassen, und mit Formelsprache kann ich das Continue=False nicht ausführen.
--- Ende Zitat ---
Dir bleibt nur der Weg über einen Agent mit Backend-Funktionen.
Axel
iukhdh:
Nun gut, dann werd ich das mal die nächsten Tage zurückstellen, denn die ganzen Frontendagenten in Formelsprache muss ich dann ja wohl mal genauer anschauen und umbauen. Und dann mache ich es gleich so wie von dir oben vorgeschlagen ohne die Klickorgie.
Danke.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln