Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: michael-r am 31.03.08 - 13:39:28
-
Hi,
ich wollte mal etwas probieren.
Ansicht:
SELECT DocType *= "CalendarEntry" & !(Deleted != "")
Das ist die Abfrage für die Ansicht, ich möchte aber nur die Dokumente wo im Betreff Feld "Subject" Urlaub drin steht. Im Subject steht Name, Betreff und Ort.
Es gibt ja so etwas:
(navigator.appName.search(/Lotus Notes/) < 0)
Gibts es das auch in der Formelsprache?
MFG Michael
-
... & @Contains( Subject ; "Urlaub" )
Oder so. ;)
-
Danke das geht wunderbar :).
MFG Michael
-
weiss jemand wie ich Monate richtig anordne in einer View ???
_months := "Januar|1" : "Februar|2" : "März|3" : "April|4" : "Mai|5" : "Juni|6" : "Juli|7" : "August|8" : "September|9" : "Oktober|10" : "November|11" : "Dezember|12";
_month := @Replace (@Text (@Month (CalendarDateTime)); @Word (_months; "|"; 2); @Word (_months; "|"; 1));
_month
Die Termine sind kategoriesiert nach Jahr > Monat
MFG Michael
-
Lass den Kokolores mit den Aliaswerten weg. Und setze eine (verborgene, sortierte) Spalte mit @Month vor Deine Monatsspalte.
Bernhard
-
Hm ja sowas ähnliches hab ich, allerdings habe ich dann das Problem, dass das für jedes Dokument zählt:
_month := @Text(@Month(CalendarDateTime));
@If (@Length(_month) < 2; @Set("_month"; "0" + _month); "");
@Text (@Year (CalendarDateTime)) + _month
So hat man dann z.B wenn mehrere Termine im Mai sind auch Mai 5 mal drin stehen oder so ;).
Achso der Code ist nicht von mir, ich suche auch noch Hilfe + Internet wie man das evt lösen kann.
MFG Michael
-
Lies bitte nochmal ganz genau, was ich geschrieben habe. Ich schrieb auch nichts von einer Kategorisierung ...
Bernhard
-
Wenn ich keine Kategorie angebe, habe ich keinen Monat als Kategorie? Und wenn ich eine Kategorie angebe, habe ich doppelte Einträge.
Hm....
-
Jetzt beschreibe bitte mal, wie Deine erste (verborgene) und Deine zweite (kategorisierte Monats-)Spalte aufgebaut sind ...
Bernhard
-
Erste Spalte ist Jahr:
@Text(@Year(CalendarDateTime))
Kategorie und aufsteigend sortiert.
Zweite Spalte ist:
@Month(CalendarDateTime)
Verborgen und aufsteigend
Dritte Spalte ist noch:
_months := "Januar|1" : "Februar|2" : "März|3" : "April|4" : "Mai|5" : "Juni|6" : "Juli|7" : "August|8" : "September|9" : "Oktober|10" : "November|11" : "Dezember|12";
_month := @Replace (@Text (@Month (CalendarDateTime)); @Word (_months; "|"; 2); @Word (_months; "|"; 1));
_month
Aufsteigend.
So ergibt das folgendens:
Jahr
:::: Dokument
:::: Dokument
:::: Dokument
Jahr
:::: Dokument
:::: Dokument
:::: Dokument
Ich es eigentlich so, weil ich denke das es übersichtlich ist.
Jahr
:: Monat
:::: Dokument
:::: Dokument
Jahr
usw.
Wenn ich die dritte Spalte kategorisiere ergibt das, das:
Jahr
:: Mai
:::: Dokument
:: Mai
:::: Dokument
:: Juni
:::: Dokument
:: Juni
:::: Dokument
Jahr
Ich glaub das krieg ich aber nicht hin.... Ich lass das so und versuche mir einfach die ersten 3 Buchstaben der Monate vor dem Dokument anzeigen zu lassen.
MFG Michael
-
Ich mach das immer so:
1. Spalte (kategorisiert und aufsteigend sortiert)
@Year(Datum)
2. Spalte (verborgen und aufsteigend sortiert)
@Month(Datum)
3. Spalte (kategorisiert und aufsteigend sortiert)
monat := @Select(@Month(Datum) ; "Januar" ; "Februar" ; "März" ; "April" ; "Mai" ; "Juni" ; "Juli" ; "August" ; "September" ; "Oktober" ; "November" ; "Dezember");
monat
Gruß
Stefan
-
Und das ist auch vollkommen korrekt so, Stefan.
Bernhard
-
Hm kann das an der Art liegen wie ich die Dokumente auswähle?
SELECT DocType *= "CalendarEntry" & (@Contains( Subject ; "Urlaub" ) | @Contains( Subject ; "URLAUB" ))
& !(Deleted != "")
Ich hab cebolina Code probiert aber genauso wie vorher.
-
Das
(@Contains( Subject ; "Urlaub" ) | @Contains( Subject ; "URLAUB" ))
( Sorry, die hälfte vergessen )
würde ich vereinfachen:
@Contains( @UpperCase(Subject) ; "URLAUB" )
und was ist das:
!(Deleted != "" )
doppelte Verneinung?
-
Check mal in den Spalteneigenschaften den internen Namen (letzter Reiter) - der muss eindeutig sein. Beim kopieren von Spalten kann da schonmal was durcheinander geraten.
Gruß Stefan
-
... und was macht eigentlich *= in der Selektion? würde nicht ein einfaches '=' reichen?
SELECT DocType *= "CalendarEntry" ...
Gruß Stefan
-
Danke, Andre habe das auch mal vereinfacht ;).
der interne Name ist eindeutig.
Warum das so geschrieben "DocType *= "CalendarEntry" " kann ich dir leider nicht sagen, aber das zieht sich so durch alle DBs, also von daher übernehm ich das so ;).
!(Deleted != "" ) wenn das Dokument nicht zum löschen makiert ist denk ich mal? Ansonsten s.o ;).
-
*= ist ein "Permuted equal"
Aus der Designer-Hilfe, Kapitel "Operations on Lists":
Permutation operators act on two lists, pairing every possible combination of their values. The resulting list has an element for each pairing in the following order: list 1 element 1 paired with each element in list 2, list 1 element 2 paired with each element in list 2, and so on through the last element in list 1.
-
Hallo Martin,
*= ist ein "Permuted equal"
Aus der Designer-Hilfe, Kapitel "Operations on Lists":
das habe ich auch gelesen. Ich frage mich nur, ob ein einfaches '=' im Zusammenhang mit der genannten Ansichtsauswahl nicht sinnvoller ist ???
Gruß Stefan
-
Das wird wohl davon abhängig sein, ob bei DocType Mehrfachwerte zugelassen sind, oder nicht.
-
"*=" ist der Permutationsoperator. Sinn macht der nur beim Vergleich mit Listen. Bei skalaren Werten wie in der gegebenen Formel schadet er aber natürlich nicht - also egal ...
Bedenklich finde ich aber dieses "das ist so bei allen DBs ...". Das ist keine Aussage. Was bisher so war, muss nicht gut sein.
Weiters:
!(Deleted != "" ) wenn das Dokument nicht zum löschen markiert ist denk ich mal?
Mit "denke ich mal" kann man nicht programmieren. "Deleted" ist ein Item, was in einem Notes-Dokument erwartet wird und was hier leer sein soll. Mit zum "Löschen markiert" kann das bestenfalls mittelbar zu tun haben - wenn es entsprechend programmiert werden. Und Negation der Negation ist zwar wie "*=" auf skalare Werte erlaubt, aber dumm, weil unleserlich / verwirrend.
Entscheidend jedoch: Die Ansichtsauswahlformel hat mit dem Problem der korrekten Monatssortierung nicht und überhaupt gar nichts zu tun.
Bernhard
-
sorry, ich habe beim programmieren von Notes so gut wie keine Ahnung.
Ich wollte mir nur eine Ansicht in unserem Teamkalender bauen wo man den Urlaub als Zeitstrahl sieht.
Und Ansichten habe ich schon einige erstellt, nur da war meistens wenige Formeln relevant die ich mir zusammengesetzt habe.
Kann es am Aufbau der Dokumente liege?
MFG Michael
-
Kann es am Aufbau der Dokumente liege?
Nein, es liegt nach wie vor an Deinen Spaltenformeln / Deinem Ansichtsaufbau.
Bernhard
-
Hm ich habe den Code doch zu Stefans Code geändert.
ich schau nochmal.
Edit: wenn ich die 2 Spalte auch sortieren und kategorisieren lasse, dann ist es korrekt, nur sieht halt etwas komisch aus, wegen der Zahlen für die Monate.
MFG Michael
Edit2...
ehm ... Nachdem ich nun nochmal die Eigenschaften durch gegangen bin der 2 Spalte, und die Kategorien gesetzt habe und das Pfeilsymbol, sichtbar... ging es ja.
Nun habe ich für die Spalte Größe änderbar, Kategorien, Pfeilsymbol entfernt, und Spalte verborgen und es geht.
Ich schwöre ich habe die ganze Zeit shift+F9 sowie DB geschlossen und geöffnet. (kal2.jpg)
-
Du kannst die Spalte mit den Zahlen ja per Eigenschaftsbox für die column verbergen.
Die Sortierung greift dann immer noch.
-
Siehe Edit2 ;).
Hatte ich ja eigentlich getan... nur da hat die Sortierung nicht so wie vorher funktioniert. Weiss nicht woran das gelegen hat.
MFG Michael
-
Wie bekomme ich ein Zeichen "|" in Schwarz und weissem Hintergrund hin?
@If(@Day(EndDate)=1|@Day(StartDate)=1|(@Day(StartDate)<1&@Day(EndDate)>1);"092A57" : "092A57" ;"FFFFFFF" : "FFFFFF")
also ein paar sachen hatte ich versucht wie:
"|" : "FFFFFF" ;"000000" : "000000"
Dann hatte ich mir überlegt mach ich eine Spalte in Schwarz wenn EndDate oder StartDate dem entsprechend gesetzt sind mit:
@If(@Day(EndDate)=1|@Day(StartDate)=1; "FFFFFF":"FFFFFF" ; "000000":"000000")
Das klappt aber auch nicht. Was mach ich falsch?
MFG Michael
-
Such mal in der Designer-Hilfe nach "Wert als Farbe verwenden" - vielleicht hilft dir das weiter.
Gruß Stefan
-
Stefan danke für den Tipp.
Ich habe es nun mit folgendem Code geschafft:
@If(@Day(EndDate)=1|@Day(StartDate)=2; "|"; @Day(EndDate)=1|@Day(StartDate)=2|(@Day(StartDate)<2&@Day(EndDate)>1);"092A57" : "092A57";"FFFFFFF" : "FFFFFF")
Weiss noch jemand was man einstellen muss damit die Ansicht mit dem Zeitstrahl druckbar ist?
Edit: druckbar ist es wohl doch, aber dann nur mit der Option "nur ausgewählte Rahmen" :).
MFG Michael