Lotus Notes:小时数

时间:2013-06-23 13:47:55

标签: lotus-notes lotus-domino lotusscript lotus-formula

我有两个可编辑的时间/日期字段TimeInTimeOut,还有一个针对显示字段hoursWorked进行了计算,它的作用是获得TimeInTimeOut并以小时:分钟显示,例如(02:30)。我决定为显示字段TimeIn_1设置另一个可编辑的时间/日期字段TimeOut_1hoursWorked字段,并为显示字段totalHours计算另一个字段,显示总数/总和小时hoursWorkedhoursWorked_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)

但没有任何反应。你能救我吗?

2 个答案:

答案 0 :(得分:1)

我不相信hoursWorked = null的第一次测试是正确的。我想你需要@IsNull(hoursWorked)。那说我认为结果仍然是假的,公式会继续。

在没有@TextToTime的情况下看看输出产生的结果可能是值得的。

答案 1 :(得分:1)

我假设您使用与此公式相同的方式计算了字段hoursWorkedhoursWorked_1。如果是这种情况,则无论您如何在表单中定义字段,字段hoursWorkedhoursWorked_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)

只有前三行与您的公式不同。