Domino 9 und frühere Versionen > Entwicklung
Agent-Zugriff auf Document im Web browser
aoibhneach:
--- Zitat von: Driri am 06.08.07 - 12:06:17 ---So ganz verstanden habe ich es nicht, aber wenn Du beim Speichern einen Agent ausführen willst, dann schau Dir mal das Event WebQuerySave an. Genau dort würde man für den Webzugriff so einen Agenten ausführen lassen.
--- Ende Zitat ---
Hallo Ingo!
Ich erzeuge ein Dokument über "@Command([Compose]; "Name")
Da ich den Agenten schon starten möchte, wenn das Dokument geöffnet wird, habe ich das WebQueryOpen-Event benutzt.
Der dann gestartete Agent bekommt aber über session.DocumentContext auch nur die NoteId = 0. Das Dokument ist ja noch nicht gespeichert.
Was mache ich falsch??
Grüße,
Nils.
flaite:
Wie rufst du denn den Agenten auf?
Du kannst ja an den Link die DocumentUniqueID anhängen (@DocumentUniqueID als Computed Text).
Und im Agenten kommst du dann mit der CGI-variable Query_String arbeiten.
--- Code: ---set doc = session.documentContext
strDocUnid = doc.Query_String(0)
' hier noch ein bischen StringHandling.
set docRequest = dbCur.getDocumentByUNID(strDocUnid)
--- Ende Code ---
Nicht getestet. So die Richtung jedenfalls.
aoibhneach:
Hallo Axel!
Zuletzt habe ich Ingo's Idee folgend ein WebQuery..-Event benutzt, aber das WebQueryOpen. Der Agent wird dann auch wunderbar gestartet. Aber in dessen Init()-Methode erhielt ich über Session.DocumentContext auch nur id = 0.
Denn das geöffnete Document, dass ja beim Agentstart noch nicht gespeichert ist, hat noch keine Id. Und mehr, als einen Agent zu starten, erlaubt WebQueryOpen nicht.
Ich schaue mir jetzt erst einmal Deinen Tip an!
Bisher vielen Dank!
Nils.
aoibhneach:
Lösung gefunden:
Neues Dokument wird aus Gliederung mit @Command(Compose];"Maskenname) angelegt.
Der Agent zum Holen von Daten wird über @Command([ToolsRunMacro];"Agent") aus einer Notes-Schaltfläche (im Dokument angezeigt) gestartet. Dadurch kann nun auf dieses Dokument im Agenten über Session.DocumentContext zugegriffen werden.
Nach Agentlauf wird ein Flag gesetzt welches über eine Verbergen-Wenn-Formel die Agent auslösende Schaltfläche aus- und das HTML-Feld einbelndet.
Klappt prima!
Nils.
aoibhneach:
Hallo Axel, hallo Forum
Ich muß dieses Thema nochmals aufrufen, hierzu folgendes Zitat
--- Zitat von: Axel Janssen am 06.08.07 - 14:45:05 ---Wie rufst du denn den Agenten auf?
Du kannst ja an den Link die DocumentUniqueID anhängen (@DocumentUniqueID als Computed Text).
Und im Agenten kommst du dann mit der CGI-variable Query_String arbeiten.
--- Code: ---set doc = session.documentContext
strDocUnid = doc.Query_String(0)
' hier noch ein bischen StringHandling.
set docRequest = dbCur.getDocumentByUNID(strDocUnid)
--- Ende Code ---
Nicht getestet. So die Richtung jedenfalls.
--- Ende Zitat ---
Bedeutet das, dass ich den Agent über eine URL starte und darin den Inhalt des Computed Text-Feldes (@DocumentUniqueID) übergebe?
Ich gebe zu, das habe ich noch nicht verstanden. :-\
Grüße, Nils.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln