Examples: PostOpen event
- This script checks if the current document's CheckedOut field
contains "Yes." If so, it displays a message telling the user that
the document is checked out.
Sub Postopen(Source As Notesuidocument) If ( source.FieldGetText( "CheckedOut" ) = "Yes" ) Then Messagebox("This document is currently checked out.") End If End Sub
- This script checks if the user has created a new document. If
so, it puts a new value in the ProblemHistory field that records when
the problem report was created.
Sub Postopen(Source As Notesuidocument) Dim dateTime As New NotesDateTime( "Today" ) If source.IsNewDoc Then Call source.FieldSetText _ ( "ProblemHistory", _ "Problem opened on " & dateTime.LocalTime ) End If End Sub
- This script checks if the user has opened an Employee Request
document in Edit mode. If so, it guides the user through the document,
based on the contents of the Owner field. The document is completed
in three stages:
- The employee enters the request. If the Owner field contains "Employee," the script prompts the employee for the text of the request. The Owner field is changed to "Manager," and the document is saved and closed.
- The manager approves or rejects the request. If the Owner field contains "Manager," the script displays a dialog box with Yes and No buttons, asking the Manager if she approves the request. The Status field gets set to either "Approved" or "Rejected," the Owner field is changed to "Human Resources," and the document is saved and closed.
- The Human Resources person approves or rejects the Manager's decision. If the Owner field contains "Human Resources," the script displays a dialog box with Yes and No buttons, asking the Human Resources person if he approves the Manager's decision. The Confirmation field gets set to either "Approved" or "Rejected," and the document is saved and closed.
This script must include the file LSCONST.LSS in order to work properly.
Sub Postopen(Source As Notesuidocument) Dim ownerType As String Dim employeeRequest As String Dim result As Integer If source.EditMode Then ownerType = source.FieldGetText( "Owner" ) Select Case ownerType ' 1. Employee enters the request in a dialog box Case "Employee": employeeRequest = Inputbox$ _ ( "Please enter your request", "Request" ) Call source.FieldSetText("Request", employeeRequest) Call source.FieldSetText("Owner", "Manager") ' 2. Manager approves or rejects the request Case "Manager": result = Messagebox _ ( "Do you approve this employee's request?", _ MB_YESNO, "Approve" ) If ( result = IDYES ) Then Call source.FieldSetText( "Status", "Approved" ) Else Call source.FieldSetText( "Status", "Rejected" ) End If Call source.FieldSetText("Owner", "Human Resources") ' 3. Human Resources approves or rejects ' the Manager's decision Case "Human Resources": result = Messagebox _ ( "Do you approve this manager's decision?", _ MB_YESNO, "Confirm" ) If ( result = IDYES ) Then Call source.FieldSetText _ ( "Confirmation", "Approved" ) Else Call source.FieldSetText _ ( "Confirmation", "Rejected" ) End If End Select ' After each step, the document is saved and closed Call source.Save Call source.Close End If End Sub