Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: masterste2000 am 26.02.08 - 13:32:38
-
Ich hätte jetzt noch eine Frage evtl. kann mir da jemand HELFEN?????
Gibt es eine Möglichkeit ohne UI an ein Feld von einer Maske zu kommen aus der ein Agent gestartet wurde????
-
Ich weiß nicht, wie es den anderen Forenmitgliedern geht. Ich verstehe ehrlich gesagt nicht, was Du genau möchtest. Könntest Du das noch einmal etwas genauer formulieren ?
-
Und ohne "fett"?
-
Gerne!!!
Ich starte einen Agenten aus einer Maske über einen Aktionsbutton.
In diesem Agent wird per Backend auf eine Ansicht zu gegriffen! (Das läuft auch im Browser)
Jetzt möchte ich gern im Agenten per Skript, eine Feldvariable von der Maske mit einem Wert der Ansicht vergleichen!
Sobald ich mit UI ( UIDOC.FieldGetText ) anfange wird der Agent aus dem Browser nicht mehr ausgeführt.
Es reicht schon die Deklaration -> Dim w As New NotesUIWorkspace
Wenn ich jetzt das ganze aus Lotus Notes heraus starte läuft es!!!! >:(
Deshalb meine Frage: Gibt es eine Möglichkeit, wenn ein Agent aus einer Maske gestartet wird, ohne UI dem Agenten eine Feldvariable von der Maske bereit zu stellen???
Ich hoffe das konnte es verdeutlichen?!
Vielen Dank !!!!
Dim sess As New notessession
Dim doc As notesdocument
Dim db As notesdatabase
Dim view As notesview
Dim ItemText As Variant
Dim Plaetze As Integer
Dim Datum As String
Dim w As New NotesUIWorkspace Diese reicht schon und der Agent läuft nicht mehr vom Browser aus
'Dim uidoc As NotesUIDocument
'Set uidoc = w.CurrentDocument
Set db = sess.CurrentDatabase
Set view = db.getview("ABC-Termine")
Set doc = view.getfirstDocument
'Datum = uidoc.FieldGetText("ABC_Buch_Datum")
While Not ( doc Is Nothing )
ItemText = doc.getItemValue ("ABC_Datum")
If ItemText(0) = Datum Then
ItemText = doc.getItemValue ("ABC_Anzahl")
Plaetze=ItemText(0) -1
Call doc.ReplaceItemValue( "ABC_Anzahl", Plaetze)
Call doc.Save( False, True )
End If
Set doc = view.GetNextDocument( doc )
Wend
-
Ja, verstanden.
Um Zugriff auf das aktuelle Dokument zu bekommen, mußt Du mit NotesSession.DocumentContext arbeiten.
Du kannst dann auf das Backend-Dokument zugreifen. Zugriff auf die UI-Objekte hast Du im Browser so nicht.
P.S. : Eine Alternative wäre der Einsatz von JavaScript. Du könntest den Wert aus der View ja auch beim Öffnen des Dokumentes in ein temporäres Feld schießen.
-
ROTFL. Wie soll er denn aus einem Browser heraus eine Notes-Client Kacheloberfläche (==NotesUIWorkspace) bekommen? Das geht doch gar nicht.
Du willst Dir das NotesDocument Objekt, NotesSession.DocumentContext sowie das Kapitel "Web agents" in der Designer Hilfe ansehen.
-
VIIIEEEELLLLLEEENNNN DANK!!!!
-> NotesSession.DocumentContext