Autor Thema: Agent zur Aktualisierung der Ansicht (F9 ersetzen)  (Gelesen 2847 mal)

Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
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

« Letzte Änderung: 19.11.02 - 15:31:31 von Mario »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #1 am: 19.11.02 - 15:53:04 »
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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #2 am: 19.11.02 - 16:01:42 »
Kannst Du mir eine beispielhafte Systax geben,
die ich einfügen kann?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #3 am: 19.11.02 - 16:06:44 »
Hi,

füge in QuerySave-Event der Maske folgenden Code ein:


Dim workspace As New NotesUIWorkspace

Call workspace.ViewRefresh


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #4 am: 19.11.02 - 16:11:50 »
Dann müsste er beim Speichern also die Ansicht refreshen?
(NUr für mein Verständnis)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #5 am: 19.11.02 - 16:17:24 »
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
Zitat
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
« Letzte Änderung: 19.11.02 - 16:19:51 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #6 am: 19.11.02 - 16:34:43 »
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!"

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #7 am: 19.11.02 - 16:39:09 »
Hi,

bei Set view = db.GetView(...) darfst du nicht den Maskennamen, sondern musst den Namen der entsprechenden Ansicht angeben.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #8 am: 19.11.02 - 16:42:54 »
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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #9 am: 19.11.02 - 16:53:12 »
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

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #10 am: 19.11.02 - 17:04:12 »
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?


Offline Mario

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Ich liebe dieses Forum!
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #11 am: 19.11.02 - 17:11:05 »
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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Agent zur Aktualisierung der Ansicht (F9 ersetzen)
« Antwort #12 am: 20.11.02 - 11:34:49 »
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
 
« Letzte Änderung: 20.11.02 - 11:35:21 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz