【问题标题】:How to prevent Lotus Notes from saving a document created by a DXL Import?如何防止 Lotus Notes 保存由 DXL 导入创建的文档?
【发布时间】:2014-05-31 02:16:22
【问题描述】:


我点击了这个链接,使我能够在富文本字段中设置热点 - 就像魅力一样。
http://ozinisle.blogspot.de/2010/11/lotusscript-code-to-append-hotspot-to.html

唯一的问题是,由于用户通常没有删除权限,因此导入创建的文档仍存储在数据库中。在 LotusScript 例如我可以创建一个新的临时文档并使用它,如果我不保存它,它就会在函数结束时消失。

是否有类似的 DXL 导入方式或参数允许我在获得 ritem 后直接删除文档?

或者,如果可以在我通过 LotusScript 作为 tempdoc 创建的文档中/上创建临时富文本项目,有人可以向我指出吗?
我在网上搜索没有得到任何结果,我试图减少链接函数总是导致错误4518(在“DXLImporter”的帮助文档中有描述);如果我正确阅读了帮助,DXLImporter 仅支持将 db 作为有效输出(因此期望通过 DXL 创建文档)。

【问题讨论】:

    标签: lotus-notes lotusscript


    【解决方案1】:

    我没有看到不创建文档就可以导入 DXL。

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

    Set db = session.Getdatabase("", "cache.ndk", false)
    

    其余代码保持不变。

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

    agent.RunOnServer(noteID)
    

    【讨论】:

    • 我不相信你会找到更干净的方法。就个人而言,我可能会创建自己的临时数据库,而不是使用 cache.ndk,但那是因为 cache.ndk 对我来说非常神秘,而且我不喜欢搞乱我无法控制的事情。克努特比我勇敢:-)
    • 感谢@Richard :-),但是,只要您在使用后不久删除文档,cache.ndk 就不会有问题。这至少是我的经验......
    • 使用 cache.ndk 是一个很好的方法,@KnutHerrmann。会试试的!
    • 我使用剪贴板数据库“~clipbrd.ncf”做了类似的事情。唯一的预防措施是确保数据库存在,如果不存在则创建它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多