Link to home
Start Free TrialLog in
Avatar of dgoldie
dgoldieFlag for United Kingdom of Great Britain and Northern Ireland

asked on

quickplace placebot

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

Avatar of SysExpert
SysExpert
Flag of Israel image

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 !
Avatar of dgoldie

ASKER

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



Glad you reolved this !
ASKER CERTIFIED SOLUTION
Avatar of qwaletee
qwaletee

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of dgoldie

ASKER

The getlastdocument option works for newly created documents, is there a way of identifying the most recently updated document in a view/ folder?
Avatar of qwaletee
qwaletee

You need your view to sort by last modification date. You can build a custom view to do this.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of dgoldie

ASKER

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.