使用Lotusscript删除当前文档

一直使用Notes公式来删除当前打开的文档,很长一段时间相安无事。最近有个需求,必须要编写代理来完成文档的删除工作,没想到问题就这么来了。

 

一开始很想当然的使用:

 

...

set Doc = Session.DocumentContext

call Doc.Remove(true)

 

可是一查Domino帮助,DocumentContext不能使用Remove方法,第一个尝试失败了。

 

没关系,再来,能否通过其他方法取得当前文档,从而避免使用DocumentContext?于是第二次尝试如下:

 

...

set Doc = Session.DocumentContext

set DocTemp = Session.CurrentDatabase.GetDocumentByUNID(Doc.UniversalID)

call DocTemp.Remove(true)

 

没想到,错误依旧,这下可让人挠头了~~又查了一会儿,还是无法排除错误。最后想了想,解决方法真让人哭笑不得——使用视图搜索到所需文档,然后再删除就行了。代码最终被改成下面这个样子:

 

...

set Doc = Session.DocumentContext

set View = Session.CurrentDatabase.GetView("viewByUNID")

set DocTemp = View.GetDocumentByKey(Doc.UniversalID)

call DocTemp.Remove(true)

 

其中viewByUNID视图选择公式Select @All,第一列显示公式为@Text(@DocumentUniqueID),指定排列顺序或分类以使用搜索。这样,就可以顺利地删除掉当前文档了。

你可能感兴趣的:(Lotus,Domino,项目开发)