357 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
Code snippet – DateClass
Mon, Jul 21st 2014 132
I am back.
Mon, Jul 21st 2014 169
Things we don’t want to think about
Thu, May 15th 2014 421
In memory of Tim Tripcony
Mon, May 12th 2014 536
Code snippet – Disable agent using external file
Thu, May 1st 2014 270
Code snippet – jQuery
Sat, Mar 15th 2014 491
World Wide Web turning 25 years this week
Fri, Mar 14th 2014 281
Top 10
Pool party or no pool party, that is the question – or is it?
Mon, Jan 13th 2014 1362
Export Notes view to Excel – with multi-value fields
Fri, Apr 5th 2013 830
Free Tool: Analyze ACL in Notes Application/Database
Tue, Nov 15th 2011 569
Export from Notes to Excel – 3 different ways
Wed, Nov 14th 2012 567
In memory of Tim Tripcony
Mon, May 12th 2014 536
Create and update Calendar reminders from Notes document
Thu, Aug 11th 2011 528
jQuery – An Overview
Fri, Jul 19th 2013 491
Code snippet – jQuery
Sat, Mar 15th 2014 491
Connect 2014 – Chilly evenings in Orlando
Fri, Jan 24th 2014 451
Things we don’t want to think about
Thu, May 15th 2014 421


Create and update Calendar reminders from Notes document
Karl-Henry Martinsson    

At work I was asked yesterday if I could give the users a button to set reminders for meetings/actions directly from a document in one of our Notes applications. So I created a simple solution where I added two action buttons and a field to the form from which the calendar entry (reminder) would be created.

I wanted to share this code. It is nothing complicated, and the main functionality consists of some code Palmi Lord posted in LDD last year.

The new field on the form is called 'CalendarUNID' and will contain the Universal ID of the calendar entry. If the field is blank, I will display the 'Add to Calendar' button, if it contains a value I will display the button 'Update Calendar Entry' instead. This field is also used by the update function to get to the original calendar entry. Note that the reminder is created in the current user's calendar, and can only be successfully updated by the same user.
The date field used is named 'InspedtionDate', and I set the time to 8am. In the reminder I am also putting the address of the insured (the application is used by an insurance company) in the location field, and the insured/account name and policy number in the subject field.

 

'Add to Calendar' button

Hide-when formula:

CalendarUNID!="" | InspectionDate=""

Lotusscript Code:

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim calentry As NotesDocument
   Dim appdate As NotesDateTime
   Dim location As String
   Dim subject As String
   Dim calunid As String
 
   Set uidoc = ws.CurrentDocument
   Set appdate = New NotesDateTime(uidoc.FieldGetText("InspectionDate") _
   & " 08:00:00 AM")
   ' Get physical location of insured
   location = uidoc.FieldGetText("LocAddress") & ", "
   location = location & uidoc.FieldGetText("LocCity") & ", "
   location = location & uidoc.FieldGetText("LocState") & " " _
   & uidoc.FieldGetText("LocZIP")
   ' Build subject line for reminder
   subject = "Inspection Due ("
   subject = subject & uidoc.FieldGetText("AccountName") & " - "
   subject = subject & uidoc.FieldGetText("PolicyNumber") & ")"
   calunid = createReminder( appdate, location, subject)
   Call uidoc.FieldSetText("CalendarUNID", calunid)
   Call uidoc.Save()
   Call uidoc.Refresh
End Sub


Function createReminder( dateTime As notesDateTime, _
   location As String, subjectStr As String ) As String
   Dim sess As New NotesSession
   Dim userMailDb As New NotesDatabase( "", "" )
   Call userMailDb.OpenMail
   Dim reminderDoc As New NotesDocument( userMailDb )
   Dim DTItem As NotesItem
 
    With reminderDoc
      .Form = "Appointment"
      .ReplaceItemValue "$Alarm", 1
      .ReplaceItemValue "$AlarmDescription", subjectStr
      .ReplaceItemValue "$AlarmMemoOptions", ""
      .ReplaceItemValue "$AlarmOffset", 0
      .ReplaceItemValue "$AlarmUnit", "M"

      .Subject = subjectStr
      .Alarms = "1"

      .CalendarDateTime = dateTime.lsLocalTime
      .StartDate = dateTime.lsLocaltime
      .StartTime = dateTime.lsLocaltime
      .StartDateTime = dateTime.lsLocaltime
  
      .EndDate = dateTime.lsLocaltime
      .EndTime = dateTime.lsLocaltime
      .EndDateTime = dateTime.lsLocaltime
  
      .AppointmentType = "4"
       .Location = location
      .Category = "Service Plan Activity"
      .Save True, False
       .ComputeWithForm True, False
      .Save True, False
      .PutInFolder( "$Alarms" )
   End With
   createReminder = reminderDoc.UniversalID
End Function

'Update Calendar Entry' button:

Hide-when formula: CalendarUNID=""

Lotusscript Code:

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim session As New NotesSession
   Dim calentry As NotesDocument
   Dim appdate As NotesDateTime
   Dim location As String
   Dim subject As String
   Dim calunid As String

   Set uidoc = ws.CurrentDocument
   Set appdate = New NotesDateTime(uidoc.FieldGetText("InspectionDate") _
   & " 08:00:00 AM")
   ' Get physical location of insured
   location = uidoc.FieldGetText("LocAddress") & ", "
   location = location & uidoc.FieldGetText("LocCity") & ", "
   location = location & uidoc.FieldGetText("LocState") & " " _
   & uidoc.FieldGetText("LocZIP")
   ' Build subject line for reminder
   subject = "Inspection Due ("
   subject = subject & uidoc.FieldGetText("AccountName") & " - "
   subject = subject & uidoc.FieldGetText("PolicyNumber") & ")"
   calunid = uidoc.FieldGetText("CalendarUNID")
   Call updateReminder(calunid, appdate, location, subject)
   Call uidoc.Save()
   Call uidoc.Refresh
End Sub

Sub updateReminder(unid As String, dateTime As notesDateTime, _
   location As String, subjectStr As String )
   Dim sess As New NotesSession
   Dim userMailDb As New NotesDatabase( "", "" )
   Call userMailDb.OpenMail
   Dim reminderDoc As NotesDocument
   Dim DTItem As NotesItem
 
   Set reminderDoc = userMailDB.GetDocumentByUNID(unid)
   If reminderDoc Is Nothing Then
      Msgbox "Failed to locate calendar entry."
       Exit Sub
    End If
   With reminderDoc
       .ReplaceItemValue "$AlarmDescription", subjectStr
      .Subject = subjectStr

      .CalendarDateTime = dateTime.lsLocalTime
      .StartDate = dateTime.lsLocaltime
       .StartTime = dateTime.lsLocaltime
      .StartDateTime = dateTime.lsLocaltime
  
       .EndDate = dateTime.lsLocaltime
      .EndTime = dateTime.lsLocaltime
      .EndDateTime = dateTime.lsLocaltime
  
      .Location = location
      .Save True, False
      .ComputeWithForm True, False
      .Save True, False
   End With
End Sub

 

 



---------------------
http://www.bleedyellow.com/blogs/texasswede/entry/createcalendarfromnotesdocument
Aug 11, 2011
529 hits



Recent Blog Posts
132


Code snippet – DateClass
Mon, Jul 21st 2014 6:45p   Karl-Henry Martinsson
Here is a small Lotusscript class I wrote some years ago. I use it in a number of other classes where I need to use date functionality of different kind. For example, I have a class that communicates with a FoxPro database, using a COM object. Some of the methods in that class uses XML while […] [read] Keywords: domino lotusscript database xml
169


I am back.
Mon, Jul 21st 2014 5:25p   Karl-Henry Martinsson
On June 11 I had some major surgery at Medical City in Dallas. It was a planned surgery to remove part of my intestines to prevent future outbreaks of diverticulitis. I been having about 2-3 outbreaks a year for the last 12 years or so. Normally they perform surgery after just 2 severe cases. I was not […] [read] Keywords:
421


Things we don’t want to think about
Thu, May 15th 2014 8:48a   Karl-Henry Martinsson
Two separate incidents are leading me to write this blog entry. First, the way too early passing of Tim Tripcony just a few days ago, as well as as the loss of Rob Wunderlich, Jens Augustiny and Kenneth Kjærbye in just a little over a year. All of those members of the Lotus Community left us way […] [read] Keywords: lotus community
536


In memory of Tim Tripcony
Mon, May 12th 2014 8:15p   Karl-Henry Martinsson
A couple of hours ago, I was reached by the terrible news that Tim Tripcony is no longer with us. I have known Tim for several years, and meeting him at Lotusphere (later Connect) was always a treat. He is one of the most brilliant programmers I have met, and he always had time to talk […] [read] Keywords: ibm lotusphere
270


Code snippet – Disable agent using external file
Thu, May 1st 2014 9:24p   Karl-Henry Martinsson
Yesterday I was asked to create a system that would let us disable agents running on a Domino server in an easy way, before the Domino server comes back from a crash. For a while we have been having one particular agent crash, taking the whole Domino server down with it. It only happens occasionally, and seems to be related to the document being processed. When the server comes up after a crash like that, a consistence check is done, then the agent manager launches the agent again, causing th [read] Keywords: agent domino script library server
491


Code snippet – jQuery
Sat, Mar 15th 2014 11:43a   Karl-Henry Martinsson
This morning I was working on a web application, and I came up with a pretty neat and simple little solution. So I just wanted to share it, in case anyone else need something similar. I have a webpage with an HTML form. Each input tag has an attribute called notesfield, matching the name of the field in Notes where the value is stored: First Name Initial Last Name Then I created a simple function that will call an agent on the Domino server, which will return all th [read] Keywords: agent domino notes ajax application database server
281


World Wide Web turning 25 years this week
Fri, Mar 14th 2014 3:02p   Karl-Henry Martinsson
In some articles it is claimed that Internet turns 25 years old this week, which of course is not true. But the World Wide Web is. It was on March 12, 1989 that Tim Berners-Lee wrote a proposal for a hypertext system that would become what we call “the web”. In 1991 the first webpage was created and published at CERN. Since then the web has exploded. I first got in touch with web pages and HTML in 1994, and in 1995 I had my own little server running on my work computer. I don’t [read] Keywords: lotus notes ajax development email google instant messaging javascript network server wiki wireless




397


Connect 2014 – Day 0 (Saturday)
Mon, Jan 27th 2014 6:03a   Karl-Henry Martinsson
After not hearing the alarm this morning and therefore missing my original flight from DFW to MCO (Orlando International), I got booked on the next flight. I was in the air just a couple of hours late, and arrived at Dolphin in time for BALD at Big River on the Boardwalk. Had a great time connecting with friends after a year of not seeing many of them. Of course I got a hug from Mat Newman, meaning that IBM Connect started for real. Låter I was going to hit ESPN, but due to changes there, [read] Keywords: ibm
451


Connect 2014 – Chilly evenings in Orlando
Fri, Jan 24th 2014 9:42a   Karl-Henry Martinsson
Countdown to Connect 2014 It looks like the evenings next week week will be a little bit chilly. So it might be a good idea to bring something warm to wear for the Tuesday party at Disney’s Hollywood Studios. Hope to see you in Orlando! [read] Keywords: collaboration ibm
348


Connect 2014 – More about the sessions
Wed, Jan 22nd 2014 12:02p   Karl-Henry Martinsson
Countdown to Connect 2014 The sessions at Lotusphere/Connect are focusing more and more on XPages each year. I don’t think there are really any sessions about classic Notes development this year. Currently I am not able to use XPages at work, due to the client environment we run (Lotus Notes 8.5.2 Basic in Citrix), but the sessions are still great (see video below) and I am learning new things every year. Hopefully we will soon switch the client to IBM Notes 9.0 so I can use all th [read] Keywords: admin domino ibm lotus lotusphere notes xpages citrix development network office




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition