0

我有一个网络表单,当按下按钮时应该从字段中提取名称列表并发送邮件。邮件没有发送....这是莲花脚本...在此先感谢

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
4

2 回答 2

0

如果您使用表单而不是 XPage,则需要将代码放在代理中并将该代理设置为表单的WebQuerySave代理。从 Web 访问时,按钮下的 LotusScript 将不会运行。

此外,您不能像NotesUIWorkspace在后端代码中那样使用 UI 类。

于 2013-08-15T08:54:45.940 回答
0

您可以将该 Lotusscript 代码移动到具有触发器“代理列表选择”和目标“无”的代理,并从 Web 表单中通过此@command 使用@formula(不是 lotusscript)按钮:

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

当 Panu Haaramoroperties 说按钮中的 Lotusscript 单击事件在 Web 表单中不起作用但 @commands 确实起作用时,他是对的。

当他说您必须替换 NotesUIWorkspace 参考时,他也是正确的。您可以开始使用:

s.documentContext 而不是 ws.CurrentDocument

于 2013-09-21T22:00:00.517 回答