I have a requirement that I am working for a client that I am trying to achieve within Power Apps Canvas App and need some advice from Power Apps Experts out here.
Below is part of the Purchase order form that the client is using Excel manually without any form digitization which has 2 cores to be implemented and want to convert using Power Apps Canvas app.
All 3 vendors must be filled in. If a user fills in only 1 vendor or 2 vendors, then the form should be not filled in.
All 3 rows have to be filled in by the user to proceed.
Another part of the form is the user must fill at least the current year (2021) for the awarded vendor and if he/she knows about future years such as FY2022, FY2023, etc, they could add in this part of the form.
The form must have at least 5 years including dynamically from the Dataverse Fiscal Year table and should be NOT hardcoded in the form.
CURRENT DESIGN USING DATAVERSE AND POWER APPS CANVAS APP.
As the form has multiple lookups, I have chosen Dataverse for the data layer and Power Apps Canvas App for the User interface. To meet the business requirements i.e. Vendor Table and Contract Cost Breakdown for Term Contracts, I have created 3 tables (I have more tables to support clients requirements ) as shown below
a) Vendor Table:
b) Contract Cost Break Table:
c) Fiscal Year Table:
Business Requirement 1: Power Apps for Vendor Screen
In this screen, I have simply to use 9 textbox controls and 3 labels which I will put in a collection when I user fill this screen.
I could not use Gallery control, or data table controls as I needed to display 3 records/textboxes at the onset to display users on this screen and the user did not fill all the vendor names (all 3 Vendor names) the user should not be able to submit.
QUESTION 1: Is this correct approach to achieve this business requirement 1 i.e. not using Gallery Control / Data Table controls and used unbound text fields?
To check if all 9 textbox controls are filled or, I will be using IsBlank() and Coalesce() functions and when used fills the all 9 controls, perform the Patch() function at later stage.
Business Requirement 2: Cost Breakdown for Term Contracts
In this screen, I intend to use the collection from the Dataverse Fiscal Year table and place 10 text box controls similar to the vendor screen previously and if the user did not submit the current year (1 st row) then he can't submit as per business requirement
QUESTION 2: Is this the correct approach to achieve this business requirement 2?
How could I dynamically display 5-year labels as shown in the Period column on the left?
Please advise on the right approach.
Solved! Go to Solution.
It sounds like you want to build your own custom forms. Start here with @Meneghino 's blog post of how to use unbound controls on a blank screen to make a form when the OOB solution doesn't fit your needs.
https://baizini-it.com/blog/index.php/2017/09/28/powerapps-101-create-your-own-forms/ . I learned a ton about how PowerApps works by following his example here.
Also, if you are looking to create your own forms, I would still highly recommend using the built in Forms of PowerApps as they bring an incredible amount of features to your app that building you own forms leaves off the table. I did a full video on EditForms - everything you ever wanted to know about Forms and some things you might not have known possible. Perhaps it will be helpful for you as well and save you a lot of time and frustration.