26. 在Lotus Notes中配置数据

一个应用中常常有各种配置数据,比如报销科目、数据库路径、审批人员等等。在Lotus Notes中可以很方便地维护和引用这些配置数据。每一个稍有经验的Notes程序员都会按自己的喜好开发出这样的功能,然后反复使用。其基本设计都差不多,只需要一个表单和一个视图,再加上从其它地方引用的公式,这里给新手介绍的就是。

表单和视图等设计元素本来不好用文本的形式表现,虽然可以导出到XML,但是导入恢复还需要专门写程序,保真程度也有待提高。不过从8.5版本开始Designer带有了Edit with XML的功能,在Database Navigator里选中一个设计元素,右键菜单里就有这一项,编辑XML时可以随时保存并切换到设计视图检查。于是我就将表单和视图的XML粘贴在此。我使用的Designer版本是9.0,所以DXL的版本也是9.0,不过估计在8.5里使用也没问题。表单的XML:



20121204T163853,11+08 20121204T163856,54+08 20121204T163856,53+08 20121204T163856,54+08 20121204T163856,54+08 CN=Starrow Pan/OU=ABC/O=ABC CN=Starrow Pan/OU=ABC/O=ABC Option Public Option Declare Use "Commons" "Keyword"Sub Querysave(Source As Notesuidocument, Continue As Variant) Dim validator1 As New Validator() With validator1 Call .Add("Keyword","Keyword") Call .Add("Values","Values") End With If Not validator1.Validate() Then continue=False End If End Sub @Command([FileCloseWindow]) @Command([FileSave]) Reader:"*" Writers:"[Admin]" Keyword Status: ActiveInactive"Active" *Keyword: Yg4BAIQAAAAAAAAAAAA= *Values: Yg4BAIQAAAAAAAAAAAA= separate multiple values with new line
Keyword
上面的代码前面的部分是关于表单的基本信息,比如名称、修改时间和签名。将从OptionPublic这一行开始替换掉你的表单里对应的部分。运气好的话,在设计视图你看到的就和我的一样了。其实这个表单也很简单。一个读者域,保证所有人都能读。一个作者域,使得特定角色的人才能写。一个Status域,可以选择此设置文档为Active或Inactive。一个Keyword域,标记用于查找此设置的关键字。一个Values域,用于保存对应于关键字的数据。表单因用Commons脚本库,包含用于校验的Validator类。
视图的XML:




20121204T163529,81+08
20121204T163531,15+08
20121204T163531,14+08
20121204T163531,15+08
20121204T163531,15+08
CN=Starrow Pan/OU=ABC/O=ABC
CN=Starrow Pan/OU=ABC/O=ABCSELECT Form="Keyword"


@Command([Compose];"";"Keyword")@IsNotMember("[Admin]";@UserRoles)


同样<code event='selection'><formula>SELECT Form="Keyword"formula>code>之前的是基本信息和视图选项,将之后的部分替换掉你的视图的对应部分。视图的第一列是对应Keyword域的排序列,第二列对应Values域。

之后,在其它表单的选择型字段的选项公式里就可以写上类似这样的公式引用配置的数据:
list:=@DbLookup("";"";"vwKeyValues";"Education";2);
@If(@IsError(list);"";list)



你可能感兴趣的:(26. 在Lotus Notes中配置数据)