mit Script habe ich das verwendet...ist etwas länger...
If doc.Tage(0)>1 Then
days = doc.Tage(0)
daycounter = Cint(days)
'letzte Datum Zeit der Beleihung neu bilden
Set EndDateFirstT = New NotesDateTime(StartDateFirstT.dateonly & " " & StartZeitLastT.TimeOnly) ' Tag momentan auch 01.01.03 00:01 Uhr
Set EndDateLastT = New NotesDateTime(StartDateFirstT.dateonly & " " & EndZeitLastT.Timeonly) ' Tag momentan bis 01.01.03 08:00 Uhr
Call EndDateFirstT.AdjustDay( daycounter ) ' auf letzten Tag hochzaehlen zB 10.01.03 00:01 Uhr
Call EndDateLastT.AdjustDay( daycounter ) ' auf letzten Tag hochzaehlen zB 10.01.03 08:00 Uhr
For i = 0 To daycounter
Set newdoc = db.CreateDocument
Call doc.CopyAllItems(newdoc, True)
newdoc.DateCreated = Today
If i=0 Then 'erste Lauf erster Tag der Beleihung
Dim FirstDayEndSave2 As New NotesDateTime( StartDateFirstT.dateOnly & " " & EndZeitFirstT.TimeOnly ) 'zB 01.01. 23:59 Ende 1. Tag
Dim FirstDayStartSave2 As New NotesDateTime( StartDateFirstT.dateOnly & " " & StartZeitFirstT.TimeOnly ) 'zB 01.01. 14:00 Beginn
newdoc.EndDatumZeit = FirstDayEndSave2.LSLocalTime
newdoc.EndDateTime = FirstDayEndSave2.LSLocalTime
newdoc.EndDate = FirstDayEndSave2.LSLocalTime
newdoc.StartDatumZeit = FirstDayStartSave2.LSLocalTime
newdoc.StartDateTime = FirstDayStartSave2.LSLocalTime
newdoc.StartDate = FirstDayStartSave2.LSLocalTime
Call newdoc.ReplaceItemValue( "StartTime",StartZeitFirstT)
Call newdoc.ReplaceItemValue( "EndTime",EndZeitFirstT)
LetzteTag = doc.EndDatumZeit(0)
ErsteTag = doc.StartDatumZeit(0)
LetzteTag1$ = Cstr(LetzteTag)
ErsteTag1$ = Cstr(ErsteTag)
Call newdoc.ReplaceItemValue("Ganztagshinweis","Ganztagstermin vom " & ErsteTag1$ & " bis zum " & LetzteTag1$)
newdoc.TagePKW = doc.Tage(0)
START$ = FirstDayStartSave2.DateOnly
ENDE$ = FirstDayEndSave2.DateOnly
Datumse = "["+ START$ +"-"+ ENDE$ +"]"
WERTE = Evaluate( { @Explode( @TextToTime( "} & DATUMSE & {" ) ) } )
newdoc.explodeDatum=WERTE
newdoc.ID=IDSave
newdoc.form="Buchung"
Call newdoc.computewithform( False, False )
Call newdoc.Save(True, False)
Print "Neuer Ganztagstermin " & Cstr(FirstDayStartSave2.LSLocalTime)
End If
If i>0 And i<daycounter Then 'nächster Tag der Beleihung bis vor letzten Tag der Rückgabe
Set NextDateFirstT = New NotesDateTime(StartDateFirstT.dateonly & " " & StartZeitLastT.TimeOnly) 'zweiter Tag momentan auch 01.01.03 00:01 Uhr
Set NextDateLastT = New NotesDateTime(StartDateFirstT.dateonly & " " & EndZeitFirstT.Timeonly) 'zweiter Tag momentan auch bis 01.01.03 23:59 Uhr
Call NextDateFirstT.AdjustDay( i) ' auf nächsten Tag hochzaehlen zB 02.01.03 00:01 Uhr
Call NextDateLastT.AdjustDay( i) ' auf letzten Tag hochzaehlen zB 02.01.03 23:59 Uhr
newdoc.EndDatumZeit = NextDateLastT.LSLocalTime
newdoc.EndDateTime = NextDateLastT.LSLocalTime
newdoc.EndDate = NextDateLastT.LSLocalTime
newdoc.StartDatumZeit = NextDateFirstT.LSLocalTime
newdoc.StartDateTime = NextDateFirstT.LSLocalTime
newdoc.StartDate = NextDateFirstT.LSLocalTime
Call newdoc.ReplaceItemValue( "StartTime",StartZeitLastT)
Call newdoc.ReplaceItemValue( "EndTime",EndZeitFirstT)
Call newdoc.ReplaceItemValue( "DispDuration","24 Std.")
LetzteTag = doc.EndDatumZeit(0)
ErsteTag = doc.StartDatumZeit(0)
LetzteTag1$ = Cstr(LetzteTag)
ErsteTag1$ = Cstr(ErsteTag)
Call newdoc.ReplaceItemValue("Ganztagshinweis","Ganztagstermin vom " & ErsteTag1$ & " bis zum " & LetzteTag1$)
newdoc.TagePKW = doc.Tage(0)
START$ = NextDateFirstT.DateOnly
ENDE$ = NextDateLastT.DateOnly
Datumse = "["+ START$ +"-"+ ENDE$ +"]"
WERTE = Evaluate( { @Explode( @TextToTime( "} & DATUMSE & {" ) ) } )
newdoc.explodeDatum=WERTE
newdoc.ID=IDSave
newdoc.form="Buchung"
Call newdoc.computewithform( False, False )
Call newdoc.Save(True, False)
Print "Neuer Ganztagstermin " & Cstr(NextDateFirstT.LSLocalTime)
End If
If i=daycounter Then 'letzter Tag der Beleihung = Tag der Rueckgabe
newdoc.EndDatumZeit = EndDateLastT.LSLocalTime 'Zb 03.01. 12:00 Uhr Rückgabe
newdoc.EndDateTime = EndDateLastT.LSLocalTime
newdoc.EndDate = EndDateLastT.LSLocalTime
newdoc.StartDatumZeit = EndDateFirstT.LSLocalTime
newdoc.StartDateTime = EndDateFirstT.LSLocalTime
newdoc.StartDate = EndDateFirstT.LSLocalTime
Call newdoc.ReplaceItemValue( "StartTime",StartZeitLastT) 'zB 03.01. 00:01
Call newdoc.ReplaceItemValue( "EndTime",EndZeitLastT)
LetzteTag = doc.EndDatumZeit(0)
ErsteTag = doc.StartDatumZeit(0)
LetzteTag1$ = Cstr(LetzteTag)
ErsteTag1$ = Cstr(ErsteTag)
Call newdoc.ReplaceItemValue("Ganztagshinweis","Ganztagstermin vom " & ErsteTag1$ & " bis zum " & LetzteTag1$)
newdoc.TagePKW = doc.Tage(0)
START$ = EndDateFirstT.DateOnly
ENDE$ = EndDateLastT.DateOnly
Datumse = "["+ START$ +"-"+ ENDE$ +"]"
WERTE = Evaluate( { @Explode( @TextToTime( "} & DATUMSE & {" ) ) } )
newdoc.explodeDatum=WERTE
newdoc.ID=IDSave
newdoc.form="Buchung"
Call newdoc.computewithform( False, False )
Call newdoc.Save(True, False)
Print "Neuer Ganztagstermin " & Cstr(EndDateFirstT.LSLocalTime)
End If
Next
End If