【问题标题】:Passing of parameter from Database1-Agent to Database2-Agent using Lotusscript使用 Lotusscript 将参数从 Database1-Agent 传递到 Database2-Agent
【发布时间】:2021-12-02 13:47:53
【问题描述】:

请问是否可以使用代理从Database1传递参数(例如:fieldA和fieldB值),并触发Database2-agent接受正在传递的参数?

不确定是否可行。谢谢!

【问题讨论】:

  • 为什么不能简单地从第一个代理调用第二个代理作为函数?
  • 另一种方法是在 database2 中创建一个代理并直接从那里访问 database1 中的数据。这可能会更容易和有弹性。
  • 还有一个:给database2发一封邮件。完整记录... ;-)
  • 嗨@D.Bugger,请问它是如何完成的?
  • 嗨@KnutHerrmann,客户不想这样做。他们想要代理到代理的场景。

标签: lotus-notes lotusscript


【解决方案1】:

有一个部分未记录的函数可以将完整的内存文档传递给代理而不保存它。就像这样,您可以将任何东西从一个代理传递给另一个代理。但它只有在一个代理调用另一个代理时才有效:

Dim ses as New NotesSession
Dim db2 as NotesDatabase
Dim agent2 as NotesAgent
Dim docTemp as NotesDocument

Set db2 = New NotesDatabase( "Server", "db2Path.nsf" )
Set agent2 = db2.GetAgent( "NameOfAgent2" )

Set docTemp = New NotesDocument( db2 )

docTemp.Parameter1 = "Some string"
docTemp.Parameter2 = "Another String"
docTemp.AnyNameYouWant = 3

Call agent2.runWithDocumentContext( docTemp )

然后在代理 2 中访问文档,如下所示:

Dim ses as New NotesSession
Dim docTemp as NotesDocument

Set docTemp = ses.DocumentContext

param1 = docTemp.Parameter1
param2 = docTemp.Parameter2
numParam1 = docTemp.AnyNameYouWant

【讨论】:

  • 谢谢你,托德!帮了我很大的忙。
  • 您好 Tode,请问是否可以将参数从数据库 1 的代理 1 传递到数据库 2 的代理 2?显然,客户不喜欢创建临时文档的想法。他们想要一种带参数的代理到代理的方法。例如:Agent 1 将遍历视图,查看哪个匹配条件,从文档中检索信息:姓名、年龄,然后将其传递给 Agent 2 以在数据库 2 中进行处理。
  • 这是不可能的。为什么不在 Database2 的 Agent2 中实现 all?你的方法是不必要的复杂......
  • 我同意,“客户不喜欢这个想法”在讨论中并不是一个真正有效的论点。临时文档没有问题:它只是一个内存文档,甚至不需要将其保存到数据库中!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-06
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 2017-05-16
  • 1970-01-01
相关资源
最近更新 更多