Geht das? Kalenderansicht setzt Fokus auf Dokumente abhängig von aktueller Uhrzeit

  • Hallo,


    die Kalender-Ansicht "1 Tag" enthält oft zu viele Einträge für die Bildschirmseite. Leider springt der Cursor immer automatisch auf das erste Dokument (voreingestellt?). Problem: Es wird immer nur der obere Teil der Dokumente aufgelistet.


    Problem: Diese Kalender-Ansicht soll nun so eingerichtet/programmiert werden, daß möglichst immer die aktuellen Dokumente bzw. Kalendereinträge (abhängig von der Uhrzeit) angezeigt werden (ähnlich wie bei einer ständig aktualisierten Ankunfts-Anzeige am Frankfzurter Flughafen oder Hauptbahnhof).


    Geht das? Habe bisher unter der SELECT-Anweisung nichts gefunden - auch nicht durch Googlen. Und in diesem Forum bin ich auch nocht nicht weitergekommen.


    Hat vielleicht jemand von Euch einen Tip?

  • Theoretisch geht alles (ja, ginge auch praktisch...)


    Die Fragestellung läßt nur offen, ob es sich um die Kalender der Notesnutzer handelt (und wenn ja, wie viele Server + Nutzer gibt es denn?) oder einen Kalender in einer selbst programmierten Datenbank.


    Ausserdem läßt die Fragestellung offen, wo denn die ausgefilterten Einträge noch sichtbar sein sollen, wenn sie dann auf herkömmlichen Wege nicht mehr erreichbar sind ;=)


    Eine farbige Darstellung geht natürlich auch (sogar besser besser als eine komplette Filterung aus oben genannten Gründen). Hier könnte ein periodischer Agent z.B. stündlich, viertelstündlich o.ä. die jeweils aktuellen Einträge farbig hervorheben (ist mit Sicherheit deutlich performanter als eine SELECT-Filterung).

  • Hallo, danke für die schnelle 'Antwort.


    Habe eine Lösung auf Basis der SELECT-Anweisung erarbeitet, die auch funktioniert:


    Folgendern Code habe ich mir zusammengebastelt und in die Ansichtsauswahl gesetzt:


    ---------- Code-Anfang-----------
    SELECT(@IsAvailable(CalendarDateTime) & Form != "Reservation" & (((@Hour(@Now))-1) <= (@Hour(StartDateTime )) ) | (( (@Hour(@Now))-1) <= (@Hour(EndDateTime))))
    ---------- Code-Ende-------------


    Wie gewünscht, bleiben damit auch die ganztägigen Einträge und Jahrestage im oberen Bereich der Tages-Ansicht bis 21 Uhr angezeigt. Danach folgenden die anderen Einträge. Sie bleiben solange stehen, bis ihr Ende-Zeit mehr als eine Stunde zurückliegt.
    Für den Refresh habe ich bereits einen Code reingesetzt (alle 15 min).


    Zu Deiner Frage nach der Zugriffsmöglichkeit auf alle/vergangene Termine:
    Diese Anzeige ist für einen großen Bildschirm gedacht, damit das Team ständig weiß, was noch ansteht. Daher ist diese Lösung ausreichend und die Performance scheint auch ok (sind nicht mehr als 50 Termine/Tag).


    ********
    Aber ein weiteres Problem habe ich jetzt:


    wie kann ich dafür sorgen, daß automatisch die aktuelle Tages-Ansicht ausgewählt wird? Umstellung vielleicht nachts? (Der Client läuft tagundnachts)
    Ich habe überlegt, einen Agenten zu schreiben, der nachts/am frühen Morgen anhand der @Today-Formel die neu Tagesansicht startet.


    Müßte hier nicht der in Notes gesetzte "Heute"-Code funktionieren?


    -------Code-Beginn----
    today := @Today;
    @SetTargetFrame("NotesView");
    @Command([OpenView];"xxxAnsicht-Namexxx");
    @Command([CalendarGoTo];today)
    -----Code-Ende---------


    ?? :roll: funktioniert leider nicht ...

  • Zitat

    Daher ist diese Lösung ausreichend und die Performance scheint auch ok (sind nicht mehr als 50 Termine/Tag).


    Die Performance leidet nicht unter der Anzahl der Termine / Tag sondern lediglich durch die Tatsache, dass der Indexer normalerweise auf Dokumentänderungen in einer Datenbank reagiert und entscheiden muß, ob er einen Index aktualisert. Im Falle von SELECT-Anweisungen, die eine Datums/Zeit-Abfrage der Art @Now/@Today beihnalten bekommt der Indexer aber bereits nach einer Millisekunde, nachdem er den Index gerade erst aktualisiert hat wieder den Hinweis, dass sich der Index geändert hat und gleich wieder erneut aktualisiert werden muß. Daher ist diese Art inperformant, da der Server 24h/7Tage die Woche ständig diesen Index aktualisert. Wenn der Server sonst noch zufriedenstellend arbeitet ist das ja ok, man sollte es nur im Hinterkopf behalten.


    Für eine permanente Darstellung eines bestimmten Bildes auf einem zentralen Bildschirm (ich habe das auch schonmal für einen Helpdesk programmiert) eignet sich übrigens eine Browserdarstellung deutlich besser als ein Notesclient, dem Browser gibt man halt ein 60-Sekunden Refresh, damit umgeht man einige Clientbeschränkungen besser.


    Warum der Code mit den @Commands da jetzt nicht geht kann ich ohne einen Test gerade nicht sagen, ich vermute hier ein Cache-Problem, wenn die Ansicht bereits zuvor im gleichen Frame geöffnet wurde und noch offen da steht.

  • Danke für die ausführliche Antwort.


    Darstellung im Browser: ich finde diese Darstellung nicht so schön. Und darauf kommt es hier auch an.


    Habe das Problem soweit gelöst. Die Performance prüfen wir noch.


    Gruß