Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wilhelm Weber am 23.01.09 - 12:24:24
-
Hallo zusammen,
bin neu hier und habe bisher kaum berührungspunkte mit Notes.
Mein Problem ist folgendes:
Es soll ein Dienstpaln erstellt werde. Die Mitarbeiter können angeben, dass sie an gewissen Tagen diesen Dienst nicht wahrnehmen wollen ( z.B. Sa ).
Nun suche ich nach einer Formel, die es ermöglicht dass zu einem geissen Datum nur die MA ausgewählt werden können, die auch verfügbar sind.
Bsp: MA A kann samstags nicht, desahlb darf sein Name nicht in der Auswahlbox für den Dienst am 07.Februar erscheinen.
Verschiedene Ansätze mit @ Weekday passen momentan alle nicht.
Hat da jemand einen Ansatz ?
Grüße
Wilhelm
-
Die Angaben sind sehr spärlich, um etwas genaues zu sagen.
In der Tendenz würde ich eine Maske (in der man den WoTag auswählen kann) mit eingebetteter Ansicht vorschlagen.
-
Aus der Designer Hilfe
Syntax
@Weekday( timedate )
Parameters
time-date
Time-date or time-date list. The date having the weekday value you want.
Return value
weekdayNumber
Number or number list. Weekday numbers are 1 through 7, with Sunday = 1, Monday = 2, and so on.
Usage
If the parameter is a list, the function operates on each element of the list, and the return value is a list with the same number of elements.
-
Hallo,
erstmal danke für das feedback..
habe michnicht so wirklich gut ausgedrückt.
Ich habe im Prinzip eine Zeit datumsliste mit den werten von z.B. 01.02.2009 - 28.02.2009.
Aus dieser liste will ich alle Tage eliminieren, die z.B auf einen samstag fallen ( also 07.02. 14-02- usw)
Soltem auch andere tage wie z.B montag nicht zur Verfügung stehne, müssen diese auch aus der Liste raus.
Grüße
Wilhelm
-
@BusinessDays
-
Hallo,
damit kriege ich aber doch nur die Anzahl der Samstage zurück..
Also für februar 4
hatte ich schion probiert
-
@BusinessDays war auch Blödsinn, sorry.
Bau Dir doch eine Schleife über Deine Datumsliste und übernimm nur die gewünschten Tage in eine neue Liste.
Bernhard
-
so ich habs probiert...
temp := "";
@For(n := 1; n <= @Elements(tp1); n := n + 1;
@If(@Weekday(tp1[n])!=7;
temp := tp1[n];""));
temp
tp1 ist das Feld wo die Datumswerte stehen..
das ergebnis ist das nur noch der 27.02. , also der letzte Tag der kein Samstag ist im Feld steht..
-
Das ist doch auch logisch, dass das passiert - Du bildest ja auch ausdrücklich einen skalaren Wert.
Eine Liste bekommst Du mit
temp := temp : tp1[n]
Bernhard
-
das ist wirklich logisch..
jetzt erscheint aber eine Fehlermeldung:
Falscher Datentyp für Operator oder @Funktion: Text erwartet
tp1 ist ja ein Daumsfeld, muss es ja auch sein um @Weekday zu berechnen, oder ?
-
Das macht Dein einleitendes
temp := "".
Damit ist das eine Textvariable.
Das muss und kann weg.
Bernhard
-
der fehler bleibt leider..
vorher gibt es noch die beiden Codezeilen..
tp :=@Explode(@TextToTime("01.02.2009" + "-" + "28.02.2009"));
tp1:=@TextToTime(tp);
@For(n := 1; n <= @Elements(tp1); n := n + 1;
@If(@Weekday(tp1[n])!=7;
temp := temp :tp1[n];""));
temp
-
So sollte es funktionieren:
tp :=@Explode([01.02.2009 - 28.02.2009]);
@For(n := 1; n <= @Elements(tp); n := n + 1;
@If(@Weekday(@TextToTime(tp[n])) != 7; temp := temp:tp[n]; ""));
@Trim(temp);
Axel
-
Hallo Axel,
danke das war der letzte Baustein. !!
Danke auch an die anderen und bist demnächst..
Wilhelm