cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Components |Functions |June Expermental |Breaks Code Libs created using components

Creating Canvas Powerapps.

I have a number of components with properties and parameters that interact (eg. date functions specific to my industry) .

 

I used component output properties to provide functions and those properties used other properties (passing parameters) within the same component. ie. FuncA with parameters a and b may call Func1 and Func2.  (eg. property FuncA returns Self.Func1(a,b) * Self.Func2(b) + Self.Func3(a) etc.)

 

The new restriction means that a data output doesnt have parameters and may only reference the controls on the component (ie. not suitable for general purpose calculations)  --> Any of my outputs (that were emulating an output function) that referenced other properties in the same component are now broken.

 

The output functions may only perform calculations using their own parameters and cannot call other functions in the component.

 

So... How do I build a base library of functions that can be called by other functions?

 

Previous documentation suggested 'user defined functions' defined in the app formulas section would be coming, and would be of the form... 

                      udfTest(par1:Number , par2:Number, par3:Number):Number=  (par1*par2)/par3
 
I was hoping that when this was released I could move code out of components and create a number of UDF procedures that were callable from within the app (and by components with app scope) and could call each other.
 
But trying to enter a udf (using the syntax above) fails. Have UDF's been implemented but using some other syntax??

 

Related to the above, I dont follow the documentation regarding input functions for components- how do I define a function in the app that has parameters that the input function can make a callback to (ie. a udf as mentioned above)? 

 

from... "learn.microsoft.com/en-au/power-apps/maker/canvas-apps/component-properties""

"The app could define the function expression to return $"{firstname} {lastname}" or it could choose to define an expression for $"{lastname}, {firstname}". The component can just call the function the app maker has provided, and use the returned string."

27 REPLIES 27

Thanks Joris. Code only components seemed to be working fine. The real issue was the kludginess of using the interface. More advanced users being able to download/upload plain text would ease my tasks (my organisation keeps me in powerapps studio) which i guess i was hoping udf's were going to bring to the table. 

The first wave of UDFs they will pretty much be like named formulas and how you define those. We're brainstorming on user experience after that, but that's what you should expect in the short-term.

Hi Joris

 Have you had any luck undoing the lock that was placed on component functions allowing parameters?

 I have a large project with a lot of base functions (which were working perfectly fine) awaiting restoration.

 If the functionality isnt going to be restored and UDF's arent being released until >= Sep 2023 then I will have to invest many man hours to work around the errors- It would be helpful for me to know one way or the other.

JorisdG
Power Apps
Power Apps

Functions calling functions will be rolling out in the next few weeks with regular schedule. Enabling data flow so we can allow state to be used inside functions is something we're reviewing. Work was done for UDFs to support data flow properly, and we're hoping to uptake this for the components already (i.e. before UDFs are released). I don't have a timeline yet, but I will keep this thread updated as we are actively looking into it.

Thanks Joris- I look forward to the fix being implemented and (hopefully) UDF's

qwertyuiop
Frequent Visitor

Hi Joris. I wanted to see if the UDF functionality will be released soon? I was looking and Wave 2 and saw it wasnt on the roadmap anymore. Is it possible to sign on as a tester? I was waiting for this functionality to help develop the next generation apps for my org.

Hi Joris,

 In the leadup to the release, might I make a few observations.

 The app formulas repository can contain quite a few formulas already, making navigation difficult and also spotting the little red squiggle difficult when there are errors (plus an error in one formula breaks dependent formulas). Transferring code from component libraries will exacerbate the issue.

 Perhaps a tree to the left listing the left side of each formula (formula name) with red text if a formula is in error and click a formula name navigates to the correct line in the editor? Also, if the app formulas editor allowed sections (section start indicated by a line beginning with a # and what follows is the section name, until end of code or new section start delimiter) would allow the formula names tree to have parent nodes as section names and children as formula names.

Occasionally, the editor can have trouble with errors and deciding when to reset its error parsing and labels 'clean' code as in error- sections would make it simpler for the parser to 'reset' after detecting errors.

 

Within the concept of reusable blocks; it would be great if custom components could be used within other components and that the base class for a component inherited a container.

JorisdG
Power Apps
Power Apps

@qwertyuiop UDFs are still actively being worked on. We hit a snag with the release wave notes but rest assured it's still in the works, just pushed out a little bit. Still expecting it in the next few months.

 

@PeterCBell_au some improvements are rolling out for performance of editing named formulas. We have several designs and plans for a better UX (based on the variables and collections pane) but it's not prioritized at this moment. I realize with UDFs going into the same property this will get larger and larger, but that will hopefully give us the momentum to prioritize the UX options.

Hello @JorisdG 
I have to say that I am a bit confused right now. 

Talk about implementing UDFs started last year, with a Pupblic Preview release in February then it was moved to September. Since then dead silence. Despite removing UDFs from the release plan (https://releaseplans.microsoft.com/en-US/?app=Power+Apps&status=new), but that's not whats confusing me. It's that in the german version of release plan UDFs are in "Try Now" with a public preview date for September....


The whole release planner is out of sync between the different languages. I don't know if you could do something about it but you might know the person who can fix this. 

I and I guess many others do heavily rely on the release planner to plan updates and publications of our apps.


JorisdG
Power Apps
Power Apps

Yes, we started on UDFs last year in the summer (with an intern). You can follow our actual Power Fx language work on Github under https://github.com/Microsoft/Power-Fx - all our language work is done wide open. You'll find after the initial work was done by our intern, we picked up the work around April to finish it as a language feature. What you can't see there is the work then needed to uptake it in Power Apps (how to edit, where to store, how to incorporate it into the analysis engine, etc.). We were planning for September, which we actually finished but we ended up having to take a dependency on another new feature (new analysis engine) that won't be out for another several weeks, unfortunately. Pushing the feature to the next wave somehow removed it everywhere which I'm not sure how or why that happened. You will still get an experimental preview of UDFs before the end of the year.

 

As for the issue with German or other language release plans not updating, I'm not exactly sure who to talk to but I will bring it up with my management and hopefully they can pass on that feedback to get it fixed!

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,036)