Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lotus notes Lotus Notes客户端:如何确定用户';单击一个按钮来设置角色_Lotus Notes_Lotus Domino_Lotus Formula - Fatal编程技术网

Lotus notes Lotus Notes客户端:如何确定用户';单击一个按钮来设置角色

Lotus notes Lotus Notes客户端:如何确定用户';单击一个按钮来设置角色,lotus-notes,lotus-domino,lotus-formula,Lotus Notes,Lotus Domino,Lotus Formula,我想问一下如何使用按钮来确定用户的角色 我有一张表格和一个按钮。我在访问控制列表中创建了一个名为tester的角色(用于定义用户的角色) 我尝试做的是通过单击按钮来检查用户的角色。我的意思是,如果用户处于tester角色,用户单击它,则不会发生错误,并且在此阶段不会执行任何操作。如果用户不是测试人员角色,当用户第一次单击按钮时,将向用户显示一个弹出窗口/消息框,如果用户多次单击,将向用户显示另一个弹出窗口/消息框 我将下面的代码放在按钮中以执行上面提到的操作。我检查代码中没有语法错误 temp

我想问一下如何使用按钮来确定用户的角色

我有一张表格和一个按钮。我在访问控制列表中创建了一个名为tester的角色(用于定义用户的角色)

我尝试做的是通过单击按钮来检查用户的角色。我的意思是,如果用户处于tester角色,用户单击它,则不会发生错误,并且在此阶段不会执行任何操作。如果用户不是测试人员角色,当用户第一次单击按钮时,将向用户显示一个弹出窗口/消息框,如果用户多次单击,将向用户显示另一个弹出窗口/消息框

我将下面的代码放在按钮中以执行上面提到的操作。我检查代码中没有语法错误

temp := @If(disablebutton="1"; @Return(@Prompt([Ok];"";"You clicked this
button more than one time.")); @Prompt([Ok];"";"This is your first time 
to click this button."));
FIELD disablebutton:="1";

@If(@IsMember("[tester]";@UserRoles);@Success;temp)
当我尝试运行测试代码时,我注意到,如果用户不在tester角色中,那么用户将收到消息,并且工作正常

但我不明白当用户处于测试人员角色时,用户可以得到消息

如果有人能让我知道我在代码中做错了什么,我将不胜感激

多谢各位

你忠实的


初学者

您误解了公式语言。变量和字段几乎是一样的:它们可以包含值;它们不包含函数。(没有子例程。)当您为变量或字段赋值时,它是运行公式时返回的值,而不是公式本身。大多数@命令如果运行成功,将返回1(@True),如果运行不成功,将返回0(@False)

如果您想根据用户角色跳过某些内容,则必须按如下方式执行:

@If(@IsMember("[tester]"; @UserRoles); @Return(""); "");
作为公式的第一行。或者,至少是公式中你不想让用户去的地方前面的那一行。该行显示“如果用户具有角色“[tester]”,则不执行任何操作就退出此公式,否则不执行此行中的其他操作,但继续”。使用
作为公式语言中的不做任何事情(无操作)
@Success
只能用于字段验证公式。所以你的公式变成:

@If(@IsMember("[tester]"; @UserRoles); @Return(""); "");
@If(disablebutton="1"; @Return(@Prompt([Ok];"";"You clicked this
button more than one time.")); @Prompt([Ok];"";"This is your first time 
to click this button."));
FIELD disablebutton:="1"

我要感谢muenzpraeger和Stan Rogers的评论和回答

当我发布我的问题时,我忘记考虑用户界面问题,我发现这个代码对于防止无关的角色用户使用这个按钮是有用的。

!@IsMember("[tester]";@UserRoles)
我将代码插入按钮属性-->段落隐藏当选项卡-->选中时隐藏段落如果公式为true

然后当我运行测试它时,它工作了

尽管该代码有效,但我将继续研究何时在代码中使用“disablebutton”

temp := @If(disablebutton="1"; @Return(@Prompt([Ok];"";"You clicked this
button more than one time.")); @Prompt([Ok];"";"This is your first time 
to click this button."));
FIELD disablebutton:="1";

@If(@IsMember("[tester]";@UserRoles);@Success;temp)
再次感谢你的回答

多谢各位

你诚挚的


初学者

当用户担任测试人员角色时,隐藏按钮。移动非常方便-并且可以清理UI(为什么看到一个按钮对“我”没有任何作用)。隐藏东西是一种很好的UI实践,但有时您希望根据字段值的角色或您所拥有的内容有条件地执行公式的部分。亲爱的@muenzpraeger,感谢您的评论。亲爱的Stan Rogers,感谢您的评论。祝贺您,初学者,发现了“何时见”公式的价值!当公式以“!”开头时,我称之为隐藏。当你想看到某样东西而不是想隐藏它时,你几乎总是更容易想到你的设计