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

Lotus notes 如何使用按钮公式执行自定义搜索,lotus-notes,lotus-formula,Lotus Notes,Lotus Formula,我想创建一个按钮,在我的邮件的收件箱视图中搜索包含在所选文档的主题字段中找到的唯一字符串的电子邮件。为此,我创建了以下按钮公式。这将正确检索唯一字符串,但搜索本身不起作用 SearchStringLeftPart := @Left( Subject; "] ["); SearchString := @RightBack( SearchStringLeftPart; "["); @SetViewInfo([SetViewFilter];SearchString;Subject;0;0) 请有人

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

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

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

请有人告诉我@SetViewInfo是否可以用于此目的&如果可以,公式有什么问题。否则,如何使用按钮公式完成任务?

视图的第一列(排序)中是否显示了主题? IIRC,SetViewInfo仅过滤第一列上的视图,也必须对其进行排序


更新:在我吃完午饭回来后没有刷新页面,因此没有看到已经有正确的答案。

创建一个搜索视图,第一列按主题排序,然后使用视图。getAllDocumentsByKey(…)获取您搜索的文档。

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

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

创建一个公式代理“SelectSubjectSearch”,使用

  • 目标为“查看中的所有文档”

  • 选项“选择视图中的文档”

  • 公式

    选择@Contains(@LowerCase(Subject);@LowerCase(@Environment(“SubjectSearch”))

创建一个公式按钮

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

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

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

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

我看到的唯一答案是您的,Karl-Henry。奇怪的是,我还以为看到其他人在响应。。。我保证,我午餐没喝任何东西!:-)他们一定在使用那些奇特的noSQL数据库吧?谢谢你的回答,不幸的是我们的IT管理员不允许运行代理。所以我无法测试这一点,这很可悲。如果在数据库中选择“创建/代理”菜单,您真的会出错吗?是的,我会看到“您没有足够的权限保存Lotus脚本或Java代理”。这是否包括无法创建公式或简单操作代理?这两种代理类型都适用于这种情况。我又试了一次,Lotus保存了代理,尽管它说我没有特权。我现在正是通过使用上面的代码来实现这一点的。非常感谢你的帮助!