Lotus notes Lotus Notes:小时总数

Lotus notes Lotus Notes:小时总数,lotus-notes,lotus-domino,lotusscript,lotus-formula,Lotus Notes,Lotus Domino,Lotusscript,Lotus Formula,我有两个可编辑的时间/日期字段,TimeIn和TimeOut,还有一个是为显示字段hoursWorked计算的,它所做的是获取TimeIn和TimeOut之间的差异,并以小时为单位显示它,例如(02:30小时)。我决定在_1和TimeOut_1字段中设置另一个可编辑的时间/日期字段TimeIn,并为显示字段hoursWorked计算,另一个为显示字段totalHours计算,该字段显示hoursWorked和hoursWorked_1的总小时数/总小时数。我尝试了以下代码: thours:=@I

我有两个可编辑的时间/日期字段,
TimeIn
TimeOut
,还有一个是为显示字段
hoursWorked
计算的,它所做的是获取
TimeIn
TimeOut
之间的差异,并以小时为单位显示它,例如(02:30小时)。我决定在_1和
TimeOut_1
字段中设置另一个可编辑的时间/日期字段
TimeIn,并为显示字段
hoursWorked
计算,另一个为显示字段
totalHours
计算,该字段显示
hoursWorked
hoursWorked_1
的总小时数/总小时数。我尝试了以下代码:

thours:=@If(hoursWorked=null | hoursWorked_1=null; @Return(""); "" );
seconds := hoursWorked+hoursWorked_1;
hours := @Integer(seconds/3600);
minutes := @Integer(@Modulo(seconds;3600)/60);
output := @Right("00" + @Text(hours); 2) + ":" + @Right("00" + @Text(minutes); 2);
@TextToTime(output)

但什么也没发生。你能帮我吗?

我认为hoursweed=null的第一个测试是不正确的。我想你需要@IsNull(工作小时数)。也就是说,我认为结果仍然是错误的,公式将继续下去


如果不使用@TextToTime,可能值得一看输出结果

我假设您计算字段的
hoursweed
hoursweed_1
的方法与所示公式相同。如果是这种情况,则无论您如何在表单中定义字段,文档中的
hoursWorked
hoursWorked_1
字段都来自类型“日期/时间”

这就是为什么你的公式应该是这样的:

thours:=@If(@IsNull(hoursWorked) | @IsNull(hoursWorked_1); @Return(""); "" );
nullTime := @ToTime("00:00");
seconds := (@ToTime(hoursWorked) - nullTime)+ (@ToTime(hoursWorked_1) - nullTime);
hours := @Integer(seconds/3600);
minutes := @Integer(@Modulo(seconds;3600)/60);
output := @Right("00" + @Text(hours); 2) + ":" + @Right("00" + @Text(minutes); 2);
@TextToTime(output)

只有前三行与公式不同。

totalHours字段的类型是什么?在第一行代码中,你想做什么?如果你移除它会发生什么?(顺便说一句:您知道null在Notes公式语言中不是一个关键字吗?它充当对一个名为“null”的变量的引用——在大多数情况下,它当然是未初始化的,但在理论上可能有一个非null值。)
totalHours
字段的类型是文本。第一行代码是检查两个字段的值是否为null,并返回值0,因为我有时会出错,对吗?我尝试使用您的代码,但仍然没有输出。我不明白为什么。我换了第三行-请再试一次。
hoursrworked
hoursrworked\u 1
是否以格式“hh:mm”显示?是。它以“hh:mm”格式显示。仍然没有结果。当我减去它们时,它会给出一个结果。这也取决于时间本身。如果秒数总和超过最大值,那么您也会得到一个错误(在本例中为零),我现在明白原因了。但是,我如何设置它来扩展它所能容纳的值呢?比如200小时59分钟?它可能是正确的,而且可能工作正常。Null不是关键字,因此它被解释为变量(或字段)。变量没有显式初始化,因此它的计算结果为空值。我在帮助数据库中找不到此空值的明确定义,但对于字段,它被指定为“”。我假设变量也是这样。