Das Notes Forum

Best Practices => Diskussionen zu Best Practices => Thema gestartet von: samWare am 02.09.09 - 16:25:15

Titel: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: samWare am 02.09.09 - 16:25:15
Hallo Leute,

ich hab gerade diesen tollen Artikel gelesen und da ist mir eingefallen dass ich vor längerer Zeit (war mein erster Post) mal eine sehr sehr nützliche Formel zum Thema Kalenderberechnung geschrieben habe.

Sie liefert zwar nicht die KW, aber dafür >> den Montag << einer angegebenen KW und dem angegebenen Jahr. Vllt. eine Ergänzung zu dem Thread :-:

Post ist hier (http://atnotes.de/index.php/topic,42340.msg271681.html#msg271681) zu finden.
Titel: Re: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: koehlerbv am 02.09.09 - 21:38:39
Hi Sam (Samuel, Grigori Samowarski, Sam der farbige Pianospieler aus Casablanca - oder was?),

das ist eine gute Idee!

Mein Vorschlag (und dann füge ich das sofort ein!): Schmeiss das olle @Success aus Deiner Formel weg, das hat in der Formel nichts zu suchen und würde bei ggf. vorhandenen Fehlern in der Formel (okay, die können nicht sein, aber "Ordnung und Sauberkeit im Schlachthof"!!).
Weiters: Mach aus den vielen Zeilen wenige. Nutze @Word (beispielsweise) - wir sind da im "Best Practice"-Forum.

Prinzipiell ist Deine Ergänzung des "Umkehrschlusses" für die KW wirklich sehr gut! Bitte setze das um.

Vielen Dank im Voraus,
Bernhard
Titel: Re: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: samWare am 03.09.09 - 09:26:11
Hallo Bernhard,

hab nommel drübergeschaut und die Formel ein wenig gekürzt/verbessert.

Mein Name ist Samuel Menigat. (Sam der farbige Pianospieler aus Casablanca.. ROFLCOPTER)

Code
kwdays := ((kalenderwoche-1)*7);
fdate := @Date(jahr; 1; 1);
fday := @Weekday(fdate);

date := @If(fday=1; @Adjust(fdate; 0; 0; kwdays+1; 0; 0; 0); fday=2; @Adjust(fdate; 0; 0;  kwdays; 0; 0; 0); fday=3; @Adjust(fdate; 0; 0;  kwdays -1; 0; 0; 0);
fday=4; @Adjust(fdate; 0; 0;  kwdays-2; 0; 0; 0); fday=5; @Adjust(fdate; 0; 0; kwdays-3; 0; 0; 0); fday=6; @Adjust(fdate; 0; 0; kwdays+3; 0; 0; 0);
fday=7; @Adjust(fdate; 0; 0;  kwdays+2; 0; 0; 0); "");

Ich hoffe sie ist jetzt zu diener Zufriedenheit abgeändert... (Wenn man eigene @-Funktionen schreiben könnte währ das ding um die hälfte kürzer, aber Mann kann sichs ja nicht raussuchen :-:)
Titel: Re: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: koehlerbv am 03.09.09 - 17:48:44
Hallo Samuel,

ich meinte eher sowas:
Code
_FirstDayOfYear := @Date (Year; 1; 1);

WeekNoMonday := @Adjust (_FirstDayOfYear; 0; 0; @Subset (@Subset (1 : 0 : -1 : -2 : -3 : 3 : 2; @Weekday (_FirstDayOfYear)); -1)  + ((WeekNo -1) * 7); 0; 0; 0);

@Prompt ([Ok]; "Ergebnis"; @Text (WeekNoMonday))

Der Charme liegt in dem Verzicht auf die dauernde Vergleicherei mit @If und @Weekday. Das ginge sogar noch kürzer, aber dafür funktioniert das obige Konstrukt auch noch mit R5 (und R2  ;D).

Was meinst Du? Du hast ja den Algorithmus ins Spiel gebracht.

Bernhard
Titel: Re: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: samWare am 04.09.09 - 08:47:42
Schaut doch gut aus ;D Meine "komplexe Logik" lässt da echt noch stark zu wünschen übrig  :-X :-\ Aber das kommt schon noch mit der Zeit...
Titel: Re: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: koehlerbv am 05.09.09 - 02:51:30
Hi Sam,

wie versprochen, findest Du Deine "Kontribution" wie versprochen jetzt in den AtNotes "Best Practices" wieder: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formeln und LS (http://atnotes.de/index.php/topic,20457.msg128232.html#msg128232)

Ich bin hier garantiert (!) nicht der einzige, der immer sehr froh ist über derartiges Engagement von Mitgliedern der AtNotes-Community! Danke, Sam!

Bernhard

PS: Wenn Du Anmerkungen zu meiner Einbindung Deines Beitrags im BP-Artikel hast, lass es mich bitte wissen. Immerhin bist Du nun ja Co-Autor.
Titel: Re: Anmerkung zu: [LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formel
Beitrag von: samWare am 07.09.09 - 10:35:45
Ne find ich toll so wie's ist  :love: :knuddel:

Thx fürs reinstellen  ;)