Prebuilt Database File - Time Clock: Linked to SambaPOS Users with Custom Reports

If you have downloaded and installed this build or if you followed the tutorials I will be updating this in next few days with a few enhancements to the reports and one small bug I noticed this morning with Entity State Logging.

Its not really impacting anything really important but it was adding unnecessary Entity State Logs. The default Update Available Entity Color rule was recording Entity State Changes for all entities including Employees as Available. This did not really impact anything but it did create unnecessary entries into Entity State Logs.

Add the following constraint to fix it:

1 Like

Why would it be logging all Entity State changes?

What are your Rule Constraints when you fire the Update Entity State Log?

Rather than changing a default Rule, isn’t it better to change the Logging Rule?

1 Like

That is another approach your correct. I did not have State Name in my constraint. I just had Entity Type Name. I will update this to reflect that. Thank you @qmckay for pointing that out.

Either method works but he is right why edit a default rule when you do not need too. However just to let everyone know that update to the default rule would not affect anything else either method works.

1 Like

@Jesse

I would love to test your Time Clock module. I am very interested to see how it works. Thanks.

1 Like

I am rewriting some of it and waiting for some rumored improvements in future version releases. However you can get a version of it that works now here:

Main difference will be I have updated the reports and like I said waiting on some future functionality that we may be getting in future.

Here are some of the new reports:

Report syntax is:

:warning: You will notice I hard coded the employee Entity for the individual detail reports. I could have made 1 report with all employee entities but I prefer to have the separate as I have a small operation.

[Wages:1, 1]

{REPORT ENTITY STATE DETAILS:L.EntityName,([CD.Pay Rate])*([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn)}

>Total|${REPORT ENTITY STATE DETAILS:([CD.Pay Rate])*([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn)}

[Hours Worked:1, 1]

{REPORT ENTITY STATE DETAILS:L.EntityName,([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn)}

>Total Hours:  {REPORT ENTITY STATE DETAILS:([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn)}

[Detailed Wages:.8,.8,.6,.6, .5, .5, .5]

>In Date|Out Date|PunchIn|PunchOut|[C]Hours|[C]Pay Rate|[C]Wages

{REPORT ENTITY STATE DETAILS:L.StartDate,L.EndDate,L.StartTime,L.EndTime,=F([L.Hours]),=M([CD.Pay Rate]),([CD.Pay Rate])*([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn) AND (ELEN=Jesse)}

>Total Wages:  ${REPORT ENTITY STATE DETAILS:([CD.Pay Rate])*([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn) AND (ELEN=Jesse)}|Total Hours:  {REPORT ENTITY STATE DETAILS:([L.Hours]).Sum:(ELSN=TCStatus) AND EntityStateLog.GetHours()>0 AND (ELSS=PunchIn) AND (ELEN=Jesse)}
2 Likes