示例我有 2 个视图:
- 轮廓
- 交易
在交易表单中,我希望能够从视图中搜索文档(使用姓氏和名字)并获取地址并插入到交易中的计算地址字段中。
我正在考虑在 postOpen 事件中插入 LotusScript。
一个例子会有很大帮助。
示例我有 2 个视图:
在交易表单中,我希望能够从视图中搜索文档(使用姓氏和名字)并获取地址并插入到交易中的计算地址字段中。
我正在考虑在 postOpen 事件中插入 LotusScript。
一个例子会有很大帮助。
你在编码方面有什么经验?如果您不熟悉这一切,您应该从公式语言开始: 首先:与您的解决方案的外观无关,视图的第一个排序列必须包含您的搜索键。
最佳实践是为此使用单独的隐藏视图,以免干扰用户对视图设计的期望。
第二列包含一个计算字符串,其中包含您希望在另一个文档中拥有的所有信息,由特殊字符分隔(~ 是一个非常常见的字符)该列中的公式可能如下所示:
City + "~" + Zip + "~" + StreetAddress + "~" + PhoneNumber
然后在您的表单中使用以下代码创建一个计算字段(例如 LookupData):
_lkp := @DbLookup("":"NoCache";"";"NameOfHiddenView";"HereIsYourSearchKey";2)
@If( @IsError( _lkp ); ""; _lkp )
您将在该字段中拥有来自给定名称/键的所有数据,并且可以使其他字段从中计算。例如,您有一个名为“City”的字段。其公式为:
@Word(LookupData; "~"; 1)
“电话”字段将具有以下公式:
@Word(LookupData; "~"; 4)
而已。
当然这也可以在 LotusScript 中完成......这看起来像(在 Postopen 事件中):
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim view as NotesView
Dim strKey as String
Dim docLkp as NotesDocument
Dim doc as NotesDocument
Set doc = Source.document
Set db = ses.CurrentDatabase
Set view = db.getView("NameOfHiddenView")
StrKey = "HereIsYourSearchKey"
Set docLkp = view.GetDocumentByKey(strKey, True)
Call doc.ReplaceItemvalue( "City", docLkp.GetItemValue("City")
Call doc.ReplaceItemvalue( "Phone", docLkp.GetItemValue("PhoneNumber")
这段代码中没有错误处理,没有检查文档是否真的存在等等......只是将它作为一个起点......