Autor Thema: Now + x Tage ohne Wochende (Lotus Script)  (Gelesen 3868 mal)

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Now + x Tage ohne Wochende (Lotus Script)
« am: 23.01.08 - 11:37:27 »
Hallo zusammen

Auf der Suche nach einem Script-Beispiel für meine "Aufgabenstellung" im Betreff habe ich nahezu zwei Seiten Vorschläge erhalten, wie man das in der Formelsprache (@Businessdays) lösen kann.

Da ich das Ganze in einem Lotus-Script-Agent umsetzen muss, frage ich mal in die Runde, ob jemand das schon einmal mit Script gelöst hat.

Vielen Dank für eure Tips

Grüsse

Hampa
« Letzte Änderung: 23.01.08 - 13:51:06 von hampa »
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

Glombi

  • Gast
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #1 am: 23.01.08 - 11:41:19 »
Ohne @BusinessDays brauchst Du in Script eine kleine Schleife.

Du musst solange iterieren, bis x = 0 ist. In der Schleife musst Du mit AdjustDay einen Tag weiter gehen und den Weekday abfragen. Bei 1 oder 7 dann x nicht dekrementieren und zum nächsten Tag.

Andreas

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #2 am: 23.01.08 - 11:44:47 »
Hallo,

... mit Call notesDateTime.AdjustDay( ... ) kannst du ein Datum mit n Tagen erhalten...
... Weekday( datum) erhälst du den Wochentag als Zahl...

der Rest ist dann auf den Freitag zu berechnen.

Toni
Grüßle Toni :)

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #3 am: 23.01.08 - 11:46:45 »
@Glombi

Halli Hallo

An sowas habe ich auch schon gedacht. Ich habe mir aber fest eingeredet, dass es da etwas "einfacheres", "prozessorschonenderes" geben müsste.  ;D

Da habe ich mich dann wohl geirrt.

Auf jedenfall vielen Dank für Deinen Hinweis

Grüsse

Hampa
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

Driri

  • Gast
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #4 am: 23.01.08 - 11:48:18 »
Was spricht gegen Evaluate ?

klaussal

  • Gast
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #5 am: 23.01.08 - 11:50:58 »
... und wie berücksichtigt er die Feiertage ?

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #6 am: 23.01.08 - 12:00:44 »
... aus den entsprechenden Landesteilen...
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #7 am: 23.01.08 - 12:23:36 »
Okay, nach Feiertagen war nicht gefragt, da wird das komplexer  ;D

Man muss sich aber nicht unbedingt mit NotesDateTime einen abquälen - das Datum ist ja nur eine Zahl:
Code
	Dim vDate As Variant
	Dim vEndDate As Variant
	Dim iPeriod As Integer
	Dim iWorkingDays As Integer
	
	iPeriod = 10
	vEnddate = Now + iPeriod
	iWorkingDays = 0
	
	For vDate = Now To vEndDate
		If (Weekday (vDate) <> 1) And (Weekday (vDate) <> 7) Then
			iWorkingDays = iWorkingDays + 1
		End If
	Next
	
	Messagebox "Arbeitstage in den nächsten " & Cstr (iPeriod) & " Tage: " & Cstr (iWorkingDays)

Achtung: Hierbei wird der aktuelle Tag mitgezählt, ansonsten müsste es heissen: Now + 1 To vEndDate + 1.

HTH,
Bernhard

Glombi

  • Gast
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #8 am: 23.01.08 - 12:32:55 »
Irgendwie kann ich mich des Eindrucks nicht erwehren, dass Du etwas gegen NotesDateTime hast  ;D

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #9 am: 23.01.08 - 12:46:27 »
Hallo zusammen

Vielen Dank für eure wertvollen Hinweise.

Ich bau das Codebeispiel von Bernhard und melde mich dann nocheinmal, ob es das macht, was ich will das es macht.  ;D

Grüsse

Hampa
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

klaussal

  • Gast
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #10 am: 23.01.08 - 13:00:25 »
Es macht's.  :o

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #11 am: 23.01.08 - 13:13:16 »
@klauss

Was auch nicht anders zu erwarten war.....  ;)
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Re: Now + x Tage ohne Wochende (Lotus Script)
« Antwort #12 am: 23.01.08 - 13:49:55 »
So. Hier ist meine Lösung.

Code
Function addWorkDays(iPeriod As Integer)
	
	'// Diese Funktion zählt zum heutigen Datum die übergebenen Anzahl Tage hinzu
	'// ohne das aktuelle Datum zu berücksichtigen
	
	Dim iday As Integer
	
	'Tagesdatum als aktuelles festlegen
	Dim dateTime As New NotesDateTime( Now )
	
	While iday < iPeriod
		
		'Zum Datum einen Tag hinzuzählen
		Call dateTime.AdjustDay(1)
		
		'Prüfen, ob Samstag oder Sonntag
		If (Weekday (dateTime.DateOnly) <> 1) And (Weekday (dateTime.DateOnly) <> 7) Then
			iday = iday + 1
		End If		
	Wend	
	
	'// Rückgabe des neuen Datums
	addWorkDays = dateTime.DateOnly	
	
End Function

Bitte melden, wenn ihr was findet, dass da nicht hingehört.

Grüsse Hampa
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz