cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JayRussell
Helper I
Helper I

Building In/Out tracker and fire register

Hi all

 

I'm building an app to operate as a signing in/out system for my building and a fire register.

Data entry will be via barcode. (I've got this pretty much sorted, writing to a sharepoint list)

 

It is getting data from the list to the app and being able to interact with it that I would like help with.

My idea is that there is a screen which can be accessed by the fire marshals which lists all of the people who are marked as 'In' the building on the sharepoint list. (This I believe is a gallery showing a filtered list).

Additionally, I want the fire marshals to be able to check off the people during the roll call (so this would update their status to be 'out'. -This bit I think is a form.

 

How could I build a screen which has a list of people and a way of interacting? (tap on their name and they change colour etc or there is a check box next to their name)

 

Thank you!

 

Jay

1 ACCEPTED SOLUTION

Accepted Solutions

In the end I went with a column which labeled someone as In/Out by calculation. But with an override from a Firemarshal column choice yes/no) which is controlled by the person taking the register during a fire drill. It works perfectly.

 

I added a 'reset' function so when we re-enter the building the firemarshal can reset the list to be what it was before the evacuation (so people don't need to sign back in).

 

I'll share it all soon, when I've finished tinkering!!

View solution in original post

17 REPLIES 17
mdevaney
Super User
Super User

@JayRussell 
Do you have list of all the people and their assigned fire marshall like this in SharePoint?

Employee (Person field) Fire Marshall (Person field)
James Madison Bill Waters
Kelly Green Bill Waters
Mike Rush Bill Waters
Alice Lemon Fred Winters


Then put this code in the Items  property of a gallery

Filter(your_list_name, 'Fire Marshall'.Email=User().Email)

 
Now the gallery will display only these people if I am Fire Marshall 'Bill Waters' and using the app.

  • James Madison
  • Kelly Green
  • Mike Rush

 

Place a checkbox inside the gallery.  Then it will appear beside each person's name

 

If you want the gallery background to highlight any selected person change the TemplateFill property of the gallery to this code

If(Checkbox1.Value=true, Yellow, White)

 

---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

 

Thanks for that @mdevaney  

 

The checkbos tip was fantastic, much easier than I expected!

 

We have anumber of fire marshals so they all need to be able to see anyone who is 'in'. I've tried to use your approach on a 'filter the list to show who is in' my column InOut is calculated and it isn't suggesting a property of the column I could filter on. It doesn't seem to like inout.text or inout.value. -I don't know if it is possible to filter like this.

@JayRussell 
Do you mean: anyone who is 'in' for their group?  Or anyone who is in for the entire company?

Can you please show a screenshot of your work so far?

JayRussell_0-1594815401447.png

This is the 'live in/out list'

I haven't got the filter to work so red = out, green = in. The checkbox shades in the box -as per your tip.

 

JayRussell_1-1594815471012.png

This is the list. Counter is the count of scans of that user'd QR code. InOut performs a calculation on the counter to determine status. There are other columns but they are not used yet.

 

I will expand to include a time stamp of in and out (but I haven't got that far yet).

I'm building this to replace something I made which uses a purchased android app, excel and flow

@JayRussell 

Could you try using this code in the OnCheck property of the checkbox

Patch(your_datasource_name, LookUp(your_datasource_name, ID=ThisItem.ID, {InOut: {Value: "In"}})

 
And then this code in the OnUnCheck property of the checkbox

Patch(your_datasource_name, LookUp(your_datasource_name, ID=ThisItem.ID, {InOut: {Value: "Out"}})

 

This code will write back to the SharePoint list with the current status.  My assumption is InOut is a Choices type column in SP.

 

Then you could create a Filter condition like:

Filter(your_datasource_name, InOut.Value="In")

 

---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

The In/Out is a calculated column type. with this formula: =IF(MOD(Counter,2)=0,"Out","in")

The returned value is a 'single line of text'

 

I suppose the check box could be used to increment the counter by 1 (which is the same effect as a scan of the code) this would change the status from in to out.

 

 

@JayRussell 
Personally, I would change it to a Choices type column with the options "In" and "Out" but that's just me.  There are always multiple ways solve any problem.

So the mechanics behind it would be:

(start the day OnOut = Out)

Scan (update choice)

Scan again (update choice)

 

That would work. The way I build it is how it works on the other system, but I'm not wedded to it!

 

Thank you!

 

(I'm really enjoying learning this)

In the end I went with a column which labeled someone as In/Out by calculation. But with an override from a Firemarshal column choice yes/no) which is controlled by the person taking the register during a fire drill. It works perfectly.

 

I added a 'reset' function so when we re-enter the building the firemarshal can reset the list to be what it was before the evacuation (so people don't need to sign back in).

 

I'll share it all soon, when I've finished tinkering!!

View solution in original post

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (1,398)