Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Bruce Willis am 20.03.06 - 18:05:25

Titel: @Adjust + Wochenende
Beitrag 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
Titel: Re: @Adjust + Wochenende
Beitrag von: koehlerbv am 20.03.06 - 18:09:01
@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
Titel: Re: @Adjust + Wochenende
Beitrag von: eknori (retired) am 20.03.06 - 18:22:14
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.
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 20.03.06 - 20:46:06
@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
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 20.03.06 - 20:59:06
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
Titel: Re: @Adjust + Wochenende
Beitrag von: koehlerbv am 20.03.06 - 22:37:27
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 ...  ;))
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 20.03.06 - 22:59:54
Danke, Bernhard!

P.S. Ich frage mich ab und zu, was eigentlich Dein Lächeln ausdrückt...
Glück?
Oder Schadenfreude?
 ;D :P :D
Titel: Re: @Adjust + Wochenende
Beitrag von: koehlerbv am 20.03.06 - 23:12:58
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
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 20.03.06 - 23:29:50
... am Sallingsund.

 :o
Ist es ein Dorf? Wo ist das?
Titel: Re: @Adjust + Wochenende
Beitrag von: koehlerbv am 20.03.06 - 23:50:57
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)
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 20.03.06 - 23:57:49
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!  ;)
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 11.04.06 - 16:52:34

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
Titel: Re: @Adjust + Wochenende
Beitrag von: koehlerbv am 11.04.06 - 16:56:36
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
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 11.04.06 - 17:01:26
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
Titel: Re: @Adjust + Wochenende
Beitrag von: koehlerbv am 11.04.06 - 17:07:13
Da müssen unbedingt Datumswerte stehen. Ergo: Datums-/Zeitfeld, Mehrfachwerte zulassen.
Steht aber auch in der DesignerHelp  ;)

Bernhard
Titel: Re: @Adjust + Wochenende
Beitrag von: Bruce Willis am 11.04.06 - 19:10:00
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