Steve Smythe
Steve Smythe

Reputation: 1

Lotus Notes - Web form agent - not sending email

I have a web form that when the button is pressed should pull a list of names from a field and send a mail. The mail isn't sending.... Here is the lotus script... thanks in advance

Sub Click(Source As Button)
    Dim s As New NotesSession
    Dim ws As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim mdoc As NotesDocument
    Dim ddoc As NotesDocument
    If ws.CurrentDocument.IsNewDoc Then
        Call ws.CurrentDocument.Save
        Set db = s.CurrentDatabase
        Set view = db.GetView("deptLookup")
        Set doc = ws.CurrentDocument.Document
        dept$ = doc.ProcDeptAssoc(0)
        Set ddoc = view.GetDocumentByKey(dept$)
        If ddoc Is Nothing Then
            Msgbox "Department not found"
        Else
            Set mdoc = New NotesDocument(db)
            mdoc.Subject =  "Comment made on procedure " + doc.ProcNo(0) +" - "+doc.ProcName(0)+ " by  " + doc.CreatedBy(0) 
            Dim rtitem As New NotesRichTextItem(mdoc, "Body")
            Call rtitem.AppendText("Requires the approval of " +doc.approver(0)+", click the link and the approve or deny the request.  ")
            Call rtitem.AddNewline(1)
            Call rtitem.AppendDocLink(doc, "CommentsDoc")
            receipients = ddoc.NotifyName
            mdoc.SendTo = receipients
            mdoc.Send(False)
        End If
    Else
        Call ws.CurrentDocument.Save
    End If
    ws.CurrentDocument.Close
End Sub

Upvotes: 0

Views: 453

Answers (2)

Johann Echavarria
Johann Echavarria

Reputation: 9945

You can move that Lotusscript code to an agent with trigger "agent list selection" and target "none" and from the web form to use a @formula (not lotusscript) button with this @command:

@Command([RunAgent];"NAME_OF_YOUR_AGENT");

Panu Haaramoroperties is right when he says than the Lotusscript click event in buttons doesn't works from web forms but @commands do work.

He es also right when he said the you have to replace NotesUIWorkspace reference. You can begin using :

s.documentContext instead ws.CurrentDocument

Upvotes: 0

Panu Haaramo
Panu Haaramo

Reputation: 2932

If you use a form instead of an XPage you will need to place your code in the agent and set that agent as WebQuerySave agent of the form. LotusScript under the button will not run when accessed from the web.

Also you cannot use UI classes like NotesUIWorkspace in backend code.

Upvotes: 0

Related Questions