Lotus notes lotusnotes视图中的选择公式

Lotus notes lotusnotes视图中的选择公式,lotus-notes,lotus-domino,lotusscript,lotus,lotus-formula,Lotus Notes,Lotus Domino,Lotusscript,Lotus,Lotus Formula,我有一个表单(NewDocumentForm),可以在其中创建文档。还有一个字段(名称:reader\u field),用于保存可以读取此文档的ACL角色。 接下来,我创建了一个视图(MainView)来显示这些文档,但视图选择公式有问题。 我的任务是在MainView中向用户显示他有角色阅读此文档的文档(此角色位于reader\u字段) 在选择公式中,我写下下一个: SELECT(@Contains(reader_字段;@UserRoles))您可以在视图中显示所有文档。您不需要为用户选择文档

我有一个表单(
NewDocumentForm
),可以在其中创建文档。还有一个字段(名称:
reader\u field
),用于保存可以读取此文档的
ACL
角色。

接下来,我创建了一个视图(
MainView
)来显示这些文档,但视图选择公式有问题。

我的任务是在MainView中向用户显示他有角色阅读此文档的文档(此角色位于
reader\u字段

在选择公式中,我写下下一个:

SELECT(@Contains(reader_字段;@UserRoles))您可以在视图中显示所有文档。您不需要为用户选择文档,因为用户只能在视图中看到用户有权访问的文档

实际上,@UserRoles在视图选择中不起作用,因为该视图是在服务器上计算的。您可以使用私有视图,但这有很多副作用,您可能无法处理。所以,别担心。用户只能看到其角色允许查看的文档。

您可以显示视图中的所有文档。您不需要为用户选择文档,因为用户只能在视图中看到用户有权访问的文档


实际上,@UserRoles在视图选择中不起作用,因为该视图是在服务器上计算的。您可以使用私有视图,但这有很多副作用,您可能无法处理。所以,别担心。用户只能看到其角色允许查看的文档。

字段reader\u字段实际上是Notes“Readers access”字段吗

您可以通过选中Notes文档属性框中的字段来判断。对于该字段,您应该看到:

字段标志:摘要读取访问名

如果是这种情况,那么field reader_字段将自动将视图中可以查看这些文档的人限制为在该字段中具有角色的人

因此,您的选择公式可以允许所有人查看它,而readers_字段将根据需要对其进行限制。这适用于web应用程序和Notes客户端

请确保添加一个“全部捕获”读卡器字段,并且完全可能意外地使用读卡器字段隐藏doecuments,这样就没有人可以看到它们。例如,如果您添加了一个[管理员]角色(它可以位于同一文档上的另一个类型为Readers的字段中),并且只有支持人员拥有该角色,那么您就可以查看所有文档,以便于支持

如果它只是一个名为reader\u field的普通文本字段

如果是Notes应用程序: 关于你的唯一选择是使用私有视图(这里有点太多解释了)

如果是Web应用程序: 您可以按reader_字段对视图进行分类,并使用表单将视图包含在视图嵌入元素中。对用户角色使用“限制到类别”设置(如果他们的角色>1,则您可能需要加入一些逻辑来确定哪一个是合适的)


另一种选择是使用XPage显示视图,它允许您在显示数据时修剪数据。

字段reader\u字段实际上是Notes“Readers access”字段吗

您可以通过选中Notes文档属性框中的字段来判断。对于该字段,您应该看到:

字段标志:摘要读取访问名

如果是这种情况,那么field reader_字段将自动将视图中可以查看这些文档的人限制为在该字段中具有角色的人

因此,您的选择公式可以允许所有人查看它,而readers_字段将根据需要对其进行限制。这适用于web应用程序和Notes客户端

请确保添加一个“全部捕获”读卡器字段,并且完全可能意外地使用读卡器字段隐藏doecuments,这样就没有人可以看到它们。例如,如果您添加了一个[管理员]角色(它可以位于同一文档上的另一个类型为Readers的字段中),并且只有支持人员拥有该角色,那么您就可以查看所有文档,以便于支持

如果它只是一个名为reader\u field的普通文本字段

如果是Notes应用程序: 关于你的唯一选择是使用私有视图(这里有点太多解释了)

如果是Web应用程序: 您可以按reader_字段对视图进行分类,并使用表单将视图包含在视图嵌入元素中。对用户角色使用“限制到类别”设置(如果他们的角色>1,则您可能需要加入一些逻辑来确定哪一个是合适的)


另一种选择是使用XPage显示视图,这允许您在显示数据时对其进行修剪。

如果您是reader字段……或Authors类型字段的成员,则只能在视图中查看文档。请记住,在“作者”字段中列出会给您明确的权限来编辑文档(前提是您至少具有对数据库的作者访问权限),并且您不能编辑您看不到的内容。字段标志集是作者字段上的“摘要读写访问权限”。令人惊讶的是,似乎很少有人知道这一点(或者至少理解其中的含义),因此,如果你没有意识到这一点,你并不孤单。只有当你是“读者”字段或“作者”类型字段的成员时,你才能在视图中看到文档。请记住,在“作者”字段中列出会给您明确的权限来编辑文档(前提是您至少具有对数据库的作者访问权限),并且您不能编辑您看不到的内容。字段标志集是作者字段上的“摘要读写访问权限”。令人惊讶的是,似乎很少有人知道这一点(或者至少理解其中的含义),所以如果你没有意识到,并非只有您一人。但我有一个问题,即所有用户都会看到所有文档,我希望从所有文档中进行选择,以显示“在reader_”字段中已输入角色的文档,其中有打开视图的用户。如果所有用户都看到所有文档,则具有列出角色的“readers”字段可能无法用作“readers”字段。使用
SELECT@Contains(reader_field;“[”)
显示在字段读取器中具有角色的所有文档_