Hi Everyone!

Dear All,

I’m a manager of an manufacturing industry in Luanda, Angola.
I’m trying to use Glide apps to improve productivity and managing quality.
Need to build an attendance schedule for my employees to punch in and out while in or out of factory.

Thanks for your help in advance,

Miguel

1 Like

Welcome :wave:

Wishing you well with your new app!

If you need some inspiration or something to get you started you might want to have a look at some of these attendance templates.

2 Likes

Hi Rosewebstudio,

Thank you so much for you answer, just built the BD and first screens, fighting now with how to register attendance in a specific day, LOL.
Reading a lot of glide DOCS.
Saw that template yesterday, thanks, but my problem is, i have Table employees, Table Type of Attendance (Attended, Justified Not Attended, Unjustified Not attended) and Table Attendance Registry.
But my problem now is i didn’t find a way yet to prevent double registry on the same day for the same employee, so i’m reading and reading all i can find to do that. :slight_smile:

How does your user update their attendance? Are you using a form?

Tell us more, maybe show us some screen shots. We can then make some suggestions for you.

I would add that there are a number of posts on this community forum about duplication.

Have you searched for ‘prevent duplication’? You may find the answer you need.

(T1) Table employee:

(T2) Table Attended / Not Attended (and why):

(T3) Table Attendance:

I have created relations between T1 and T3 And T2 and T3, then used the Choice Form element to fill the Table T3, but unfortunately Employee 1 can be registered more than once on the same day…

And that is what i need to correct.

Hope i explained my self correctly.

M

Welcome onboard @mgrangeia! :rocket:

My recommendation below is based on the assumption that employees will check in themselves, not you doing the check in for them.

Step 1: T1 should contain an email column since it will be your User Profiles table. Then, you create a numerical value representing today, using a math column.

YEAR(N)*10000 + MONTH(N)*100 + DAY(N) to get a YYYYMMDD format, with (N) being the current date/time value. Let’s say today will return 20220722.

Step 2: Everytime a user checks in, I think you just keep it to one table instead of using 2 like your example. You would keep a boolean of whether the user actually goes to work or not.

If the boolean is not true, you show a text entry telling the user to write the reason for not going to work, then once they have fillled that you allow them to submit. If the boolean is true, you allow them to submit directly.

You will use a special value “form component” to add the timestamp of the form being submitted to the destination table, alongside the signed-in user’s ID or email.

Step 3: Next, in the user profiles table, create a template joining the user’s ID/email with the current day’s numerical value (derived in first step). It would look like:

“UserID001 - 20220722”

Step 4: In the destination table where you store the form submissions, create another math column like this to get the numerical value for the submission timestamp.

YEAR(N)*10000 + MONTH(N)*100 + DAY(N) to get a YYYYMMDD format, with (N) being the submission date/time value.

Then create a template column joining the user’s ID/email with the numerical value just above.

Step 5: Finally, create a relation from the user profiles table with the submissions table using the 2 template columns above, if there’s a match, it means the user has submitted for today and should not see the form again. You can hide the form button when the relation is not empty.

1 Like