2012-01-14 166 views
0

我有一个莲花应用和具有上有两个链接的页面:如何隐藏点击链接热点?

  1. 办理
  2. 退房

两个链接打开每日入住和退房的出席表格..

一旦用户登记我想隐藏入住链接,只显示了退房的链接...

我有一个字段“状态”出席形式告知员工是否有签入或签出。 如何在页面隐藏时使用该字段 - 当公式一旦点击时隐藏我的链接?

回答

1

首先,链接必须在单独的段落中,以便它们可以分开控制。

其次,您必须有一个视图,其中第一列是排序的,并且包含用户名,然后是日常出勤文档中字段的日期。例如,它应该是像“Joe User/Org-01-01-12”这样的格式。视图中的第二列应具有来自文档的状态。为了这个答案,我们称之为“DailyAttendance”。

第三,你有三种情况:用户在当天的出勤文件不存在,它确实存在,状态是“签入”,或者它确实存在,状态是“签出”。可能有第四种情况,文档存在但状态既不是“签入”也不是“签出”,但是你的逻辑应该尽量避免这种情况,无论如何我会写隐藏时公式因此在这种情况下两个链接都将隐藏起来。

现在,在大多数情况下,用See-When而不是Hide来思考它实际上更容易一些。因此,我将重新声明您的需求为See-Whens。您的See-WHen规则如下:

  1. 当当前用户和当天的日常出勤文档不存在时,请参阅签入热点。
  2. 当当前用户和当天的日常出勤文档存在并且文档中的状态字段为“签入”时,请参阅退出热点。

要在hide-when公式中使用see-when逻辑,您只需根据see-when规则编写公式,然后将逻辑放在最后的结果中。

你捉迷藏时包含“办理”热点看起来像这样的段落:

key := @Name([CN];@Username) + "-" + @Text(@Today); 
status := @DbLookup("Notes":"NoCache";"":"";"DailyAttendance";key;2); 
notFound := @IsError(status); 
seeWhen = notFound; 
!(seeWHen); 

大多数专家指出程序员会凝结到这一个较短的公式。我已经将它留在一步一步的格式中,使其尽可能地显而易见。

你捉迷藏时为包含“退房”热点看起来像这样的段落:

key := @Name([CN];@Username) + "-" + @Text(@Today); 
status := @DbLookup("Notes":"NoCache";"":"";"DailyAttendance";key;2); 
found := !(@IsError(status)); 
seeWhen = found & (status = "Checked In"); 
!(seeWhen) 
+0

谢谢!它很好! – Bebo 2012-01-16 07:08:19

+0

但我怎么刷新页面???只有在我刷新页面时才会更改链接...是否有刷新页面的方法?我试图呼叫gUIDoc.RefreshHideFormulas但页面上没有得到文件... – Bebo 2012-01-17 06:14:54

+0

嗯....我会说,你应该使用操作热点和调用的urlopen然后命令([RefreshHideFormulas]),但如果UIDoc.RefreshHideFormulas方法是不行的,我的猜测是,该命令将不能工作。你可以在这种情况下使用表单而不是页面吗? (注意省略的迹象,因为StackOverflow上不评论喜欢他们。) – 2012-01-18 05:04:15