【问题标题】:Exception thrown when deleting document in XPages via doc.remove() method通过 doc.remove() 方法在 XPages 中删除文档时引发异常
【发布时间】:2014-07-23 16:15:30
【问题描述】:

我在 xp:repeat 中添加了一个删除链接以删除该行的文档,并使用“rowVar”作为重复变量以访问您的文档条目。

这里是重复中删除链接的代码:

  <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

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

【问题讨论】:

  • 是否有任何 Java 跟踪? (工作区\日志)。用户有删除权限?
  • 这是删除权限......当你需要它时,尴尬的笑脸在哪里:-[

标签: xpages repeat xpages-ssjs


【解决方案1】:

我之前已经多次看到此错误。刚刚测试确定。如果用户没有删除权限,就会抛出这种无意义的错误。

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

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

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

【讨论】:

  • 注意,如果您启用了软删除,如果您在删除前没有锁定文档,您也会收到错误
猜你喜欢
  • 2018-05-10
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 2013-05-20
  • 2016-07-02
  • 1970-01-01
相关资源
最近更新 更多