Autor Thema: Fälligkeitsdatum aus Liste anhand Vergleichsdatum berechnen  (Gelesen 1853 mal)

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Hallo zusammen,

ich habe ein sortiertes Mehrfachfeld "Intervall" (Date/Time) mit diesen Werten:
15.02.2012
20.05.2012
25.06.2012
10.07.2012

Die Anforderung ist, im Querysave mittels Script anhand eines Vergleichsdatums (Date/Time), den nächsten Fälligkeitstermin zu berechnen.

Beispiel 1:
Vergleichsdatum = 30.05.2012
Soll-Ergebnis = 25.06.2012

Liegt das Vergleichsdatum aber nach dem letzten Datum der Liste, muss das Ergebnis der nächste Termin im Folgejahr sein.

Beispiel 2:
Vergleichsdatum = 01.08.2012
Soll-Ergebnis = 15.02.2013

Beispiel 3:
Vergleichsdatum = 20.02.2013
Soll-Ergebnis = 20.05.2013

Die Jahreszahlen in der Datumsliste spielen also eigentlich keine Rolle. Ich brauche immer das nächste Datum in Abhängigkeit zu einem Vergleichsdatum.

Wie geht das in Script?
Kann mir bitte jemand den Weg zeigen?

Danke und Gruß
Stefan
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Fälligkeitsdatum aus Liste anhand Vergleichsdatum berechnen
« Antwort #1 am: 11.04.12 - 13:30:49 »
Hier wird Dir nichts bleiben, als durch Deine Liste zu loopen und zu schauen, ob das gerade gefundene Listenelement grösser ist als Dein Vergleichsdatum.
Wenn ja - Treffer, Ende.
Kommst Du mit traurigem Blick aus der Schleife heraus, musst Du dies wiederholen und dabei vor dem Vergleich die Listenwerte um 1 Jahr erhöhen.
- unsauber: Einfach Listenwert + 365 (könnte ja reichen  ;D)
- sauber: Listenwert mit Day, Month, Year + 1 und Datenumber umbauen.

HTH,
Bernhard

PS: Das ganze dann natürlich in eine Funktion mit Parameter, ob Du mit dem Jahr der Listenwerte arbeiten möchtest oder um x Jahre erhöht.

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Fälligkeitsdatum aus Liste anhand Vergleichsdatum berechnen
« Antwort #2 am: 11.04.12 - 14:22:29 »
Hallo Bernhard,

würde es nicht reichen, die Jahreszahlen meiner Datumsliste durch die Jahreszahl des Vergleichsdatums zu ersetzen?
Wenn ja, wie?

Dann über die Elemente der neuen Liste loopen, bis das gerade gefundene Listenelement größer ist als das Vergleichsdatum.

Gruß Stefan
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Fälligkeitsdatum aus Liste anhand Vergleichsdatum berechnen
« Antwort #3 am: 11.04.12 - 14:28:44 »
Das ist eine andere Möglichkeit - ich wusste nicht, dass Du die Liste verändern darfst.

Entweder, Du gehst den umständlichen Weg über NotesDateTime und AdjustYear, oder Du nimmst einen Einzeiler mit Datenumber (Year + 1, Month, Day).

Bernhard

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Fälligkeitsdatum aus Liste anhand Vergleichsdatum berechnen
« Antwort #4 am: 12.04.12 - 08:05:05 »
Hallo Bernhard,

ich habe es nach deinem ersten Ansatz umgesetzt.

Ich übergebe einer Function die Datumsliste, das Vergleichsdatum und einen Zähler.
Die Function vergleicht in einer Schleife jedes Element der Liste mit dem Vergleichsdatum.
Habe ich kein Ergebnis, wird die Function mit Zähler = 1 erneut aufgerufen (der Zähler erhöht die Jahreszahl der Liste).
Das mache ich solange, bis ich ein Ergebnis bekomme.

Danke und Gruß
Stefan
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz