Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: robertpp am 13.11.03 - 11:32:13
-
Hallo, ich habe das Thema vor einem Monat angesprochen und da hatte ich auch die lösung nur ist die verloren gegangen!!
http://www.atnotes.de/index.php?board=7;action=display;threadid=11794
Die Select-Formel für die Ansicht ist:
SELECT Form="report" & Entscheid!="erledigt VA" & @Adjust(@Today;0;0;3;0;0;0) >= @Date(Termin)
Da wird die View aber immer refresh wegen dem Datum. Eh klar
Dann bin ich irgendwie auf das gekommen ich glaub Ulrich hat mal so etwas gemacht:
Datum:= @TextToTime("@Adjust(@Today;0;0;3;0;0;0)");
Datum1:= @TextToTime("@Date(Termin)");
SELECT Form="report" & Entscheid!="erledigt VA" & .........
Nur weiß ich jetzt nicht mehr wie ich in der Select formel die zwei Datumsvariablen vergleichen kann. ???
-
Hi,
versuch's mal so
@If(Datum > Datum1; ...)
Axel
-
Wie was warum soll ich das machen? Wie bekomm ich das in die Select-Formel der anischt hinein?
Datum:= @TextToTime("@Adjust(@Today;0;0;3;0;0;0)");
Datum1:= @TextToTime("@Date(Termin)");
SELECT Form="report" & Entscheid!="erledigt VA" & @Text(Datum) >= @Text(Datum1)
So war die letzte Select-Formel in der Ansicht nur Zeigt er mir alle doc mit Form="report" & Entscheid!="erledigt VA" und das Datum ignoriert er!!!!
-
Warum wandelst Du die Daten wieder mit @Text um ?
-
Hi,
deine Select - Formel enthält einige Fehler. Die sind mir beim ersten Mal nicht sofort aufgefallen.
Hier z.B. sind die Anführungszeichen zuviel
Datum:= @TextToTime("@Adjust(@Today;0;0;3;0;0;0)");
So sollte die Formel funktionieren (wobei, wenn das Termin-Feld ein Datumsfeld ist, du @TextToTime weglassen kannst) :
Datum:= @Adjust(@Today;0;0;5;0;0;0);
Datum1:= @TextToTime(Termin);
SELECT Form="report" & Entscheid!="erledigt VA" & Datum >= Datum1
Es geht aber auch einfacher, ohne Variablen:
SELECT Form="report" & Entscheid!="erledigt VA" & @Adjust(@Today;0;0;5;0;0;0) >= @TextToTime(Termin)
Wobei auch hier gilt, wenn Termin ein Datumsfeld ist, kann man @TextToTime weglassen.
Axel
-
Aber genau da liegt das problem, wenn ich das so mache:
SELECT Form="report" & Entscheid!="erledigt VA" & @Adjust(@Today;0;0;5;0;0;0) >= @TextToTime(Termin)
dann hab ich ganze zeit den Aktualisierungspfeil in der Ansicht und das will ich umgehen.
-
Hi,
wenn du @Today in der Select-Formel verwendest, dann musst du mit dem Aktualisierungspfeil leben.
Generell gilt, es wird von der Verwendung von @Today und @Now in Select - Formel von Ansichten dringend abgeraten, da die ständige Aktualisierung der Ansicht eine Menge Performance kostet.
Abhilfe wäre ein periodischer Agent, der einmal in der Nacht, in Abhängigkeit deines Datumsvergleiches (und vielleicht noch der anderen Kriterien) ein Feld (z.B. auf 1, sonst 0) setzt. Auf dieses Feld kannst du dann in der Select-Formel der Ansicht zurückgreifen.
Axel
-
Ja, aber auch das hat einen Haken: Einerseits Ungelesen-Markierungen, die geändert werden, andererseits verursacht das dann zusätzliche Replikation der geänderten Dokumente, also auch hier ist Rücksicht zu nehmen auf das Umfeld.
-
Das hat Glombi bei dem Beitrag vor einem Monat dazu geschrieben:
Wegen des Refreshsymbols: Da hatte eknori mal was gepostet - es ging um
@TextToTime("Today")
Ich hatte das dann noch sprachabhängig gemacht
@TextToTime("Heute")
suche mal hier in den alten Einträgen...
Ich hab aber nix gefunden. Also ich glaub nach der Aussage von Andreas muss es schon eine Möglichkeit geben die Ulrich mal gemacht hat.
-
Agent wie oben beschrieben oben diesen Thread lesen: http://www.atnotes.de/index.php?board=7;action=display;threadid=7181;start=0
-
Oder diesen Thread:
http://www.atnotes.de/index.php?board=5;action=display;threadid=10260 (http://www.atnotes.de/index.php?board=5;action=display;threadid=10260)
Ich bevorzuge aber normale Viewselection mit @Today, und dafür folgendes in den View-Eigenschaften:
(http://www.atnotes.de/attachments/Viewprop.gif)
Vorteil: man muss serverseitig nix einstellen und Kringel ist trotzdem weg.
(war auch mal ein Tipp irgendwo hier im Forum).
TMC
-
Danke für die Links. :D Ich hab es jetzt so gemacht:
_Datumd:=@TextToTime("Heute");
_Datume:=@TextToTime("Today");
_Today := @If(_Datumd > [01.01.1900];_Datumd;_Datume);
SELECT Form="report" & Entscheid!="erledigt VA" & @Adjust(_Today;0;0;4;0;0;0) >= Termin
und es ist kein Aktualisierungspfeil mehr in der Ansicht und er zeigt mir auch die richtigen Docs an!!
Muss ich jetzt noch irgendetwas bezüglich der Serverbelastung beachten?