cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Navigate from custom page button to model-driven app record

Hi,

 

I am looking for a way to navigate from my custom page which has been added to a model-driven app to a record within that app.

I have been looking into the Navigate() function but have not found a way to navigate to a specific record.

Navigate('Accounts') does navigate to an overview off all accounts but how can i navigate to a specific account based on the account id?

Any help?

Thanks in advance,

Dries B

4 REPLIES 4
MichelK
Resolver II
Resolver II

Hello @Anonymous,

 

I think you can try using the Launch function:

Launch( "https://contoso.crm4.dynamics.com/main.aspx?pagetype=entityrecord&etn=account&id=" & varAccountId)

You could replace the environment URL with an environment variable if you dont want it to be static, and evidently varAccountId would be replaced by the account ID.

You could add a parameter to your Launch function specifying if you want to open the record in a new tab or to replace the current one.

 

Let me know if this helps! 

Anonymous
Not applicable

Hello @MichelK ,

 

Thank you for your suggestion. I have tried this and the issue is that this is intended to be used on the mobile application. The launch function will always open a browser window from which we can open the app but this defeats the purpose of what we're trying to achieve.

We had the same question and have found the answer in PowerFx GitHub docs.  powerapps-docs/page-powerfx-in-model-app.md at main · MicrosoftDocs/powerapps-docs · GitHub   

 

Navigate to a specific form of a table

To pass a Dataverse record to a specific form, pass the form name in the second parameter's Page attribute.

Navigate( 
  AccountGallery.Selected, 
  { Page: 'Accounts (Forms)'.Account  } )
 

 

Latest commit 6a4a19b on May 19 History
 8 contributors
 
title description ms.custom ms.date ms.reviewer ms.subservice ms.topic author ms.author manager search.audienceType search.app
Use Power Fx in custom page for your model-driven app
This article outlines how the common Microsoft Power FX functions work within a custom page.
 
05/26/2022
 
mda-maker
article
aorth
matp
kvivek
maker
PowerApps
D365CE

Use Power Fx in a custom page for your model-driven app

This article outlines how the common Microsoft Power Fx functions work differently between a standalone canvas apps and a custom page. This is because a custom page is a component within the model-driven app. Other Microsoft Power Fx formulas continue to behave in the same way.

[!IMPORTANT] Custom pages are a new feature with significant product changes and currently have a number of known limitations outlined in Custom Page Known Issues.

Add notifications to a custom page

A notification can be shown to the user in a custom page by calling the Notify function. When the notification messages appear, they're docked above the default page to stay visible until disabled. If a timeout interval is provided, the notification message will disappear after the timeout interval. It is recommended not to use a timeout interval of 10, as this is no longer considered as a timeout interval. More information: Notify function.

Notify( "Custom page notification message" )

[!div class="mx-imgBorder"] 

 

 

Notify( "Custom page notify warning message", NotificationType.Warning )

[!div class="mx-imgBorder"] 

 

 

Navigating to a custom page

This section provides examples of navigating from a model-driven app form to a custom page, navigating from a custom page to other custom pages or model-driven app form using Power Fx.

Navigating from a custom page

The Navigate function allows the users to navigate either from model-driven app forms or custom pages. This function is only applicable when the custom page is running within a model-driven app. During custom page authoring or previewing in canvas designer, this function has no effect.

Navigate to another custom page

To navigate from one custom page to another, pass the display name of the custom page as the first parameter.

Navigate( CustomPage2  )

Navigate to the default view of the table

To navigate to the default view of the table, pass table name as the first parameter.

Navigate( Accounts )

Navigate to specific system view of the table

To navigate to a specific system view of the table, pass the GUID of the view.

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Navigate to the default form of the table

To navigate to the default form of the table, pass the record as the first parameter.

Navigate( Gallery1.Selected )

Navigate to a specific form of a table

To pass a Dataverse record to a specific form, pass the form name in the second parameter's Page attribute.

Navigate( 
  AccountGallery.Selected, 
  { Page: 'Accounts (Forms)'.Account  } )

Navigate to a specific custom page with a record input

To pass a Dataverse record to a specific custom page, pass the custom page name in the second parameter's Page attribute.

Navigate( 
  AccountGallery.Selected, 
  { Page: 'Account Record Page'  } )

In the target custom page, the record is retrieved using Param function to get the etn and id values.

Below is an example of loading the record into an EditForm control.

AccountEditForm.DataSource = Accounts
AccountEditForm.Item = 
  LookUp( Accounts, accountid = GUID( Param("id") ) )

Navigate to the default form of the table in create mode

To navigate to the default form of the table in create mode, pass a Dataverse record created from the Defaults function. This opens the default form with the record as a new record. The Defaults function takes the table name to create the record.

Navigate( Defaults( Accounts ) )

Navigate to the default form of the table in create mode with field defaulted

To navigate to a new record with some fields defaulted, use Patch function to set fields on the default record for the table.

Navigate(
	Patch(
		Defaults(Accounts), { 'Account Name': "My company", Phone: "555-3423" } ) 
  )

Navigate back to the prior page or close a dialog

To navigate back to the last page or to close a dialog, the Back function is called in a custom page. The Back function closes the current page and returns to the last model-driven app or custom page in the model-driven app. If the custom page has multiple screens, see the article Navigating back when custom page has multiple screens.

Back( )

Navigating back when custom page has multiple screens

The default configuration for a custom page is to have one screen. In this case, the Back function call will close the custom page unless the custom page is the last in the page stack in model-driven app. The last page is kept open.

An app maker can enable multiple screens in a custom page. These should be considered like full page controls within the custom page that can be stacked. Opening a custom page has no means of specifying the screen to use. When a custom page contains multiple screens the maker is responsible for managing the screen stacking. Calling the Navigate function to a screen will add to the screen stack with the custom page. Each Back function call will remove a screen from the screen stack. When there is only one screen on the screen stack, the custom page is closed.

Enabling multiple screens

By default a custom page uses a single screen to encourage separation of the app into a screen per page. This can be switched by enabling Settings > Display > Enable multiple screens.

[!div class="mx-imgBorder"] 

 

 

Confirm function

The Confirm function displays a dialog box on top of the current screen. Two buttons are provided: a confirm button and a cancel button, which default to localized versions of "OK" and "Cancel", respectively. The user must confirm or cancel before the dialog box is dismissed and the function returns. Besides the dialog button, cancel can also be selected with the Esc key or other gestures that are platform specific.

The Message parameter is displayed in the body of the dialog box. If the message is very long, it will either be truncated or a scroll bar provided.

Use the OptionsRecord parameter to specify options for the dialog box. Not all options are available on every platform and are handled on a best effort basis.

[!NOTE] The options in the table below aren't currently available with canvas apps.

Option Field Description
ConfirmButtonThe text to display on the confirm button, replacing the default, localized "OK" text.
CancelButtonThe text to display on the cancel button, replacing the default, localized "Cancel" text.
TitleThe text to display as the title of the dialog box. A larger, bolder font than the message font may be used to display this text. If this value is very long, it will be truncated.
SubtitleThe text to display as the subtitle of the dialog box. A larger, bolder font than the message font may be used to display this text. If this value is very long, it will be truncated.

Confirm returns true if the confirm button was selected, false otherwise.

Syntax

Confirm( Message [, OptionsRecord ] )

  • Message - Required. Message to display to the user.
  • OptionsRecord - Optional. Provide advanced options for the dialog. Not all options are available on every platform and are handled on a best effort basis. At this time, in canvas apps, none of these options are supported.

Known issues

  • The Navigate function doesn't have support for opening a model or custom page to a dialog. All navigation from a custom page opens inline.
  • Navigate function doesn't support opening:
    • A dashboard collection or a specific dashboard.
    • A specific model-driven app form.
  • A custom page can only open into the current session’s current app tab in a multi-session model-driven app.
 

 

Mglat
Advocate V
Advocate V

Not sure if you solved this already. But for future reference, pls have a look at https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/page-powerfx-in-model-app#navig...

 

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