Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: kruemelmaus am 14.04.15 - 18:26:23
-
Hallo,
ich habe eine Datenbank für eine Terminreservierung erstellt. Hier kann der User einen
Button drücken um einen Termin zu reservieren.
Zur Zeit ist der Button mit Notes Formelsprache geschreiben.
@Command([EditDocument]);
name:= @Name([CN];@UserName);
@SetField("Name1_2"; name);
@Command([ViewRefreshFields])
Jetzt wäre es schön, wenn er zu diesem Termin auch eine Mail mit einem Kalendereintrag versendet würde.
Wer kann mir hier eine Hilfestellung geben?
Ich denke das ganze müsste dann über Notes Script erfolgen.
Danke schon mal im vorraus.
Oliver
-
Hallo Oliver,
unter dem Stichwort Calendering & Scheduling wirst Du hier viele Infos finden, darunter auch einen Link zum passenden Cookbook von IBM.
Wenn Du beim Programmieren hängen bleibst, dann poste den Codeteil der nicht so will wie Du.
Ach ja, das geht -wie Du schon angenommen hast- nur mit Script.
Viel Erfolg.
CU,
Axel
-
Hallo,
ich habe mittlerweile mein Konzept geändert und einen Button erstellt, welcher einen Kalendereintrag erzeugt.
Das funktioniert auch ganz gut. Der Kalendereintrag wird im Kalender des Users erstellt.
Allerdings habe ich noch das folgende Problem. Öffent man diesen erstellten Eintrag so kommt es zu der folgenden Meldung:
Field: 'tmpHideTimeZone': Incorrect data type for operator or @Funktion: Time/Date expected.
Das Feld tmpHideTimeZone fülle ich garnicht.
Was mache ich falsch?
Hier noch der Code:
Sub Click(Source As Button)
Dim Session As NotesSession
Dim Workspace As NotesUIWorkspace
Dim dbMail As NotesDatabase
Dim docMail As NotesDocument
Dim vMailAddress As Variant
Dim dtStart As NotesDateTime, dtEnd As NotesDateTime, dtNow As NotesDateTime
Dim drAppointment As NotesDateRange
Dim uiAppointment As NotesUIDocument
Const sStartDateTime = "05/05/2015 13:30:00"
Const sMessage = "A reminder to shut the blinds, turn off your monitor, and be green for the weekend."
Dim vFreeTime As Variant
Dim bContinue As Boolean
Set Session = New NotesSession
Set dtNow = New NotesDateTime("")
dtNow.SetNow
Set dtStart = New NotesDateTime(sStartDateTime)
Set dtEnd = dtStart
Call dtEnd.AdjustYear(1)
Set Workspace = New NotesUIWorkspace
vMailAddress = Evaluate("@MailDBName")
Set dbMail = New NotesDatabase(vMailAddress(0), vMailAddress(1))
Dim doc As NotesDocument
'Set doc = New NotesDocument (dbMail)
Set doc = dbMail.CreateDocument
Set dtStart = dtNow
doc.Form = "Appointment"
doc.Subject = "Green IT Reminder"
doc.tmpAppointmentType = "4"
doc.AppointmentType = "4"
doc.StartDate = dtStart.DateOnly
doc.StartTime = dtStart.TimeOnly
doc.Body = sMessage + Chr$(10)
doc.ReplaceItemValue "$Alarm", "1"
doc.ReplaceItemValue "_ViewIcon", 10
doc.ReplaceItemValue "CalendarDateTime", dtStart
doc.ReplaceItemValue "StartDate", dtStart.DateOnly
doc.ReplaceItemValue "StartDateTime", dtStart
doc.ReplaceItemValue "Repeats", "1"
doc.ReplaceItemValue "RepeatUnit", "W"
doc.ReplaceItemValue "RepeatInterval", "1"
doc.ReplaceItemValue "RepeatHow", "F"
doc.ReplaceItemValue "RepeatFor", 2
doc.Save True, False
doc.ReplaceItemValue "StartTime", dtStart.TimeOnly
doc.ReplaceItemValue "StartTimeZone", dtStart.TimeZone
doc.ReplaceItemValue "EndDate", dtStart.DateOnly
doc.ReplaceItemValue "EndDateTime", dtStart
doc.ReplaceItemValue "EndTime", dtStart.TimeOnly
doc.ReplaceItemValue "EndTimeZone", dtStart.TimeZone
doc.ReplaceItemValue "tmpStartDate1", dtStart
doc.ReplaceItemValue "tmpStartDateTZText", dtStart
doc.ReplaceItemValue "tmpStartTimeTZText", dtStart
doc.ReplaceItemValue "tmpEndDateTZText", dtStart
doc.ReplaceItemValue "tmpEndTimeTZText", dtStart
doc.ComputeWithForm True,False
doc.Save True, False
End Sub
Gruß
Oliver
-
Du belegst Start- und EndTimeZone mit Integerzahlen. Das wird aber dort nicht erwartet, sondern Text.
Bernhard
-
Hallo,
danke für die Antwort. Leider hat das auch nicht das Problem gelöst.
Ich habe die beiden TimeZones jetzt als festen Text hinterlegt.
Die Meldung kommt leider immer noch.
Gruß
Oliver