Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

quickplace placebot

Posted on 2007-11-15
8
Medium Priority
?
537 Views
Last Modified: 2013-12-18
I'm trying to create an email notification placebot which should run when a form is submited.
I've tried to adopt the code from a placebot which runs on the folder in which the document created by the form "Site Location" are placed. I struggling to figure out how to refer to the current document.

Thanks,
Duncan

Sub Initialize
	On Error Goto errorhandler
	Dim ws As New notesuiworkspace
	
	Dim ss As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	Dim docMail As NotesDocument
	
	Set db=ss.GetDatabase("QKPL200/QUICKPLACE","QuickPlace/test_project/PageLibrary8525787R006D805F.nsf")
	
	
	'Set view=db.GetView("Locations")
	'Set doc=view.GetFirstDocument
	webname = Evaluate({@webdbname},doc)
	'Set doc=ss.
	Set doc=ws.CurrentDocument.Document
	'While Not doc Is Nothing
	Dim CountryEMEA As Variant
	CountryEMEA = doc.GetItemValue( "c_Country" )(0)
	
	
	Set docMail = db.CreateDocument()
	Set rtitemBody = New NotesRichTextItem(docMail, "Body")
	docMail.Form = "Memo"
	
	If  CountryEMEA(0)="Test" Then 
		docMail.Sendto="mail address 1"
	Elseif  CountryEMEA(0)="test1" Then 
		docMail.Sendto="mail address 2"
	End If
	Msgbox "sending mail"
	Print "sending mail"
	docMail.Copyto=""
	docMail.Subject="Subject text"
	Call rtitemBody.appendtext("----------------------------------------------------------")
	Call rtitemBody.addnewline(1)
	Call rtitemBody.appendtext("A Notification from Lotus QuickPlace")
	Call rtitemBody.addnewline(1)
	Call rtitemBody.appendtext("----------------------------------------------------------")	
	Call rtitemBody.addnewline(2)
	Call rtitemBody.appendtext("You can access this page either by clicking on the link below, or by copying and pasting it into your browser.")		
	Call rtitemBody.addnewline(2)
	Call rtitembody.AppendText("http://qpchaseweb.chase.com/"+Cstr(webname(0))+"/Locations/" + doc.UniversalID+"/?opendocument")	
	Call rtitemBody.addnewline(2)
	Call rtitemBody.appendtext("Regards,")
	Call rtitemBody.addnewline(1)
	Call rtitemBody.appendtext("Sender")
	Call rtitemBody.addnewline(2)
	Call rtitemBody.appendtext("----------------------------------------------------------")
	Call docMail.Send(False)
	
	
	
		'Set doc=view.GetNextDocument(doc)
'	Wend
	Exit Sub
errorhandler:
	Msgbox "Error occured in the place bot at line no. "&Erl()&" error is "&Error()
End Sub

Open in new window

0
Comment
Question by:dgoldie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 63

Expert Comment

by:SysExpert
ID: 20296141
Dim uiw As New notesuiworkspace

Dim uidoc As notesuidocument

Dim doc1 As notesdocument

Set uidoc=uiw.currentdocument  ' uidoc is the current doc via UI

Set doc1=uidoc.document  ' doc1 is the currently open document - Backend


I hope this helps !
0
 

Author Comment

by:dgoldie
ID: 20306519
Thanks for the response however I just realised I was going about this in totally the wrong way.
To create the notification I did'nt need to reference the current document, it was in fact the last document in the view I needed to reference ie. GetLastDocument



0
 
LVL 63

Expert Comment

by:SysExpert
ID: 20309892
Glad you reolved this !
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 31

Accepted Solution

by:
qwaletee earned 750 total points
ID: 20313210
Then you just need

Set view = db.getView(...)
Set doc = view.getLastDocument

By the way, NotesUiWorkspace and other NotesUI... classes do not work in placebots.  You need db.unprocessedDocument or session.documentContext, depending on how you are running.
0
 

Author Comment

by:dgoldie
ID: 20313741
The getlastdocument option works for newly created documents, is there a way of identifying the most recently updated document in a view/ folder?
0
 
LVL 31

Expert Comment

by:qwaletee
ID: 20314489
You need your view to sort by last modification date. You can build a custom view to do this.
0
 
LVL 63

Assisted Solution

by:SysExpert
SysExpert earned 750 total points
ID: 20317119
You would need a view tht is sorted by last modified date that you can access.


I hope this helps !
0
 

Author Closing Comment

by:dgoldie
ID: 31409484
Although I sort of answered my initial question, the combined contributions of qwaletee and SysExpert allowed me to gain access to a clearer understanding of the methods.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginners of Lotus Notes user this is important to know about the types of files and their location supported by IBM Notes. Mostly users are unaware about how many file types are created and what their usages are. This Article is fully dedicated…
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question