2014-10-22 79 views
1

有视图列出了一定数量的文档,并具有视图选择表单。列(Style = Date/Time显示Time)具有公式:time_1。下一列显示:time_2莲花笔记计算查看条目的总时间/天数

与其他词:

time_1 - 时间的用户在工作。

time_2 - 用户必须是在工作时间(比方说08小时)。

有一个视图操作按钮:

t1:[email protected]("Notes":"NoCache";"server/Company":"Name.nsf";"vwSearchResult";6); 
total1:= @Sum(@ToNumber(t1)) ; 
t2:[email protected]("Notes":"NoCache";"server/Company":"Name.nsf";"vwSearchResult";7); 
total2:= @Sum(@ToNumber(t2)) ; 

zile:=(total1-total2)/8; // 8 - is the minimun number of hours/day. " I must be at work minimum 8 hours " 

@Prompt([Ok];"Time at work";@Text(total1)); 
@Prompt([Ok];"expected time";@Text(total2)); 
@Prompt([Ok];"Additional time - in days ";@Text(zile)) 

就在第二个提示是正确计算。第一个提示结果是一个整数,当然,第三个提示不会正确显示结果。

我该如何做到这一点?

+0

你确定你的@Sum(@ToNumber(t1))正在计算valide数吗?你为什么不把你的列标为数字? – poisonedYouth 2014-10-22 06:27:04

+0

因为相应的列显示为“08:00”,因此时间 – 2014-10-22 06:33:16

回答

3

公式更改为

t1:[email protected]("Notes":"NoCache";"server/Company":"Name.nsf";"vwSearchResult";6); 
total1:= @Sum(t1 - [00:00])/3600; 
t2:[email protected]("Notes":"NoCache";"server/Company":"Name.nsf";"vwSearchResult";7); 
total2:= @Sum(t2 - [00:00])/3600; 

您可以将时间值不能转换为与@ToNumber一个数字。相反,计算你的时间和00:00之间的差异。这给你你的时间秒数。

除此3600,你会得到的时间。

+0

确保您的列值全部填入时间值。将*列公式*更改为“@If(YourTimeField =”“; [00:00]; @ToTime(YourTimeField))'以确保这一点。 – 2014-10-22 09:38:52

0

我认为它能够更好地插入一列,其计算TIME_1和time_2之间的差异的看法。

你@DbColum现在对新列ANS运行计算的差异。

+0

您能举一个列公式如何显示的例子吗? – 2014-10-22 07:41:25

+0

(time_1 - time_2)/ 60将在几分钟内返回diefference – poisonedYouth 2014-10-22 07:45:47

+0

并且列的样式是?我得到:错误:不正确的数据类型... – 2014-10-22 07:48:44