Time Clock & Punch Editor - Custom Navigation Flow: Uses Employee Entities not Users

There is a small bug with the above post (from Jesse) beta Time Clock in the Punch Report. The bug will happen if you edit the Start or End time in the Punch Editor…The Punch Report doesn’t add/subtract the corrected time. Here is the modified Punch Report I use (with totals).

[Punch Report:2.5,2.5,2,1.5,1.5,1.5, 1.5]
Clocked In Date & Time|Clock Out Date & Time|Duration|Break|Total Hrs|Reported Tips
@{REPORT TASK DETAILS:TSC.User.asc:(TST=Punch) && T.Completed=True:,}
$1
{REPORT TASK DETAILS:
T.StartDate,
T.StartTime,
T.EndDate,
T.EndTime,
T.Duration;fm\:h\ \h\r\ m\ \m,
TSD.Break.sum;fs\:h\:mm,
=([T.Duration]-([TSD.Break]/60));fm\:h\:mm,
TSCN.Tip.sum
:(TST=Punch) && T.Completed=True && (TSC.User=$1)
:[=FD(‘{0}’,‘ddd M/d’)] [=FD(‘{1}’,‘hh:mm tt’)]|[=FD(‘{2}’,‘ddd M/d’)] [=FD(‘{3}’,‘hh:mm tt’)]|{4}|{5}|{6}|${7}}
Totals for $1| # Entries: {REPORT TASK DETAILS:T.EndDate.count:(TST=Punch) && T.Completed=True && (TSC.User=$1)}|{REPORT TASK DETAILS:[T.Duration.sum]/60,[T.Duration.sum]%60,[TSD.Break.sum]/60/60,[TSD.Break.sum]/60%60,=[([T.Duration]-([TSD.Break]/60)).Sum] / 60,=[([T.Duration]-([TSD.Break]/60)).Sum] % 60:(TST=Punch) && T.Completed=True && (TSC.User=$1):[=F(TN(‘{0}’),‘00’)] hrs [=F(TN(‘{1}’), ‘00’)] mins|[=F(TN(‘{2}’),‘0’)]:[=F(TN(‘{3}’),‘00’)]|[=F(TN(‘{4}’),‘0’)]:[=F(TN(‘{5}’),‘00’)]}|$ {REPORT TASK DETAILS:TSCN.Tip.sum:(TST=Punch) && (TSC.User=$1)}
Persons on this Report: {REPORT TASK DETAILS:TSC.User.asc:(TST=Punch) && T.Completed=True:,}

1 Like

Thanks Bob! Yes it’s a shame we couldn’t finish it together. Emre left us right around the time we were inventing this.

I’ll admit the report isn’t very clean looking. I’m sure Emre would have some trick up his sleeve to clean it up alot! :cry:

thank you guys just have to complete the widjet sceen?

What do you mean widget screen?

Thanks I figured out everything work well :grin:

Thanks so much for the work you’ve put on this special feature over the years Jesse.

I’ve followed this post and the v4 tutorial post closely (Time Clock: Linked to SambaPOS Users with Custom Reports).

With all the iterations, which version would you recommend to implement?

I’ll be installing this on v5 and I’m leaning towards your v4 tutorial as it seems to have all the basic reporting I need.

But wanted to ask if there is an advantage to install the v5 tutorial over the v4 tutorial? :blush:

(The v5 tutorial seems to have more moving parts)

Neither actually. I’ll get you a link to one that’s better.

Oh really. How come?

Link would be highly appreciated! :blush:

I discovered a bug in the above report I posted. The problem is the Hours were being rounded up when dividing. This report corrects the problem:

[Punch Report:2.5,2.5,2,1.5,1.5,1.5, 1.5]
Clocked In Date & Time|Clock Out Date & Time|Duration|Break|Total Hrs|Reported Tips
@{REPORT TASK DETAILS:TSC.User.asc:(TST=Punch) && T.Completed=True:,}
$1
{REPORT TASK DETAILS:
T.StartDate,
T.StartTime,
T.EndDate,
T.EndTime,
T.Duration;fm\:h\ \h\r\ m\ \m,
TSD.Break.sum;fs\:h\:mm,
=([T.Duration]-([TSD.Break]/60));fm\:h\:mm,
TSCN.Tip.sum
:(TST=Punch) && T.Completed=True && (TSC.User=$1)
:[=FD(‘{0}’,‘ddd M/d’)] [=FD(‘{1}’,‘hh:mm tt’)]|[=FD(‘{2}’,‘ddd M/d’)] [=FD(‘{3}’,‘hh:mm tt’)]|{4}|{5}|{6}|${7}}
Totals for $1| # Entries: {REPORT TASK DETAILS:T.EndDate.count:(TST=Punch) && T.Completed=True && (TSC.User=$1)}|{REPORT TASK DETAILS:[T.Duration.sum]/60,[T.Duration.sum]%60,[TSD.Break.sum]/60/60,[TSD.Break.sum]/60%60,=[([T.Duration]-([TSD.Break]/60)).Sum] / 60,=[([T.Duration]-([TSD.Break]/60)).Sum] % 60:(TST=Punch) && T.Completed=True && (TSC.User=$1):[=F(TN(‘{0}’)<<0,‘00’)] hrs [=F(TN(‘{1}’)<<0, ‘00’)] mins|[=F(TN(‘{2}’)<<0,‘0’)]:[=F(TN(‘{3}’)<<0,‘00’)]|[=F(TN(‘{4}’)<<0,‘0’)]:[=F(TN(‘{5}’)<<0,‘00’)]}|$ {REPORT TASK DETAILS:TSCN.Tip.sum:(TST=Punch) && (TSC.User=$1)}
Persons on this Report: {REPORT TASK DETAILS:TSC.User.asc:(TST=Punch) && T.Completed=True:,}

The difference is in the total line, there is a <<0 to keep the division from rounding up.

2 Likes