cancel
Showing results for 
Search instead for 
Did you mean: 

Join the discussion

Most Recent
Rahman1005
Advocate III
Advocate III

In this article I will show you how to make a tabbed form. We will create form tabs we place a tab list control above a form and show/hide its input fields based upon the current selection.

We need to enable modern controls in your app. Click on Settings > General and search for "modern". Enable the Modern controls and themes feature.

Please fellow below screen shots.

Rahman1005_0-1715861140400.png

 

 

Rahman1005_1-1715861140403.png

 

 

Setup The SharePoint List:

Create a new SharePoint list called Employee information with the following columns:

Employee Name (single-line text)

Employee Id (single-line text)

Department (single-line text)

Mobile Phone (single-line text)

Email Address (single-line text)

Address (single-line text)

Additional Information (multiple-line text)

 

Rahman1005_2-1715861140405.png

 

 

Navigate to https://make.powerapps.com/ and Open Power Apps Studio and create a new app from blank. Add a text control onto the screen to show the title “Contacts.” Then insert a tab list control.

 

Rahman1005_3-1715861140408.png

 

 

On item property of the tab list control write below code.

["General", "Contact Info", "Location", "Additional Information"]

 

 

Rahman1005_4-1715861140409.png

 

 

Add An Edit Form Control:

 

Add new form control directly below the tab list to display the Employee data.

 

Rahman1005_5-1715861140412.png

 

 

 

 

Add the employee information data source to the app then use this code in the Items property of the form.

Rahman1005_6-1715861140415.png

 

We need to write logic on fields to Show/Hide Fields on the Form.

 

On select of "General" tab we want to show the following cards and hide the rest, select the cards and write code on visible property, prefer below screen short.

 

TabList1.Selected.Value="General"

 

  • Employee Name
  • Employee Id
  • Department

 

Rahman1005_7-1715861140419.png

 

 

 

On select of "Contact Info" tab we want to show the following cards and hide the rest, select the cards and write code on visible property, prefer below screen short.

  • Mobile Phone
  • Email Address

Rahman1005_8-1715861140421.png

 

 

On select of "Location" tab we want to show the following cards and hide the rest, select the cards and write code on visible property, prefer below screen short.

  • Address

Rahman1005_9-1715861140424.png

 

 

Save the canvas app and publish the apps.

Final screens.

Rahman1005_10-1715861140425.png

 

 

Rahman1005_11-1715861140426.png

 

 

Rahman1005_12-1715861140427.png

 

 

Rahman1005_13-1715861140428.png

 

 

Thank you..!

markinwaukesha
Advocate I
Advocate I

There are many advantages to utilizing stored procedures such as: reducing application complexity, improving speed by executing at the database level rather than on the client side, eliminating the record limit and using design patterns to improve the overall architecture. 

I'll share my journey into using Stored Procedures and I hope it will help either excite you into trying them or assist you with any blockers you may have with using them.  

Read more...

wyattdave
Responsive Resident
Responsive Resident

This series is all about creating components from other components. PCF maybe the best choice but it isn't always enabled and requires a different skillset.

The first in the series is all about creating a stack of notifications (very much like how this community site shows notifications).

Read more...

happyume
Multi Super User
Multi Super User

In this article, we will learn how to get the first and last date of a month for a user selected date in the DatePicker control. There can be many use cases for such utility which provides first date and last date of the month corresponding to a user provided date. Example of such use cases can be Billing and Invoicing Systems, Event Scheduling, Report Generation, Due Dates and Deadlines for task or project management applications, Interest Calculation, Subscription Renewals.

Read more...

happyume
Multi Super User
Multi Super User

This article shows how to obtain the number of records in a gallery (or a datasource) without asking user to scroll all the way to the bottom. It overcomes the limitation of 100 records count.

Read more...

rampprakash
Super User
Super User

In this blog we will see how to run Microsoft flow for Every one month

Read more...

rampprakash
Super User
Super User

In this Blog we will see how to Install the Microsoft Dataverse Accelerator in Dataverse Environment

Read more...

TuongDoan
Responsive Resident
Responsive Resident

One challenge when creating a modern-looking canvas app is that we have a mixed usage of classic and modern controls, and you may notice that the text in modern controls appears smaller than in classic controls. To maintain visual consistency, we need to keep the font size consistent across all the app's controls

cover_fontsize1.png

Read more...

Rahman1005
Advocate III
Advocate III

Introduction

One of the most common requirements while pushing the record in Dynamics 365 is to check whether a record is already present or not. If not, then create a new record else Update the existing record with updated information.

This requirement can easily be achieved through Power Automate as well, however today we shall learn how this can be achieved through PowerApps itself using Patch Function.

Basically, Patch Function is useful to perform following operations in any data source:

  • Create (single or multiple) records
  • Update (single or multiple) records
  • Merge records

Now, I will use following two Patch function and Let's see what result I get:

Below syntax use to Create a record in Database Table:

Patch(Customers, Defaults(Customers), {ID: "3"}, {First Name: "firstnametext"}, {Job Title: "jobtitle_text"})

Below syntax use to Update the record in Customer Table where ID = 2:

Patch(Customers,First(Filter(Customers, ID = "2" ) ), { Job Title: "jobtitle" } )

Now, Let's understand this, by taking a very simple example from Dynamics 365 perceptive.


Scenario: I want to create a contact in Dynamics 365, If contact with same emailaddress is already present in Dynamics then only Update its details else Create a new contact record.

Step 1: Create a new Canvas App (ignore if you already have) > Connect to Dynamics 365 Data Source.> Connect to contact Entity.

Rahman1005_12-1714372904603.png

 

Step 2: Insert a Blank Screen in order to add few Text Input and Button Controls or you can design the app as per your requirement.

Rahman1005_13-1714372904606.png

 

Step 3: Insert a Success Screen to show Success Message, once the record gets Created/Updated in Dynamics 365

Rahman1005_14-1714372904608.png

 

Step 4: Write following formula on Button Control (onSelect property)

If(IsBlank(

LookUp(Contacts,emailaddress1 =Emailaddress_Text.Text)),

Patch(Contacts,Defaults(Contacts),{'First Name':firstname_text.Text},{'Last Name':lastname_text.Text},{emailaddress1:Emailaddress_Text.Text},{'Home Phone':phone_text.Text}),

Patch(Contacts,First(Filter(Contacts,emailaddress1 =Emailaddress_Text.Text)),{'First Name':firstname_text.Text},{'Last Name':lastname_text.Text},{emailaddress1:Emailaddress_Text.Text},{'Home Phone':phone_text.Text})

);

Navigate(SuccessScreen,ScreenTransition.Fade);

 

Rahman1005_15-1714372904613.png

 

Step 4: Run the App

No Contact records present in dynamic 365

Rahman1005_16-1714372904615.png

 

Run canvas app in order to create contact record in dynamic 365.

Rahman1005_17-1714372904616.png

 

Fill the details and click on Submit.

Rahman1005_18-1714372904617.png

 

Record will get created in Dynamics 365 and Navigate to Success Screen.

Rahman1005_19-1714372904618.png

 

A new contact has been created in Dynamics 365.

Rahman1005_20-1714372904620.png

 

Now I am updating Last Name and mobile phone and Click on submit.

Rahman1005_21-1714372904621.png

 

Submitted information in Dynamics 365 and Navigate to Success Screen.

Rahman1005_22-1714372904622.png

 

Existing contact Record has been updated with updated Last Name and mobile phone.

Rahman1005_23-1714372904624.png

 

Thank you..!

happyume
Multi Super User
Multi Super User

This article shows how to get Dataverse record for current logged in user from the systemuser table.

Read more...

sandeepstw
Super User
Super User

Customer engagement and seamless service are more important than ever as companies use AI to assist their customers. In the AI era that we are currently living in, it is more crucial than ever for businesses to engage with their customers and provide seamless service. If you are thinking about how, you can use your current data to assist customers this blog is for you.  

Microsoft Copilot Studio is revolutionizing the way businesses interact with their customers by leveraging the power of generative AI. This article explores how you can create custom Copilots to enhance customer engagement and provide efficient handoff to customer service hubs. 

Read more...

Inogic
Solution Sage
Solution Sage

In Microsoft Dynamics 365, the ability to embed Canvas Apps brings the power of Canvas Apps to their model-driven forms.

Recently, we got a requirement to create a record of the related entity (e.g., “Suggestion”) from the Canvas App embedded in the Appointment entity form. There was a subgrid of the “Suggestion” entity added next to the Canvas App on the Appointment form. After creating the suggestion entity record, we should see the newly added suggestion record in the subgrid, i.e., the subgrid should be refreshed.

 

At first, we tried the below steps to achieve this requirement.

 

Step 1: Create the required Canvas App with a simple form to create the suggestion record

Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1-1536x666

 

Step 2: Add the related records subgrid and embedded Canvas App to the model-driven form.

Add the related records subgrid and embedded Canvas App to the model-driven app.

Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2-1536x664

 

Step 3: Check by filling out the Canvas Apps form on Appointment and submit it.

Now fill out the form and submit it on Appointment.

Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3-1536x663

 

It does not refresh the subgrid after the embedded Canvas App submits, as shown below.

Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4-1536x620

 

Step 4: Add the below formula to the button control (OnSelect)

Add the below formula to the OnSelect property of the button after the SubmitForm method.

ModelDrivenFormIntegration.RefreshForm(true);
 

Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5-1536x666

 

After adding the above expression to the OnSelect property of the button, it will automatically refresh the subgrid after the embedded Canvas App submits, as shown below.

  1. Subgrid before clicking on Add suggestion.
     

    Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6-1536x607

     

  2. Subgrid refreshes after the add suggestion button click.
     

    Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7-1536x590

     

  3. Subgrid shows the record after it’s refreshed.
     

    Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8-1536x594

     

Conclusion:

By following these steps, you can effectively refresh a subgrid within Dynamics 365 upon submission of data from an embedded Canvas App, all within the same tab.

maqsoftware
Regular Visitor

In this blog post, we'll delve into how organizations can harness the power of the Microsoft Translator Connector within PowerApps to seamlessly integrate multilingual capabilities, ensuring a smoother user experience across linguistic boundaries. 

Read more...

Amik
Super User
Super User

Scenario

 

I recently came across the following scenario posted on the forums and I moved my response to this blog.

Read more...

Jmanriquerios
Super User
Super User

We have Power FX columns available to use formulas in the columns from this language, but we can also obtain the fields of a relationship that we have between two tables.

 

I have been working on a use case where I have created a data model that has several tables but I will focus on three tables:
Teacher: where the information regarding the teacher is recorded.


Section: where the information regarding a subject is recorded and has N students and a single teacher associated with it, which is why it has an N:1 relationship with the teacher.


Teacher payment: where a teacher's payment is recorded based on the section assigned to them.

 

Under this scheme in the section table I have created a lookup column with the teacher field.

 

Jmanriquerios_0-1713259002729.png

In the case of the teacher pay table, I have created a lookup column with the section table

 

Jmanriquerios_1-1713259020775.png

So far nothing that we do not know and have not done before, now within the Teacher Payment table, instead of creating the teacher field as an N:1 relationship with a lookup, being able to obtain the value of the teacher under JS or a Workflow Once the section is obtained, or allowing it to be selected by the user, I have decided to use the Power Fx column.

 

Jmanriquerios_2-1713259036115.png

Now, as advantages we see:
1. Without programming we can get the value of the teacher's name
2. Any other additional values we need from the teacher table.
3. A field whose value depends on the relationship, if you change the section the value of teacher will change.

 

Disadvantages, this is where depending on what you need it can have a big disadvantage, for example if you needed the teacher's GUID you would not have it, it is a limitation of the Power Fx columns

 

Jmanriquerios_3-1713259053730.png

 

This could complicate access either by code using the Wep API and in the use of Power Automate if we want to expand the teacher column we could not because we do not have the GUID, and sometimes we need to use the GUID to create the relationship or perhaps for the simply relate it to the activities table or use it within the To of the Email table.


As we can all have a solution to this either with code or with Power Automate, at the Power Automate level it is using a JSON action to be able to use this value, despite coming from the OUTPUTS of the Dataverse action when we expand a table we cannot use that field.

 

Jmanriquerios_4-1713259070737.png

 

We will have to use Parse JSON to be able to use the enc_profesor_value field

 

So when you face these situations in modeling your data you must consider the entire process that you will build around it and whether or not it is worth using one way or another to obtain the data.

 

On the other hand, and finally, if we want to do data exploitation, it may be better to use the lookup. Additionally, we will lose relational navigation in model-based applications (Model Driven).

 

JR-BejeweledOne
Super User
Super User

Do you need a simple way to create a custom ID that auto-increments and even resets at the beginning of the year?

Read more...

SpongYe
Super User
Super User

Named Formulas allow you to create your own reusable properties within your app. Imagine defining custom calculations like a pro mathematician, but without the headache.  These formulas streamline initialization and enhance app performance. 

Read more...

sandeepstw
Super User
Super User

In today’s competitive job market, organizations receive numerous resumes daily. Manually reviewing each one can be time-consuming and prone to errors. In this blog, we’ll explore how to automate the resume screening process using Microsoft Power Automate. By leveraging its advanced capabilities, we can streamline the hiring process and identify the most promising candidates efficiently.

Read more...

Jmanriquerios
Super User
Super User

Create your copilot and insert it into your model driven apps

Read more...

Inogic
Solution Sage
Solution Sage

As we know, Google's re-CAPTCHA service incorporates various mechanisms, including advanced risk analysis and adaptive challenges, to differentiate between legitimate users and potential bots or malicious actors. By analysing user behaviour and various risk factors, captcha aims to provide a seamless experience for genuine users while effectively blocking automated bots and other abusive activities on websites.

 

This approach helps protect websites from a wide range of abusive behaviours, including spamming contact forms, creating fake accounts, performing fraudulent transactions, and other malicious activities. It enhances the overall security and integrity of online platforms, allowing legitimate users to interact with websites without unnecessary interruptions while thwarting potential threats posed by automated scripts or bots.

 

Recently, we had a client requirement where client had mandated the integration of Google re-CAPTCHA into Power Pages, replacing the Out-of-the-Box (OOB) solution. This shift marks a pivotal moment in ensuring robust protection against malicious activities while streamlining user interactions. This blog outlines the systematic process of integrating Google re-CAPTCHA seamlessly into Power Pages, thereby fortifying the security framework and elevating user engagement.

 

Step 1:

 

Firstly, to integrate the Google re-CAPTCHA, we need the site key. So, to get the site key, we have to register our site using this link. Add the domain name in the highlighted part.

 

Inogic_12-1712058752480.png

 

Once you add the domain, click on the ‘submit’ button, and you will be redirected to the page where you will be able to see the ‘site key’. Refer to the below screenshot.

Inogic_1-1712058655817.png

 

Step 2:

 

Now to add the Google re-CAPTCHA to our portal, we have to write some HTML code.

 

Inogic_2-1712058655820.png

 

In this, we have taken 2 input fields and one div with id – ‘html-element’ in which our Google re-CAPTCHA will be visible.

 

Step 3:

 

Add this link to your HTML.

 

 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&amp;render=explicit" async=""
  defer=""></script>

 

 

Step 4:

 

Now add the given onload function to the JavaScript file.

 

Inogic_3-1712058655821.png

 

Using this function, your Google Captcha will be visible on your HTML page.

 

Inogic_4-1712058655823.png

Step 5:

 

Now, when we click on “I’m not a robot,” we will get to see this type of puzzle.

 

Inogic_5-1712058655840.png

 

Step 6:

 

This code will create the contact when it gets the response from the captcha. If there is no response from the captcha, then it will throw a pop-up message to fill the captcha.

 

Inogic_6-1712058655844.png

 

 

Inogic_7-1712058655846.png

 

As you can see in the above image, the captcha is not clicked, so it will give an error message in the pop-up.

Note: - This validation pop-up is a custom modal created using HTML, CSS, and JS.

 

Inogic_8-1712058655848.png

 

 

Inogic_9-1712058655849.png

Inogic_10-1712058655852.png

 

Once all the fields are filled out, the contact with the given first and last name will be created.

 recaptcha.png

 

Conclusion:

 

This blog outlines the process of integrating the Google re-CAPTCHA into the Power pages and performing the WebAPI operations according to the captcha response.

EricRegnier
Most Valuable Professional
Most Valuable Professional

Ever wondered if you had the latest and greatest version of the Plugin Registration Tool (PRT) or Configuration Migration Tool (CMT)? And always had to Google Bing Copilot it to find and download the tool? You can now just pac it!

Read more...

Surendran_R
Advocate III
Advocate III

Are you looking to enhance the functionality of your Power Apps Portals and provide users with an intuitive way to view events and schedules? Look no further than leveraging the List Calendar View feature. In this article, we'll walk you through the steps to seamlessly integrate this dynamic calendar view into your portal.

With the List Calendar View in Power Apps Portals, you can transform a standard list of events into an interactive and visually appealing calendar format. Whether you're managing marketing events, training sessions, or project deadlines, this feature offers a streamlined way for users to stay informed and organized.

We'll start by guiding you through the process of creating a list within your Power Apps Portals environment, using the Event entity to store relevant information. From there, we'll demonstrate how to enable the Calendar View feature, allowing you to map essential fields such as Start Date, End Date, and Summary.

Once the calendar view is enabled, we'll show you how to seamlessly integrate it into your portal pages. Whether you're creating a new web page or updating an existing one, adding the calendar view component is a breeze, thanks to the intuitive interface of Power Apps Portals Studio.

But the customization doesn't stop there. We'll also provide tips on how to leverage custom entities to achieve unique calendar views tailored to your specific needs. Whether you're highlighting product releases, tracking customer appointments, or showcasing community events, the possibilities are endless.

By following our step-by-step guide, you'll empower your portal users with an engaging and user-friendly way to navigate events and schedules. From marketing professionals to project managers, everyone can benefit from the convenience and efficiency of the List Calendar View in Power Apps Portals.

So why wait? Unlock the full potential of your Power Apps Portals today and revolutionize the way your users interact with event data. Dive into our article and discover how easy it is to create dynamic calendar views that elevate the user experience and drive engagement.

Read more...

sandeepstw
Super User
Super User

Microsoft has unveiled its latest innovation within the AI Builder ecosystem: the ChatGPT model. This cutting-edge addition opens up a world of possibilities for businesses seeking to enhance customer interactions, streamline internal communication, and revolutionize their service offerings.  

Many businesses are adopting ChatGPT to fulfill their business requirements. Just imagine the convenience of automating ChatGPT tasks so you don't have to manually open it to compose emails. With Power Automate, all this can be automated. Whether it's responding to customer emails, selecting candidates, or identifying errors in your work, you can automate everything and utilize ChatGPT to enhance the quality of your work processes. 

Read more...

Amik
Super User
Super User

I recently came across the following scenario posted on the forums and I moved my response to this blog.

Read more...

Joseph_Fadero
Continued Contributor
Continued Contributor

The excitement around low code solutions and technological advancements has made everyone eager to see automation advances. Since we are technophiles and using low-code technology is our course of action, automating our process is not only an exciting but groundbreaking move for us. Even so, we need to take a moment to reflect and consider: Automation is undoubtedly beneficial, but is it necessary for everything to be automated? As digital automation becomes more prevalent, the dilemma of how to discern which jobs are appropriate for automation and which ones are not arises. We should not put off taking the initiative to search for indications of various parallels among these pointless initiatives.



Read more...

Rahman1005
Advocate III
Advocate III

User Case: When setting up a contact in Dynamics 365, verify if a contact with the same email address already exists. If it does, prompt an error message indicating a duplicate email address.

Step 1:  Navigate to make.powerapps.com, screen 1 àCreate a Blank Canvas App à Connect with Dynamics 365 Data Source à Connect Contact Entity as Dataset (You can connect other entity also as per your requirement)

Rahman1005_0-1710842494629.png

 

Rahman1005_1-1710842509874.png

 

Step 2:  Screen 2 - Insert a new Blank Screen to show Duplicate Detection Dialog

Rahman1005_2-1710842522609.png

 

Step 3:  Add few Text Input and Button Controls in Screen 1 or design as per your need.

Rahman1005_3-1710842533166.png

 

Step 4:  Add below formula on Button Control (onSelect property) to find Duplicate Record.

If(IsBlank(

LookUp(Contacts,emailaddress1 =Emailaddress_Text.Text)),

UpdateContext({result: "Duplicates Record not found"}),

Navigate(DuplicateDetectionDailogbox,ScreenTransition.CoverRight)

);

Rahman1005_4-1710842549409.png

 

You can use following formula also on Button Control (onSelect property) to find Duplicate Record

UpdateContext({recordCount: CountIf(Contacts,emailaddress1 = Emailaddress_Text.Text)});

 

If(recordCount > 0, Navigate(DuplicateDetectionDailogbox,ScreenTransition.Fade))

 

Step 5: Test the App

Rahman1005_5-1710842562069.png

 

Before running the App, I’ve taken the existing email address from an existing contact.

Rahman1005_6-1710842585847.png

 

 

And I’ve entered details into the App. Upon clicking 'Submit,' the Duplicate Detection Screen will appear.

Rahman1005_7-1710842596973.png

 

 

If you provide a new email address that does not exist in the contact records, the result will be display as “Duplicates Record not found”. You can find result from variables.

Rahman1005_8-1710842605865.png

 

Thank you..!

LaurensM
Super User
Super User

In this blog post we’ll explore how introducing a collection to our scanning approach can easily allow us to build our own ‘reset’ functionality for the Barcode Reader control.

Read more...

Amik
Super User
Super User

I recently came across the following scenario posted on the forums and I moved my response to this blog.

 

Scenario:

 

When a user selects a record from a Gallery control, an Edit Form is automatically populated with the selected record. The user wants to be able to copy the existing record, make a change to one or more fields, and then submit the Form as a new record.

Read more...