如何使用按钮公式执行自定义搜索

时间:2014-11-07 15:10:28

标签: lotus-notes lotus-formula

我想创建一个按钮来搜索我的邮件的收件箱视图,查看包含在所选文档的主题字段中找到的唯一字符串的电子邮件。为此,我创建了以下按钮公式。这会正确检索唯一字符串,但搜索本身不起作用。

SearchStringLeftPart := @Left( Subject; "] [");
SearchString := @RightBack( SearchStringLeftPart; "[");

@SetViewInfo([SetViewFilter];SearchString;Subject;0;0)

请有人建议是否可以将@SetViewInfo用于此目的&如果是这样的公式有什么问题。否则我怎么能用按钮公式来完成任务?

3 个答案:

答案 0 :(得分:1)

不幸的是,使用@SetViewInfo无法实现这一点。

但是,结合短代理,您只能在视图中显示那些在其主题字段中具有当前文档唯一主题子字符串的文档。

使用

创建公式代理“SelectSubjectSearch”
  • 目标“视野中的所有文件”
  • 选项“选择视图中的文档”
  • SELECT @Contains(@LowerCase(Subject); @LowerCase(@Environment("SubjectSearch")))

enter image description here

创建一个公式按钮

  • 将搜索字符串写入环境变量“SubjectSearch”
  • 在菜单
  • 中选择“查看/显示/仅选择”选项
  • 调用代理“SelectSubjectSearch”

按钮代码:

SearchStringLeftPart := @Left( Subject; "] [");
SearchString := @RightBack( SearchStringLeftPart; "[");

@SetEnvironment("SubjectSearch"; SearchString);
@Command([ViewShowOnlySelected]);
@Command([ViewShowOnlyUnread]);
@Command([ViewShowOnlyUnread]);
@Command([ViewShowOnlySelected]);
@Command([RunAgent]; "SelectSubjectSearch")

棘手的部分是“查看/显示/ 仅选择”选项。由于[ViewShowOnlySelected]只是在“仅选择”和仅选择”之间切换,您不知道当前的状态是什么设置我们必须调用双[ViewShowOnlyUnread],将[ViewShowOnlySelected]重置为而不是仅选择”。第一个[ViewShowOnlySelected]将信息栏设置为“您正在看到:您选择的项目”,第二个[ViewShowOnlySelected]确实设置为“仅选择”。

答案 1 :(得分:0)

主题是否在视图的第一个(已排序)列中公开? IIRC,SetViewInfo仅过滤第一列的视图,其中必须对其进行排序。

更新:我从午餐回来后没有刷新页面,所以没有看到答案已经正确。

答案 2 :(得分:0)

创建一个搜索视图,第一列按主题排序,并使用view.getAllDocumentsByKey(...)获取您搜索的文档