Asset Checkout (Microsoft sample)
06-30-2017 10:48 AM - last edited 08-02-2017 20:07 PM
06-30-2017 10:48 AM - edited 08-02-2017 08:07 PM
Keep track of the tools and equipment your teams need to do their jobs. Document, catalog, and reference assets of all kinds with images, location, asset details, and more.
Excel file stored in a cloud-storage account, such as Box, Dropbox, Google Drive, OneDrive, and OneDrive for Business.
Setup and usage info
Author's helpful tips and formula lessons
> The first screen (HomeScreen) makes use of two galleries: a horizontal gallery to display items that are most frequently checked out; and an image-based gallery, which provides navigation to the second screen (CategoriesScreen). When the app user clicks an image in the gallery, the app sets the "category" context variable (used elsewhere in the app) and navigates to CategoriesScreen.
> CategoriesScreen uses the "List screen" layout, which provides a gallery and related navigation. The "Items" property of the gallery uses the following formula:
If(category = "Most checked out", Sort(Filter(Products,CategoryId=CategoriesGallery.Selected.CategoryId && SearchBoxText.Text in ProductName),CountValue,Descending), category = "Reviews", Sort(Filter(Products,CategoryId=CategoriesGallery.Selected.CategoryId && SearchBoxText.Text in ProductName),Comments,Descending),Filter(Products,CategoryId=CategoriesGallery.Selected.CategoryId && SearchBoxText.Text in ProductName))
The gallery displays items based on the category selected on HomeScreen; it sorts those items based on the value of the "category" context variable, which is set on FilterScreen.
> DeviceCheckoutScreen and CheckoutScreen work together to enable users to check out devices. DeviceCheckoutScreen uses a display form so a user can view item details, and check out the device. The "Checkout" button uses the following formula:
This submits the checkout, then navigates to DeviceCheckoutScreen. The app sets the "checkedout" context variable, so the device is not available to other users.
> On CheckoutScreen, the form uses built-in functions to set the "Default" property of the "Name" and "Email" fields to the User().FullName and User().Email functions, respectively. It's cool to save users of your apps some typing!
> Finally, on ConfirmationScreen, the text label uses the following formula:
checkedout.ProductName & " reserved through " & DateValue( Text( ReserveForm.LastSubmit.ReservedUntil ), "en" )
This is interesting in how it pulls in information from the last item submitted through ReserveForm.
Other Relevant Blogs and Online Resources