{REPORT ENTITY STATE DETAILS:X} Entity State Details
{REPORT ENTITY STATE TOTAL DURATION:X} Entity State Total Duration
{REPORT ENTITY STATE TOTAL HOURS:X} Entity State Total Hours
{REPORT ENTITY STATE TOTAL MINUTES:X} Entity State Total Minutes
{REPORT ENTITY STATE TOTAL SECONDS:X} Entity State Total Seconds
{ENTITY STATE ENTITY LIST:X} Entity State Log Entity Names
{ENTITY STATE START DATE LIST:X} Entity State Log Start Dates
{ENTITY STATE END DATE LIST:X} Entity State Log End Dates
EDIT: I cannot seem to get these to work⊠@QMcKay any luck? Most of them crash⊠ive had a few attempts not crash but nothing reports.
Thatâs what I was thinking. But it doesnât quite work that way⊠I thought maybe it would pull the EndDate from the 2nd row and make it the StartDate in the first row (note: records are sorted to show most recent first)
Hmmm⊠I wonder now about maybe I could try setting Async to False ?
EDIT: Iâve also been wondering how it knows to set StartState to PunchOut in the Log when you Clock In for the first time?
EDIT: I give up on that for now (I wonât be using Break/Lunch States anyway, so I removed those choices - I was just trying to get a handle on how the Logging worked)
@emre, youâre probably in the middle of writing a Tutorial that explains this; if so, feel free to ignore meâŠ
Can you elaborate on what this function actually does? Log Entity State
what does the Async True/False option do?
DISREGARD THIS QUESTION⊠Answer: No. [EntityStateValues] contains last known State and Date/Time. I have a suspicion that it does not just log what you tell it to, instead it reads the last known State [EndState] from the Log based on MAX([EndStateDate])first, then performs the Logging write as requested. Is this True?
DISREGARD THIS QUESTION⊠Answer: [EntityStateValues] contains last known State and Date/Time. If there is no Log Data (table [EntityStateLogs] is empty), and (presumably) the Entity is âStatelessâ (i.e. immediately after application launch), how does it know what to write into [StartState]? For me in this case, it seems to magically write PunchOut which is perfect, but how does it decide to do that?
I just posted a link for the Database Tools import file for my Time Clock implementation. Few things you need to do and will be explained in more detail in the tutorial⊠Create your Employee entities ⊠create users with same name⊠enter the same pin for both the entities and the users.
I think this is as âofficialâ as itâs going to get for the next while. The added feature (Log Entity State) has allowed us to build a basic TimeClock, but the feature can also be used for many other things (i.e. tracking table usage)⊠My guess is that is the primary reason for this feature addition, because it is not specific to TimeClock. I think weâll be waiting a long while for an âofficialâ TimeClockâŠ
That said, this feature is very powerful, and can be used to build a very decent TimeClock Implementation, immediately. How you do it is up to you.
@Jesse, in his implementation, links Employee Entities to Users and the Login/Logout mechanism, while my posted implementation is very basic to show minimum requirements to implement itâŠ
Another cool thing this might open up is the Order State tracking. You can track average time for an order to hit the kitchen vs Ready⊠You can track delivery times⊠all sorts of really cool things. This will enhance Kitchen screensâŠ
EDIT: Sorry I jumped the gun Order State Logging is not currently available.
While I did mention the design could have been made for any type of State, thatâs not what we have here. It is specific to Entities [EntityStateLogs]⊠it wonât log Ticket or Order States, howeverâŠ
So it sounds like @emre could do some copy/paste of code to implement it for Ticket and Order withou too much hassle.
Yeah sorry I got ahead of myself. You are correct it is not ready for that yet. I tried to say in the future⊠when I said âmight open upâ I just used bad wording.