不确定我做错了什么,但这里是代码
1: var currDoc:NotesDocument = currentDocument;
2: var doc:NotesDocument = database.createDocument();
3: doc.replaceItemValue("form", "Memo");
4: doc.replaceItemValue("sendTo", currDoc.getItemValueString("responsible"));
5: doc.replaceItemValue("subject", currDoc.getItemValueString("replySubject"));
6: var rtitem:NotesRichTextItem = doc.createRichTextItem("Body");
7: rtitem.appendText("The following more information request has been answered:");
8: rtitem.addNewLine(2);
9: rtitem.appendText("Subject: " + currDoc.getItemValueString("replySubject"));
10: rtitem.addNewLine(2);
11: rtitem.appendText("Reply Text: " + currDoc.getItemValueString("replyText"));
12: rtitem.addNewLine(2);
13: rtitem.appendDocLink(currDoc);
14: doc.send();
第13行的问题(有什么可能性) 执行JavaScript动作表达式时出错 脚本解释器错误,line = 13,col = 8:[TypeError]方法NotesRichTextItem.appendDocLink(NotesXspDocument)未找到,或非法参数,当我注释掉第13行时,其余代码工作正常,发送包含来自内容的电子邮件我试图传递给电子邮件的文件。
答案 0 :(得分:5)
一些事情......
首先确保您的NSF具有默认视图设置。如果没有默认视图,Doclinks将无效。您可以通过设计师的其中一个视图旁边的金色星形来判断是否存在默认视图。
从错误消息中看,您将NotesXspDocument传递给appendDocLink方法,而期望NotesDocument。第一行代码应该是
var currDoc:NotesDocument = currentDocument.getDocument(true)
此外,此时已保存文档,如果没有,则应添加一行
currDoc.save(true,true)
这将确保文档已保存,如果没有文档UNID,则无法发送DocLink,未保存的文档将没有有效的UNID。