【问题标题】:Run lotusscript agent from Xpages从 Xpages 运行 lotusscript 代理
【发布时间】:2012-11-05 17:00:37
【问题描述】:

我已经在 Agent 中编写了 lotusscript 代码,我需要通过单击 Xpage 中的按钮来运行代理。

我怎样才能做到?

提前致谢

【问题讨论】:

    标签: xpages lotusscript


    【解决方案1】:

    此解决方案的一个问题可能是,当您想要使用在代理中操作的数据时,您必须在 xpage 中重新加载注释文档。这可以通过以下代码行来完成:

            var ag = database.getAgent("agentname");
        if(ag != null){
          var id = doc.noteid;
          ag.runonserver(id);
          doc.recycle();
          doc = database.getdocumentbyid(id);
           // check if the agent did its job.
           // if so do stuff otherwhise report this to the user?
        }
    

    从 8.5.2 版本开始,代理类添加了一个新方法

    agent.runWithDocumentContext(NotesDocument doc);

    此方法使用 xPage 的内存文件。因此,您无需将文档保存在代理本身中,但您可以进行更改并退出代理代码。 xpage 可以直接使用所做的更改。这为您省去了检查代理是否完成工作、重新加载文档等方面的麻烦。

    为此,您必须将代理的选项设置为

    1. 以网络用户身份运行
    2. 允许受限操作
    3. 代理类型为“代理列表选择”,目标为“无”

    【讨论】:

      【解决方案2】:

      只需在点击事件上调用它(代理使用什么语言没有区别)

      database.getAgent("agentName").run() or database.getAgent("agentName").runOnServer()
      

      注意,代理的运行时必须是这样的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-13
        • 2011-11-11
        • 1970-01-01
        • 2015-12-31
        相关资源
        最近更新 更多