ANWENDUNGSGESTALTUNG


Beispiele für Agenten, die ausgeführt werden, bevor Webbenutzer Dokumente öffnen oder speichern
Um eine Fehlersuche, Feldprüfungen und andere Abläufe durchzuführen, ehe Webbenutzer Dokumente öffnen oder speichern, erstellen Sie einen gemeinsamen Agenten, der manuell ausgeführt wird. Schreiben Sie dann eine Formel, die @Command([RunAgent]) oder @Command([ToolsRunMacro]) verwendet, um den Agenten auszuführen und ihn an die WebQueryOpen- oder WebQuerySave-Maskenereignisse anzuhängen. Das simuliert die LotusScript Maskenereignisse "QueryOpen" und "QuerySave", die im Web nicht unterstützt werden.

WebQueryOpen-Ereignisse

Ein WebQueryOpen-Ereignis führt den Agenten aus, bevor Domino ein Dokument in HTML konvertiert und es an den Browser sendet. IBM® Lotus® Domino(TM) ignoriert in diesem Zusammenhang jegliche vom Agenten generierten Ausgaben.

Beispiele für die Verwendung dieses Agenten sind das Ausführen umfangreicher Berechnungen, die nicht mit @Befehlen durchführbar sind, oder das Sammeln von Statistiken darüber, wer zu welchem Zeitpunkt Dokumente geöffnet hat.

Hinweis WebQueryOpen-Agenten werden ausgeführt, wenn der Benutzer eine Maske oder ein Dokument öffnet. Sie werden jedoch nicht ausgeführt, wenn der Benutzer ein Dokument speichert. Dies bedeutet, dass berechnete Felder, die von einem WebQueryOpen-Agenten gesetzt wurden, nicht gespeichert werden, wenn der Benutzer ein Dokument einreicht. Um sicherzustellen, dass berechnete Felder gespeichert werden, können Sie sie entweder im WebQuerySave-Agenten neu berechnen, oder die Maskeneigenschaft "HTML für alle Felder generieren" setzen.

WebQuerySave-Ereignisse

Ein WebQuerySave-Ereignis führt den Agenten aus, nachdem Feld-Eingabevalidierungsformeln ausgeführt wurden und bevor das Dokument auf der Festplatte gespeichert oder gesendet wird. Der Agent kann das Dokument verändern oder die Dokumentendaten verwenden, um weitere Operationen auszuführen. Das Dokument wird automatisch gespeichert, nachdem der Agent ausgeführt wurde. Legen Sie NICHT fest, dass der Agent das Dokument ausdrücklich speichern soll (z. B., indem Sie "NotesDocument.Save" aufrufen), da ein expliziter Speichervorgang zu fehlerhaften Ergebnissen führen kann.

Ein WebQuerySave-Agent kann Informationen ausgeben, die an den Benutzer zurückgesendet werden. In einem LotusScript Agenten können Sie beispielsweise den Druckbefehl verwenden, um unfertigen HTML-Code zurückzugeben. Wenn der Agent Ausgabedaten generiert, sollte die Maske kein $$Return-Feld enthalten, da Domino nur die Agentenausgabe zurückgibt und das Feld ignoriert.

Beispiele für die Verwendung dieses Agenten sind:


Hinweis Das Feld "SaveOptions", dessen Wert der WebQuerySave-Agent ändert, muss bereits in der Maske vorhanden sein. Wenn der Agent das Feld "SaveOptions" neu erstellt, wird die Maske unabhängig vom Wert dieses Feldes gespeichert.