Autor Thema: Kalendereintrag per Mail versenden  (Gelesen 3115 mal)

Offline kruemelmaus

  • Frischling
  • *
  • Beiträge: 22
Kalendereintrag per Mail versenden
« 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

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Kalendereintrag per Mail versenden
« Antwort #1 am: 14.04.15 - 22:34:04 »
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

Offline kruemelmaus

  • Frischling
  • *
  • Beiträge: 22
Re: Kalendereintrag per Mail versenden
« Antwort #2 am: 17.04.15 - 15:58:06 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Kalendereintrag per Mail versenden
« Antwort #3 am: 17.04.15 - 16:19:44 »
Du belegst Start- und EndTimeZone mit Integerzahlen. Das wird aber dort nicht erwartet, sondern Text.

Bernhard

Offline kruemelmaus

  • Frischling
  • *
  • Beiträge: 22
Re: Kalendereintrag per Mail versenden
« Antwort #4 am: 20.04.15 - 08:27:45 »
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz