Lotus notes 如何防止Lotus Notes保存由DXL导入创建的文档?

Lotus notes 如何防止Lotus Notes保存由DXL导入创建的文档?,lotus-notes,lotusscript,Lotus Notes,Lotusscript,我通过这个链接在richtext字段中设置了一个热点-就像charm一样工作。 唯一的问题是,由于用户通常没有删除权限,因此导入创建的文档将保留在数据库中。例如,在LotusScript中,我可以创建一个新的临时文档并使用它,如果我不保存它,它就会在函数结束时消失。 DXL导入是否有类似的方法或参数,允许我在获取rtitem后直接删除文档? 或者,是否有人可以向我指出,是否可以在我通过LotusScript创建为tempdoc的文档中/文档上仅创建临时richtext项? 我在网络上的搜索没有


我通过这个链接在richtext字段中设置了一个热点-就像charm一样工作。
唯一的问题是,由于用户通常没有删除权限,因此导入创建的文档将保留在数据库中。例如,在LotusScript中,我可以创建一个新的临时文档并使用它,如果我不保存它,它就会在函数结束时消失。 DXL导入是否有类似的方法或参数,允许我在获取rtitem后直接删除文档? 或者,是否有人可以向我指出,是否可以在我通过LotusScript创建为tempdoc的文档中/文档上仅创建临时richtext项?

我在网络上的搜索没有得到任何结果,我尝试减少链接函数时总是导致错误4518(在“DXLImporter”的帮助文档中描述);如果我正确阅读了帮助,DXL端口仅支持db作为有效输出(因此期望通过DXL创建文档)。

我看不到在不创建文档的情况下导入DXL的方法

最简单的解决方案是在用户“cache.ndk”中创建临时文档。用户绝对有权删除那里的文档。因此,您需要在链接到的代码中替换行“Set db=session.CurrentDatabase”

Set db = session.Getdatabase("", "cache.ndk", false)
代码的其余部分将保持不变

或者,使用更经典的方法在服务器上运行代理来删除临时文档。创建一个删除文档的代理,将属性“Run-on-for”设置为允许删除数据库中文档的人,并使用从脚本中调用该代理

agent.RunOnServer(noteID)

我不相信你会找到更干净的方法。就我个人而言,我可能会创建自己的临时数据库,而不是使用cache.ndk,但这是因为cache.ndk对我来说是个谜,我不喜欢把我无法控制的事情弄得一团糟。克努特比我勇敢:-)谢谢@Richard:-),但是,只要在使用后不久删除文档,cache.ndk就不会有问题。这至少是我的经验…使用cache.ndk是一个很好的方法,@KnutHerrmann。我会试试的!我也做过类似的事情,使用剪贴板数据库“~clipbrd.ncf”。唯一的预防措施是确保数据库存在,如果不存在,则创建它。