Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Mario am 19.11.02 - 14:05:25
-
Hallo,
hab folgendes Problem:
In einer Form einer DB sollen die letzten Bearbeiter in einem Feld aufgeführt werden.
Formel: @Name([CN]; @Subset($UpdatedBy;-3))
Das Problem dabei ist, dass das Bearbeiter-Feld erst nach zweimaligem Speichern den/die Bearbeiter anzeigt.
Notes aktualisert zwar das Feld, aber nur im Frontend-Prozess, erst beim zweiten Mal Speichern geht es in den Backend-Prozess und wird dementspechend angezeigt bzw. weiterverarbeitet.
Wenn ich nach dem ersten Speichern die "F9"-Taste drücke, steht im Feld der aktuelle Bearbeiter.
Nun will ich einen Agenten schreiben, der genau das macht.
Habe beim Ablaufzeitpunkt ausgewählt: "If Documents have been created or modified".
Doch was für einen Lotusscript-Tag muss ich eintragen?
Hab schon mit "refresh" rumprobiert, brachte aber keinen Erfolg.
(Bin Lotusscriptneuling)
Mario
-
Hi,
versuch's doch mal mit der Methode ViewRefresh aus der Klasse NotesUIWorkspace.
Ich aktualisiere damit eine eingebettete Ansicht.
Vielleicht funktionierts auch bei dir.
Axel
-
Kannst Du mir eine beispielhafte Systax geben,
die ich einfügen kann?
-
Hi,
füge in QuerySave-Event der Maske folgenden Code ein:
Dim workspace As New NotesUIWorkspace
Call workspace.ViewRefresh
Axel
-
Dann müsste er beim Speichern also die Ansicht refreshen?
(NUr für mein Verständnis)
-
Hi,
joo. Erweitere den Code noch wie folgt (siehe unten):
Dim workspace As New NotesUIWorkspace
Dim view As NotesView
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set view = db.GetView("Name der Ansicht")
Call view.Refresh
Call workspace.ViewRefresh
Auszug aus der Notes-Hilfe
Usage
If a view is in the active window, this method refreshes the current view.
If a document is in the active window, this method refreshes the view associated with that window, but not until the view's window is activated.
To refresh a view from within a document, you must perform both the back-end NotesView Refresh and the front-end NotesUIWorkspace ViewRefresh methods, before exiting out of the view.
Axel
-
Ich arbeite in einer "Form"namens "Hiring Tracking".
Wo kann ich ersehen, wie die zugehörige View heisst?
(wenn ich bei ...db.GetView("Hiring Tracking") eintrage,
heisst es:" Object Variable not set!"
-
Hi,
bei Set view = db.GetView(...) darfst du nicht den Maskennamen, sondern musst den Namen der entsprechenden Ansicht angeben.
Axel
-
Ja, dass weiss ich, doch wie bekomme ich in der Maske den Namen der View raus, bzw wie kann ich die Viev(Ansicht) finden, die meine Form benutzt?
Das ist mein Problem
-
Hi,
das einzigste was mir hierzu einfällt ist die Eigenschaft ParentView aus der Klasse NotesDocument. Ich bin mir aber nicht ganz sicher, ob es das ist was du brauchst. Ich habe diese Eigenschaft noch nie eingesetzt.
Versuch's mal so:
Dim workspace As New NotesUIWorkspace
Dim view As NotesView
Set view = Source.Document.ParentView
Call view.Refresh
Call workspace.ViewRefresh
Axel
-
Wieder der Fehler:" Object Variable not set"
Kann ich mir den Namen der aktuellen View nicht auch ausgeben lassen:
Dim workspace As New NotesUIWorkspace
Dim view As NotesUIView
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set view = workspace.CurrentView
Msgbox (view)
Wenn ich es so mache, heisst es: "Type mismatch".
Kann ich mit modifizierter Msgbox den Namen der aktuellen View/Ansicht ausgeben?
-
Hab jetzt folgen Code in "Postsave" geschrieben:
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Refresh
Damit geht es endlich!!!
;D
-
Wieder der Fehler:" Object Variable not set"
Kann ich mir den Namen der aktuellen View nicht auch ausgeben lassen:
Dim workspace As New NotesUIWorkspace
Dim view As NotesUIView
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set view = workspace.CurrentView
Msgbox (view)
Wenn ich es so mache, heisst es: "Type mismatch".
Kann ich mit modifizierter Msgbox den Namen der aktuellen View/Ansicht ausgeben?
Hi,
ändere die letzte Zeile so ab:
Messagebox view.Viewname
Damit kannst du dir den Namen der Ansicht ausgeben lassen.
Axel