Domino 9 und frühere Versionen > ND7: Entwicklung
Nur bestimmte Kalenderwoche anzeigen
Klafu:
Oh okay, dachte irgendwie das reicht :)
Ich hab eine Maske; in der hab ich ein Datumsfeld welches der User setzen kann.
In meiner Ansicht hab ich dann in der ersten Spalte dein Script (Danke! ;)) zum errechnen der Kalenderwoche in der das Datum liegt (Die Spalte KW ist Kategorisiert).
Nun hätt ich gerne eine extra Ansicht für die User, in der nur die Dokumente der aktuellen KW und der kommende KW angezeigt werden.
Ich hoffe, es ist nun klarer :)
Chris
BigWim:
Hallo Chris,
wenn Du die aktuelle KW UND die aktuelle KW +1 anzeigen lassen willst, geht das meiner Meinung nach nicht mit einer eingebetteten Ansicht, es sei Du nutzt ein mehr als "wildes" Konstrukt.
Du müßtest in der Ansicht als erste (versteckte) Spalte haben, die berechnet:
a) die Kalenderwoche vom aktuellen Datum berechnet
(-> hier im Forum habe ich nichts Gutes über die Kombination von View und @Today gelesen)
b) die Kalenderwoche des Datums aus dem Dokument
c) Vergleicht KW:
(-> in etwa Wenn (a=b oder a+1=b) dann 1 ansonsten 0)
Damit hättest Du ein Ansichtskritierum für die eingebettete Ansicht.
Mein Favorit wäre ja eher, dieses als Agent zu implementieren, der täglich (ab 0:01 ;-)) läuft und ein entsprechendes Flag im Dokument setzt, sodaß die View nur Dokumente mit diesem Flag anzeigt.
Markus
koehlerbv:
Für eine normale Ansicht musst Du doch nur in der Ansichtsauswahlformel die KW auf Basis des "Datum" in den Dokumenten berechnen und die KW auf Basis @Today. Das SELECT-Statement würde dann auf dem entsprechenden Vergleich der beiden KW-Werte basieren.
Sowie Du viele Dokumente in der DB hast, für das aber zäh und ärgert den Server.
Bernhard
Jürgen Schomann:
Nur ein Hinweis.
Die Formel für die Berechnung der KW ist nicht ganz korrekt. So liefert sie für den 31.12.2012 z. B. 53 statt 1. KW 2013:
Hier eine andere Formel:
Date := [<Datum>];
WeekThursday := @Adjust(Date; 0; 0; @If(@Weekday(Date) = 1; -3; -@Weekday(Date) + 5); 0; 0; 0);
WeekYear := @Year(WeekThursday);
January4Date := @Date(WeekYear; 1; 4);
FirstThursday := @Adjust(January4Date; 0; 0; @If(@Weekday(January4Date) = 1; -3; -@Weekday(January4Date) + 5); 0; 0; 0);
Week := ((WeekThursday - FirstThursday) / 86400) / 7 + 1;
@Prompt([Ok];"";@Text(Week) + ". KW, " + @Text(WeekYear))
gstueb:
--- Zitat von: Klafu am 22.07.09 - 15:44:16 ---Nun möchte ich es hinbekommen, das ich nur die Aktuelle KW und die darauffolgende KW in einer Ansicht seh.
wie bekomme ich das hin?
--- Ende Zitat ---
Wie Bernhard schon geschrieben hat, belastet eine Select-Formel in der Form
--- Code: ---Select KW=AktuelleKW | KW = NaechsteKW
--- Ende Code ---
den Server, weil durch die Datumsberechnung in der Ansichten-Formel die Ansicht nie wirklich aktuell ist und ständig neu berechnet wird.
Du könntest auch einen Agenten schreiben, der jeden Morgen läuft und alle Dokumente, die angezeigt werden sollen, entsprechend markiert und z.B. ein Feld Anzeigen = 1 setzt.
Oder Du erstellst in jedem Dokument ein Datumfeld "Heute", welches Du ebenfalls 1 x täglich per Agent (und bei der Neuanlage von Dokumenten) auf das aktuelle Datum setzt. Wenn Du anstelle von @today dann dieses Feld in der Auswahlformel verwendest, bekommt der Server keine Probleme mit der Ansicht.
Gruß,
Gregor
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln