注释视图:如何仅显示特定字段中用户名下的文档

时间:2015-08-17 18:34:16

标签: lotus-notes lotusscript notesview

我想向访问该视图的用户显示他或她下面的文档。

例如:如果我有一个名为“ Name ”的字段。视图中有23个文档和所有这些文档,但只有五个文档在“名称”字段下有我的名字。我想在视图中显示我下面的所有文件,这些文件将是五个文件。

你能帮帮我吗?我非常感激。

3 个答案:

答案 0 :(得分:5)

创建一个嵌入视图的页面 按字段Name对视图进行分类 将嵌入视图的属性“显示单个类别”放入公式@UserName
@Name([CN]; @UserName)取决于您的字段Name的格式 显示页面而不是视图。

通过这种方式,您可以避免使用“首次使用时共享,私有”视图或类似方法,并且用户只能查看自己的文档。

答案 1 :(得分:3)

您是出于方便目的还是出于安全目的而这样做?如果是后者,那么Notes有一个名为Readers(或Reader Names)字段的功能,它可以完全满足您的需求。即,如果为名为Names的字段类型选择“Readers”,则数据库中的所有视图都将按您希望的方式运行。即,它们将仅向每个用户显示名称字段中具有其名称的文档。

这有几点需要注意......

  • “名称”字段必须具有“允许多值”属性。 (对于您可以考虑的大多数解决方案,这可能都是正确的。
  • “名称”字段中的用户名应为规范格式或平面(仅限普通名称)格式。
  • 在刷新这些文档中的字段之前,更改字段类型不会影响现有文档。
  • 通常最好为所有文档的Names字段的值添加一个角色,以便在数据库ACL中被授予角色的管理员可以看到所有文档。

答案 2 :(得分:2)

如果您需要 Lotus Client仅使用 ...您可以这样做,但它很棘手,需要对Notes视图有一点熟悉。

您需要创建一个" 首次使用时共享,桌面私密"视图。您必须从头开始创建新视图,因为您无法转换现有的"标准"一个进入"私人"一。 这样做的选项是在"创建视图"对话框,在“视图名称”字段右侧的“视图类型”下拉列表下。

除了视图列表中的名称外,私人视图将显示黄色键。

私有视图与共享视图的不同之处在于,只要用户第一次打开视图本身,就会将视图本身复制到客户端桌面文件 (包括您!)。对于第一个之后的每个后续打开,使用(本地)客户端副本而不是(共享)服务器副本。

这有一个优点和两个缺点。

  • 现在您可以根据@UserName功能定义自定义选择公式。 例如,根据您的请求,您可以将选择公式定义为 SELECT ((Form = "MyForm") & (Name = @UserName)) 这样做的每个用户将打开所述视图一次,将会看到仅文档,其中表单字段为" MyForm"并且名称字段等于他们的用户名

  • 缺点是,如果您需要对私有视图执行维护(例如:更改,添加或删除列),则需要清除打开视图的所有客户端上的所有本地副本。 只需从Notes桌面删除应用程序图标即可执行此操作(弹出窗口将警告您删除图标将删除本地存储的视图)并重新打开它。 如果您不这样做,客户端将继续使用存储在本地存储副本中的旧视图设计,而不是新编辑的新视图设计。 此外,如果您通过webbrowser 使用该应用程序,私人观点不起作用,这是第二个主要缺点

避免需要删除应用程序图标以清除旧视图设计的一个技巧是,每次需要编辑视图时,都会以不同的方式命名视图,从而强制用户存储另一个新鲜副本(例如,如果通过大纲链接访问视图)。但是这会留下许多脏客户端,其中存有旧的死视图,如果用户可以访问"右键单击>去到"菜单。

关于"共享,桌面私密和#34;还要记住两件事。的观点:

  • 它们存储在本地desktop*.dsk文件中。删除此类文件还会从所有用户客户端中打开的应用程序中删除所有隐私视图。
  • 他们依赖客户端,而非用户依赖。这意味着使用来自其他客户端的应用程序的同一用户将使用该客户端上存储的视图,这些视图可能之前已由其他用户访问过,因此将是由该用户名定制。