Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Kaljamam am 10.02.11 - 14:26:36

Titel: Refresh über Formelsprache
Beitrag von: Kaljamam am 10.02.11 - 14:26:36
Hallo zusammen :),

habe eine Datenbank gebastelt, in der eine Ansicht aus einer MAIL DB(8.5 Sachblone) angezeigt wird.
Mein Problem: Sende ich eine Mail an die MAIL DB, wird die Ansicht in meiner Datenbank nicht aktualisiert. Ich muss F9 drücken. Kann ich mir einen Refresh Agenten für die Ansicht sparen und über Formelsprache was machen? ???

Wäre über ein Tipp sehr dankbar? Oder hat mir jemand einen anderen Vorschlag?
Titel: Re: Refresh über Formelsprache
Beitrag von: klaussal am 10.02.11 - 14:33:11
Du möchtest den Begriff "refresh" in der Designer-Hilfe eingeben.
Titel: Re: Refresh über Formelsprache
Beitrag von: Kaljamam am 10.02.11 - 15:49:17
Du möchtest den Begriff "refresh" in der Designer-Hilfe eingeben.

Gesagt, getan....habe folgenden Befehl auf einen Button gelegt:
@Command([RefreshWindow]) - > funktioniert super. Leider habe ich aber immer noch das Problem, dass ich manuell eingreifen muss. Leider sind meine Scriptkenntnisse sehr bescheiden :-[

Kann ich den @Command Befehl irgendwo einbinden, dass er mir automatisch alle 30 Sekunden ausgeführt wird?

Wäre über Hilfe sehr dankbar!!!
Titel: Re: Refresh über Formelsprache
Beitrag von: Peter Klett am 10.02.11 - 15:56:46
Such mal hier im Forum nach NotesTimer, da gab es mal eine Diskussion. Ist aber Script
Titel: Re: Refresh über Formelsprache
Beitrag von: CarstenB am 11.02.11 - 10:27:00
Füge den ersten Teil in die Declarations der Ansicht, den zweiten in das Postopen, dann wird die Ansicht alle 5 Sekunden refreshed

'(Declarations)
Dim viewTimer As NotesTimer
Dim ws As NotesUIWorkspace
Sub refreshView(Source As NotesTimer)
ws.ViewRefresh
End Sub

'(Postopen)
Set ws = New NotesUIWorkspace
Set viewTimer = New NotesTimer(5)
On Event Alarm From viewTimer Call refreshView
Titel: Re: Refresh über Formelsprache
Beitrag von: koehlerbv am 11.02.11 - 10:50:06
Der Timer läuft aber immer munter weiter, auch wenn man eine andere DB in einem anderen Tab aufmacht. Ob das eine besonders prickelnde Idee ist?

Bernhard
Titel: Re: Refresh über Formelsprache
Beitrag von: CarstenB am 11.02.11 - 11:01:19
Ob die Idee so prickelnd ist, sei mal dahingestellt. Ich persönlich würde auch das manuelle F9 bevorzugen, da man ja auch durch das Refreshsymbol in der Ansicht darauf aufmerksam gemacht wird.

Wenn das aktuelle Tab geöffnet ist, sieht bzw. merkt man auch das Refresh. Das heißt der Client zuckt immer etwas. Auf jeden Fall sollte der Timer höher eingestellt werden.

Muss der Fragesteller sich mal dazu äußern
Titel: Re: Refresh über Formelsprache
Beitrag von: Werner Götz am 11.02.11 - 11:41:38
Sind denn die Einstellungen der Ansicht bzgl. Verhalten im Refresh-Falle richtig gesetzt?

-Werner
Titel: Re: Refresh über Formelsprache
Beitrag von: Kaljamam am 11.02.11 - 14:20:51
Ob die Idee so prickelnd ist, sei mal dahingestellt. Ich persönlich würde auch das manuelle F9 bevorzugen, da man ja auch durch das Refreshsymbol in der Ansicht darauf aufmerksam gemacht wird.

Wenn das aktuelle Tab geöffnet ist, sieht bzw. merkt man auch das Refresh. Das heißt der Client zuckt immer etwas. Auf jeden Fall sollte der Timer höher eingestellt werden.

Muss der Fragesteller sich mal dazu äußern

a star was born.....Vielen Dank, absolut genial. Hab das Script in Options und Declartions eingefügt den Timer auf 300 hochgesetzt und alles läuft, d.h. die Mailnachrichten werden aktualisiert und dem User eingestellt.
Was natürlich stimmt ist, dass die Geschichte durchläuft. Nachts wie auch am Wochende. Daher habe ich versucht, dass mit einem Agent zu basteln und die Einträge dort in Options zu machen... :-:Klappt aber nicht, wäre auch zu schön gewesen. Dann könnte ich aber die genaue Zeit, wann er die View aktualisieren soll bestimmen. Kann ich den Agenten eigentlich nicht irgendewo aus der MAIL DB(8.5 Schablone) klauen?!

Bin mit der Lösung dennoch zufrieden, jetzt geht nämlich das, was ich wollte. Noch jemand ne Idee, wie ich das in einen Agenten einbauen kann? ???
Titel: Re: Refresh über Formelsprache
Beitrag von: CarstenB am 11.02.11 - 14:36:47
was meinst du mit durchlaufen -  nachts und am Wochenende? Was du mit dem Agent vor hast, hab ich nicht verstanden
Das Script wird ja auf dem Client ausgeführt und dort nur so lange, wie auch die Ansicht geöffnet ist

Gruß
Carsten
Titel: Re: Refresh über Formelsprache
Beitrag von: Kaljamam am 11.02.11 - 15:44:30
was meinst du mit durchlaufen -  nachts und am Wochenende? Was du mit dem Agent vor hast, hab ich nicht verstanden
Das Script wird ja auf dem Client ausgeführt und dort nur so lange, wie auch die Ansicht geöffnet ist

Gruß
Carsten

shame over me.... :-[ dann ist alles perfekt, vielen Dank nochmal!!!
Titel: Re: Refresh über Formelsprache
Beitrag von: Werner Götz am 11.02.11 - 20:05:58
Auch wenn's auf den ersten Blick funktioniert ist noch etwas Vorsicht angebracht. Ich habe mit solchen Konstellationen, bei denen über einen Timer in einer Maske ein Refresh ausgelöst wird, welches dann dbLookups auslöste "red boxes" verursacht, wenn parallel Aktionen ebenfalls auf dem Server gestartet wurden.

Möchte aber jetzt kein Spaßverderber sein. Wenn es funktioniert ist's gut, wenn es zu Notes-Abstürzen kommt, dann evtl. doch über andere Methoden nachdenken ...

Schönes Wochenende
-Werner
Titel: Re: Refresh über Formelsprache
Beitrag von: pram am 11.02.11 - 21:03:24
Code
Der Timer läuft aber immer munter weiter, auch wenn man eine andere DB in einem anderen Tab aufmacht. Ob das eine besonders prickelnde Idee ist?
Man könnte im Timer ws.currentDatabase bzw die aktuelle View abfragen und nur einen Refresh durchführen wenn die DB/View passt.

Um in Masken einen periodischen Refresh auszulösen kann man mit Javascript ein (verstecktes) Checkboxfeld togglen welches "refresh on keyword change" gesetzt hat. In etwa so:

window.setInterval(function() { document.forms[0].feldname.checked = not  document.forms[0].feldname.checked }, 30000);

Leider hat auch diese Variante einen Nachteil, denn der Notes-Client iost nicht so gut im Ausführen von Javascript und der Timer stoppt nach ein paar 1000 Aufrufen und sie geht nur für Forms, bzw. darin eingebetteten Views (deren Viewname berechnet sein muss, z.B. "viewName"+"")


Ich würde den Usern lernen, F9 zu drücken, außerdem sollte ja oben links ein Refresh-Pfeil erscheinen wenn neue Dokumente vorhanden sind.

Gruß
Roland

Titel: Re: Refresh über Formelsprache
Beitrag von: Pyewacket am 12.02.11 - 08:06:38
Kommt immer auf die Problemstellung an. F9 drücken bedeutet halt einen manuellen
Eingriff. Ich kenne eine komplexe Applikation die eine 'Monitoring' View hat.
die Applikation läuft auf einem separaten Rechner (dessen Anzeige
früher an die Wand projiziert wurde).
In der View seh ich auf einen Blick ob irgend ein Problemzustand vorliegt.
Wenn da jedesmal jemand hinlaufen und F9 drücken müsste wär das ziemlich lästig.


Gruß
 Peter