匿名用户错误时的 XPages appendDocLink

XPages appendDocLink on Anonymous User Error

我正在尝试用 XPages 中设计的表单替换我的 'traditional Notes' 用户名和密码请求表单,主要是因为@SendMail 公式不再适用于 Firefox 或 Chrome。

匿名用户要完成一个 XPage 表单,点击提交按钮,然后向我们的支持团队发送一封电子邮件,其中包括一个 Doc Link 返回到同一文档的内部 Notes 表单, - 我不想更改此内部表单,因为有很多与之相关的 lotusscript 编程需要处理。

我将 XPage 标记为可供 Public 访问,因为它是与其关联的表单。我还将 ComputeWithForm 设置为两者。

我可以访问数据文档组件,例如使用 doc.getItemValueString("field") 附加到邮件 rtf 正文,但我不能对 appendDocLink 做同样的事情,它似乎由于访问问题而失败。如果我在 ACL 中将匿名设置为管理员访问权限,则会附加文档 link。

<xp:button value="Submit" id="button1" style="margin-top:50.0px">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="false" id="eventHandler1">
<xp:this.action>
<xp:actionGroup>
<xp:saveDocument var="document1"></xp:saveDocument>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript: if(document1.isNewNote()){document1.save();}
var doc:NotesDocument = document1.getDocument(true);
var receiverEmail = "Support Requests"; 
var requestor = "xyz@company.co.uk"; 
db = sessionAsSignerWithFullAccess.getCurrentDatabase();
var memo = db.createDocument()
memo.appendItemValue("Form","Memo");
memo.appendItemValue("Principal","Company@NotesDomain");
memo.appendItemValue("From",requestor);
memo.appendItemValue("INetFrom",requestor);
memo.appendItemValue("DisplaySent",requestor);
memo.appendItemValue("SMTPOriginator",requestor);
memo.appendItemValue("Subject","NEW: Name & Password Request for "+getComponent("reqCompany1").getValue());
var rtitem:NotesRichTextItem = memo.createRichTextItem("Body");
rtitem.addNewLine();
rtitem.appendText("A new Name & Password Request has been logged by "+getComponent("reqFirstName1").getValue()+" " + getComponent("reqSecondName1").getValue()+" of "+ getComponent("reqCompany1").getValue());
rtitem.addNewLine();
rtitem.appendText("Click the Doc link to action it. ");
rtitem.appendDocLink(doc);
memo.send(receiverEmail);}]]></xp:this.script>
                                </xp:executeScript>
                                <xp:openPage name="/UserNandPSubmitted.xsp"></xp:openPage>
                            </xp:actionGroup>
                        </xp:this.action>
                    </xp:eventHandler>
                </xp:button>

出现以下错误。

com.ibm.jscript.InterpretException:脚本解释器错误,第 25 行,col=8:[TypeError] 调用方法 NotesRichTextItem.appendDocLink(lotus.domino.local.Document) 时发生异常 空

NotesException: Notes 错误: 您无权执行该操作 lotus.domino.local.RichTextItem.appendDocLink(来源不明) lotus.domino.local.RichTextItem.appendDocLink(来源不明)

如有任何帮助,我们将不胜感激。

确保匿名用户可以访问数据库的默认视图 - 因此 public 访问用户可以访问它。 appendDocLink() 方法需要此视图才能将文档 link 附加到 RT 项目。