Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Bruce Willis am 20.03.06 - 18:05:25
-
Hallo,
falls man ein Datum angezeigt bekommen will, das 3 Tage vor einem bestimmten Termin (Feld "date_due") liegt, könnte dies so aussehen:
@Adjust(date_due;0;0;-3;0;0;0)
Weiß jemand, ob bzw. wie sich auch das Folgende realisieren läßt?
Falls das ausgerechnete Datum an Sonntag fällt, soll es automatisch um zwei Tage nach vorne verschoben werden, falls an Samstag - dann um einen Tag.
Danke und Gruß
Leo
-
@Weekday ist Dein Freund. Verschiebe das Datum, dann prüfe mit @Weekday und bilde dann mit einem erneuten @Adjust das endgültige Datum.
Die Prüfung mit dem Wochentag könnte man natürlich auch gleich im Zusammenhang mit dem ersten @Adjust gemacht werden.
Bernhard
-
Ich habe das in einer Anwendung mit folgender Formel gelöst
s := @Date(@Tomorrow);
d:= s;
n := 0;
@While(n < 5;
d:=@Adjust(d;0;0;1;0;0;0);
n := @BusinessDays(s;d;1:7)
);
@SetField("SeminarbewertungBis";@Text(d));
Ausgehend vom morgigen Datum soll die Bewertung nach 5 Arbeitstagen erfolgen.
Das Gute daran ist, daß man @BusinessDays auch noch feste Feiertage mitgeben kann.
-
@Weekday ist Dein Freund.
Bernhard
Und ich dachte, DU wärst mein Freund... ::)
Trotzdem danke für die ausführliche Richtungsweisung! ;)
Ich habe mir Folgendes ausgedacht:
@If (
@Weekday(@Adjust(date_expected;0;0;-3;0;0;0)) = 1; @Adjust(date_expected;0;0;-5;0;0;0);
@Weekday(@Adjust(date_expected;0;0;-3;0;0;0)) = 7; @Adjust(date_expected;0;0;-4;0;0;0);
@Adjust(date_expected;0;0;-3;0;0;0)
)
Sieht zwar unschön aus, aber ich bin noch beim Überlegen, ob die Zahl "3" irgendwie als Variable zu machen ist...
Ist sie es? >:D
-
Ich habe das in einer Anwendung mit folgender Formel gelöst
...
Ausgehend vom morgigen Datum soll die Bewertung nach 5 Arbeitstagen erfolgen.
...
Hallo Ulrich,
vielen Dank!
Das ist schon fast fertige Lösunge meines Problems und sogar mehr. Sieht auch sehr elegant aus.
Ich nehme an, dass ich bei Deiner Variante anstatt "5" auch ein Feld eingeben kann (wo z.B. "5" als Wert eingetragen ist):
...
@While(n < AnzahlDerTage;
...
Soll es klappen?
Gruß
Leo
-
Du kannst ohne weiteres auch Variable statt der Konstanten -5 verwenden, Leo. Du kannst diese auch per @GetProfileField holen oder ... Viiiiiele Möglichkeiten.
Bernhard
PS: Klar bin ich Dein Freund. Aber Du hast halt noch mehr - wie zum Beispiel Gospodin Adjust (gerade das "ju" schreit nach kyrillischen Lettern ... ;))
-
Danke, Bernhard!
P.S. Ich frage mich ab und zu, was eigentlich Dein Lächeln ausdrückt...
Glück?
Oder Schadenfreude?
;D :P :D
-
Da sitze ich auf meinem Lieblings-Findling vor "unserem" Haus am Sallingsund. Ergo: Glück! Schadenfreude empfinde ich äusserst selten!
Bernhard
PS: Nicht auf dem Bild zu sehen sind zwei Flaschen "Hancock"-Bier à 0,75 Liter im Wasser darunter ;D
-
... am Sallingsund.
:o
Ist es ein Dorf? Wo ist das?
-
Nimm Map24 (oder ein anderen Dienst Deiner Wahl) und gib folgendes ein:
Ort: Sallingsund (das ist die kommune Sallingsund, ab 2007 vereint mit Skive, Stenøre und Spøttrup)
Land: Dänemark
Dann bekommst Du das grobe Gebiet.
Feiner:
Strasse: Klintevej 5
Ort: 7870 Roslev
Land: Dänemark
Nahezu touristenfreies Urlaubsgebiet (ausser, wir sind gerade da ;D)
Bernhard
PS: Mittlerweile sind wir etwas (10 km) weiter gezogen nach Harre Nor (Følvigvej 76)
-
Nimm Map24 (oder ein anderen Dienst Deiner Wahl)...
Ich hatte schon einiges probiert... :)
Strasse: Klintevej 5
Ort: 7870 Roslev
Land: Dänemark
Alles klar, danke, ich komme vorbei.
Mittlerweile sind wir etwas (10 km) weiter gezogen
Du kannst rennen, aber Du schaffst es nicht, Dich zu verstecken! :-P
;D
Gute Nacht! ;)
-
Das Gute daran ist, daß man @BusinessDays auch noch feste Feiertage mitgeben kann.
Hallo,
nochmals danke, das Folgende funktioniert:
s := date_due;
d := s;
n := 0;
@While(n < 4;
d:=@Adjust(d;0;0;-1;0;0;0);
n := @BusinessDays(d;s;1:7;
[01.01.2005] : [01.01.2006] : [25.03.2005] : [14.04.2006] : [27.03.2005] : [16.04.2006] : [28.03.2005] : [17.04.2006] : [01.05.2005] : [01.05.2006] : [05.05.2005] : [25.05.2006] : [15.05.2005] : [04.06.2006] : [16.05.2005] : [05.06.2006] : [26.05.2005] : [15.06.2006] : [03.10.2005] : [03.10.2006] : [24.12.2005] : [24.12.2006] : [25.12.2005] : [25.12.2006] : [26.12.2005] : [26.12.2006] : [31.12.2005] : [31.12.2006] : [01.01.2007]
)
);
@SetField("TestFeld1";@Text(d))
Wenn ich aber das unten schreibe
k := @GetProfileField("p_data";"Feiertage")
s := date_due;
d := s;
n := 0;
@While(n < 4;
d:=@Adjust(d;0;0;-1;0;0;0);
n := @BusinessDays(d;s;1:7;
k
)
);
@SetField("TestFeld1";@Text(d))
wobei im Feld "Feiertage" des Profildokuments "p_data" Folgendes steht
[01.01.2005] : [01.01.2006] : [25.03.2005] : [14.04.2006] : [27.03.2005] : [16.04.2006] : [28.03.2005] : [17.04.2006] : [01.05.2005] : [01.05.2006] : [05.05.2005] : [25.05.2006] : [15.05.2005] : [04.06.2006] : [16.05.2005] : [05.06.2006] : [26.05.2005] : [15.06.2006] : [03.10.2005] : [03.10.2006] : [24.12.2005] : [24.12.2006] : [25.12.2005] : [25.12.2006] : [26.12.2005] : [26.12.2006] : [31.12.2005] : [31.12.2006] : [01.01.2007]
funktioniert das Ganze nicht mehr richtig.
Was mache ich falsch?
Danke und Gruß
Leo
-
Was heisst "nicht mehr richtig"? Fällt dann der Karfreitag aus?
Ist das Feld "Feiertage" ein Datum-/Zeit-Listenfeld? Stehen dort wirklich Datumswerte drin und keine Strings?
Bernhard
-
DAS nenne ich Service! ;)
Super schnell!!!
Das Feld ist Textfeld mit den o.g. Daten und auch im gleichen Format.
Ist es total falsch?
Wie sollen die Daten denn dort stehen bzw eingetraten sein?
Gruß
Leo
-
Da müssen unbedingt Datumswerte stehen. Ergo: Datums-/Zeitfeld, Mehrfachwerte zulassen.
Steht aber auch in der DesignerHelp ;)
Bernhard
-
Da müssen unbedingt Datumswerte stehen. Ergo: Datums-/Zeitfeld, Mehrfachwerte zulassen.
Vielen Dank!
Es funktioniert in der Tat! :)
Steht aber auch in der DesignerHelp ;)
Nie gehört!
Was ist das? ;D :P
Schönen Abend noch!
Gruß
Leo