2013-06-25 3 views
0

Я вычисляю сумму часов между двумя полями: TimeIn и TimeOut, результат будет отображаться на моем вычисленном для поля отображения hoursWorked. Проблема в том, что когда я ввожу 15:00 в первое поле и 01:00 на второе поле, он ничего не отображает. Я попробовал поставить @If для выполнения двух расчетов, которые, если TimeOut меньше TimeIn, он будет использовать первое действие, но все равно ничего. Вот мой код:Lotus Notes: Расчет часов, включая следующий день

thours:[email protected](@IsNull(TimeIn) | @IsNull(TimeOut)=""; @Return(""); ""); 
seconds := @If(TimeOut < Timein;(24 + TimeIn) - TimeOut; TimeIn - TimeOut); 
hours := @Integer(seconds/3600); 
minutes := @Integer(@Modulo(seconds;3600)/60); 
output := @Right("00" + @Text(hours); 2) + ":" + @Right("00" + @Text(minutes); 2); 
@TextToTime(output) 

ответ

2

Вычислить Секундная таким образом:

seconds := TimeOut - TimeIn; 
seconds := @If(seconds < 0; seconds + 24*3600; seconds); 

Когда TimeOut меньше, то TimeIn предполагается, что временные рамки переходит от одного дня до следующего дня.

Примеры:

TimeIn TimeOut hoursWorked 
15:00 01:00  10:00 
15:00 14:45  23:45 
15:00 17:00  02:00 
+0

Wow Кнут! Ты помог мне снова здесь. Спасибо вам большое за это. – drayl