Domino 9 und frühere Versionen > ND8: Entwicklung
Wiederkehrende Termine berechnen
CC:
Hallo und guten Tag,
hat schon mal jemand wiederkehrende Termine unterschiedlichster Art selbst berechnet, so wie man es von den Notes - Kalendereinträgen her kennt?
Die dortigen Standard/Core-Funktionen zu übernehmen und zu verwenden hat unangenehme Seiteneffekte. So werden mitunter Mails versandt und Profildokumente verändert, was in Kalenderansichten falsche Eigentümerdaten zeigt. Zudem sind die Bibliotheken arg wuchtig.
Ideen? Hinweise? Vorschläge?
Grüße und danke
CC
ascabg:
Hallo,
Wo willst Du wiederkehrende Termine berechnen?
(eigene Anwendung, DB basierend auf dem Mailtemplate, ...)
Wenn Mailtemplate, dann schau Dir das C&S-Schema von IBM an.
Andreas
CC:
Hallo Andreas,
in einer eigenen Anwendung. Hatten die Notes Standardfunktionen auf Basis des Mailfiles schon eingebunden, wie gesagt, das macht mehr Probleme als dass es nützt.
Grüße
CC
it898ur:
Hallo,
ich verwende die Funktionen der Mailschablone in stark abgespeckter Form seit einigen jahren in einer eigenen Anwendung um Wiederholungstermine berechnen zu lassen. Die Nutzung der Terminliste ist dann aber von mir.
Bisher habe ich keine Nebenwirkungen feststellen können, außer das man eine Maske mit dem Alias "CalendarProfile" haben muss - Profile sollte man in eigenen Datenbank ja sowieso anders bezeichnen, so dass dies kein Problem ist.
Scriptbibliotheken aus der Mail-Db habe ich keine übernommen - der Code zum Aufrufen des Dialoges ist recht übersichtlich:
--- Code: ---Sub StartRepeatDialog(uidoc As NotesUIDocument)
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim dialogdoc As NotesDocument
Dim Felder List As String
Dim vres As Variant
uidoc.AutoReload = False
Set doc = uidoc.Document
Set dialogdoc = doc.ParentDatabase.CreateDocument
dialogdoc.Form = "RepeatForm"
' Felder("Feldname in Dialogbox") = "Feldname aktuelles Dokument"
Felder("StartDate") = "Datex"
Felder("StartTime") = "StartTime"
Felder("EndDate") = "Datex"
Felder("EndTime") = "EndTime"
Felder("StartDateTime") = "StartDateTime"
Felder("EndDateTime") = "EndDateTime"
Felder("StartTimeZone") = "StartTimeZone"
Felder("EndTimeZone") = "EndTimeZone"
' fest definierte Wiederholungsfelder ==> nicht ändern !
Felder("RepeatDates") = "RepeatDates" ' Rückgabeliste der wiederholenden Datumswerte
Felder("RepeatAdjust") = "RepeatAdjust"
Felder("RepeatCustom") = "RepeatCustom"
Felder("RepeatDates") = "RepeatDates"
Felder("RepeatFor") = "RepeatFor"
Felder("RepeatForUnit") = "RepeatForUnit"
Felder("tmpRepeatUnit") = "RepeatUnit"
Felder("RepeatFromEnd") = "RepeatFromEnd"
Felder("RepeatHow") = "RepeatHow"
Felder("RepeatInterval") = "RepeatInterval"
Felder("RepeatStartDate") = "RepeatStartDate"
Felder("RepeatUnit") = "RepeatUnit"
Felder("RepeatUntil") = "RepeatUntil"
Felder("RepeatWeekends") = "RepeatWeekends"
Forall x In Felder
If doc.HasItem( x ) Then
Call dialogdoc.ReplaceItemValue( Listtag( x ), doc.GetItemValue( x ))
End If
End Forall
If ws.DialogBox("(RepeatForm)",True,True,False,False,False,False,"Wiederholen", dialogdoc ,True,False,True) Then
Forall x In Felder
If dialogdoc.HasItem( Listtag( x )) Then
Call doc.ReplaceItemValue( x , dialogdoc.GetItemValue( Listtag( x )))
End If
End Forall
End If
End Sub
--- Ende Code ---
Des weiteren benötigt man noch eine angepasste Version der Teilmaske "(RepeatForm)" - die habe ich mal im Netz gefunden und könnte Sie ggf. auch bereitstellen, wenn das Original nicht mehr aufzufinden sein sollte.
Gruß
André
CC:
Hallo André,
"Des weiteren benötigt man noch eine angepasste Version der Teilmaske "(RepeatForm)" "
wo findet man diese?
Grüße und danke
Carsten
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln