通过doc.remove()方法删除XPage中的文档时抛出异常

时间:2014-07-23 16:15:30

标签: xpages repeat xpages-ssjs

我在xp中添加了一个删除链接:重复删除该行的文档,使用" rowVar"重复访问thye文档条目的变量。

以下是重复中删除链接的代码:

  <xp:link escape="true" id="link2"
                style="width:50.0px;display:inline-block" text="Delete">
                <xp:eventHandler event="onclick" submit="true"
                    refreshMode="partial" refreshId="panelChemLog" immediate="true">
                    <xp:this.action><![CDATA[#{javascript:
                    var deleteUNID = rowVar.getUniversalID();
                    println(deleteUNID);
                    var doc:NotesDocument = database.getDocumentByUNID(deleteUNID);
                    println(doc.getCreated() );
                    doc.remove(true);
                   }]]></xp:this.action>
                </xp:eventHandler>
            </xp:link>

我包含了println语句,我可以在我的日志中看到deleteUNID和doc对象已设置,但代码会在最终的doc.remove(true)语句中抛出此异常:

 Script interpreter error, line=5, col=5: [TypeError] Exception occurred calling method NotesDocument.remove(boolean) null

如何编码删除链接以删除重复行中的文档?

1 个答案:

答案 0 :(得分:3)

我几次见过这个错误。刚测试确定。如果用户没有删除权限,则会抛出这样一个毫无意义的错误。

如果查看Java堆栈跟踪,可以通过跟踪底部的以下内容进行确认。

  

NotesException:Notes错误:您无权执行该操作   操作

您可以在代码中使用database.queryAccessPrivileges(...)方法。