Power Platform: Vibe Coding en la Power Platform con Plans y su evolución (Vibe Power Apps)!
En este ocasión os dejo un video sobre Vibe Coding en la Power Platform y su evolución con Vibe Power Apps.
En este ocasión os dejo un video sobre Vibe Coding en la Power Platform y su evolución con Vibe Power Apps.
Power Platform Analytics is evolving to incorporate insights on the adoption and usage status of Power Apps, Power Automate, and Agents within an organization over the last 28 days. It provides a summarized report by core Power Platform workload, followed by an inventory of Apps, Flows, and Agents:

This new usage Analytics is currently in Preview and, for now, only provides a snapshot of the last 28 days with no option to change the time range.
Este sábado tendré el honor de participar en la edición 2026 del Global Bootcamp de Barcelona en la que realizaré dos sesiones un tanto diferentes. La primera, como no, focalizada en Agentes en el ámbito de SharePoint que en unos días cumple 25 años.
La segunda, como parte del patrocinio de RICOH España, estará orientada a Vibe Coding en la Power Platform.
Agradecer al equipo organizador (Jonathan, Carlos, Toni, entre otros) por contar conmigo en el evento y a mi empresa por hacer posible que participe como Speaker y también se patrocinador platino. Nos vemos este sábado.
El Analytics de Power Platform está evolucionando para incorporar el punto de vista del estado de la adopción y uso de Power Apps, Power Automate y Agentes en una organización durante los últimos 28 días. Se muestra un informe resumido por workload core de la Power Platform y luego un inventario de Aplicaciones, Flujos y Agentes:

Este nuevo Analytics de uso está actualmente en Preview y por el momento da una foto en los últimos 28 días sin posibilidad de poder cambiar el rango de tiempo.
Este miércoles 4 de febrero tendré el honor de volver a participar en la edición 2026 de uno de los eventos de referencia de captación de talento de España: Empleatech 2026. En esta ocasión junto con Enrique Arribas estaré dando una sesión técnica (novedad de este año) sobre Vibe Coding en Power Platform aunque el trasfondo es el cambio de paradigma del desarrollador de software en el presente que tiene que construir software orientado a la especificación sin importar si hablamos de NowCode, Low Code o ProCode. Agradecer a Paco Racionero y a la organización de Empleatech el contar conmigo para las sesiones técnicas del evento.

In my previous blog about image columns in SharePoint, I explained all you need to know about New Image column type in SharePoint online including how to create an image column, how to add image to a list item, where the Images will be stored, etc.
Last year Microsoft added support for displaying images from SharePoint Online/Microsoft Lists to Power Apps canvas apps. Now, Microsoft is adding support for adding, updating, and deleting images from image columns in SharePoint online/Microsoft Lists using Power Apps canvas apps.
Newly created canvas apps that have a SharePoint data connection and are connected to a list can use controls that can add, update, or delete images from the SharePoint list. To use the same functionality in existing canvas apps, you have to delete the existing SharePoint data connection and then re-add it to refresh the data schema.
Follow below steps to configure SharePoint Form control in canvas app to add pictures/images to SharePoint lists:
1. Create a SharePoint online list and then create an image column in the SharePoint list.
2. Go to make.powerapps.com, create a blank canvas app and add SharePoint list data source.
3. Add Form control in app from Insert > Forms > Edit form
4. Set Data Source property of form control to SharePoint list data source and DefaultMode property to FormMode.New
5. Select form control from tree view, click on Edit fields option from Properties panel at the right side of screen.
6. Add your image column to form using + Add field option on Fields panel and select Add picture as a Control type as shown in below image. Power Apps will add Add picture control inside the data card for image column.

7. Add a button control in canvas app and set it’s OnSelect property to:
SubmitForm(Form1)
8. Now when you run the canvas application, you can select an image from your computer using Add picture control and save it to SharePoint list using SubmitForm() function used in button control.

You can also use the Patch() function to add or update an image in image columns in SharePoint/Microsoft Lists using Power apps canvas apps. You can use similar code as given below on OnSelect property of button control:
Patch(
'Logo Universe',
Defaults('Logo Universe'),
{
Title: TextInputControl.Text,
Image: ImageControl.Image
}
)
You can delete an image from SharePoint image column using Blank() value for image column in Power Apps Patch function:
Patch(
'Logo Universe',
Defaults('Logo Universe'),
{
Title: TextInputControl.Text,
Image: Blank()
}
)
Below image formats are supported currently while using this feature:
I hope you liked this blog. Please give your valuable feedback & suggestions in the comments section below and share this blog with others.
Tech giant Microsoft is introducing Embed web part in SharePoint spaces which will allow users to show SharePoint pages or HTML page embed content as an interactable overlay on a SharePoint space. Space viewers will see a thumbnail image in the 3D space that can be viewed as a fully functional HTML overlay when selected by the user. Space viewers that are using a mixed reality headset will only see the thumbnail when selecting the web part unless they return to the browser to interact with the embedded content.
This new feature release will allow users to add content such as:
This message is associated with Microsoft 365 Roadmap ID 70732.
SharePoint spaces authors will see a new embed web part available in the spaces web part toolbox while designing a SharePoint space.
SharePoint spaces authors will see embed web part as shown in below image:

You might want to notify your users about this new capability and update your training documentation as appropriate.
In my previous blog all you need to know about Image column type in SharePoint online, I explained how to create an image column, adding images to SharePoint list items and where the Images will be stored in SharePoint online site.
At the time I wrote that blog, it was not possible to display the images from SharePoint online/Microsoft lists in Power Apps. But, Power Apps image controls can now display images that are stored in image columns in SharePoint online/Microsoft Lists. The Images in Power Apps can be displayed in four different sizes:
This feature is associated with Microsoft 365 Roadmap ID 81986.
New Power apps that use the SharePoint connector to add a list as a data source may display images from the list if they are present in the list. Existing apps can also be updated to show images.
You might want to notify your users about this new functionality and update your training and documentation as appropriate.
The new Power Apps PDF Function can generate a PDF document from any screen or control. It makes the task of creating PDFs very simple and only requires a standard license. Once the PDF is generated we can then view a PDF and download a PDF from directly inside of the app itself. In this article I will show you how to use the Power Apps PDF Function.
Table of Contents
• Introduction: The Work Orders App
• Setup The SharePoint List
• Insert A Vertical Container
• Add A Power Apps Form To The Vertical Container
• Enable The Power Apps PDF Function Experimental Feature
• Generate A PDF Of The Power Apps Form
• View The PDF In Power Apps
• Create A SharePoint Document Library To Store PDF Files
• Build A Flow To Download PDF Files From A SharePoint Document Library
• Download The PDF Directly From Power Apps
The work orders app is used by employees at a plumbing services company to track job details. An employee can view a PDF of the Work Order form on their device and download a copy of the PDF.

Create a new SharePoint list named Work Orders with the following columns:
Add a new row to the SharePoint list with this data. We will display it on the Work Order PDF.
| Column | Value |
| Map | |
| Address | 67 River Road |
| LastName | Jones |
| AppointmentDate | 3/28/2021 |
| IssueReported | Water is dripping from the upstairs bathroom into the basement. Homeowner believes it is coming from the bathtub. Only happens when the tub is turned on. |
| MaterialsRequired | 5 – PVC Pipes 1 – Tube Of Sealent 10 – Screws |
A PDF cannot be generated for a Power Apps Edit Form so we must use a workaround. We can place an Edit Form inside of a container and create a PDF of container’s contents instead. Open Power Apps Studio and create a new app from blank. Insert a vertical container onto the screen.

Make the vertical container fill the screen by giving the following properties these values.
Height: App.Height
Width: App.Width
X: 0
Y: 0
Set the LayoutAlignItems property to this value to make them fill the width of the container.
LayoutAlignItems.Stretch
Add a label to the container to use as a title bar. Give it the text “Work Order” and apply a dark blue fill.

Next we will create a Power Apps Edit Form to display Work Order information. Open the Data tab from the left navigation menu and add the Work Orders SharePoint list as a data source.

Insert a Power Apps Edit form into the vertical container. Select the Work Orders SharePoint list as the data source.

Update the Edit Form to use a vertical layout with only 1 column.

Use this code in the Item property of the form to display the first record in the SharePoint list. In this tutorial the user will not have an ability to select another record.
LookUp('Work Orders', ID=1)
Change the DisplayMode property of the the Edit Form to View.
DisplayMode.View
The Power Apps PDF Function is an experimental feature and is not enabled by default. To use it, go to the Settings menu, select upcoming features, then toggle on the PDF Function setting.

When the user clicks on a PDF icon it generates the PDF and navigates to a screen with PDF viewer. Add a PDF icon to the app’s titlebar.

Then write this code in the icon’s OnSelect property.
The first argument to the Power Apps PDF Function tells it which screen or control to generate a PDF from. The second argument can be used to pass in optional values to control the PDF’s size, orientation, margins & DPI. Here we will use the ExpandContainers parameter to ensure the container expands to show any hidden or off-screen controls.
Set(
varWorkOrderPDF,
PDF(
con_WorkOrder,
{ExpandContainers: true}
)
);
Navigate('PDF Viewer Screen');
We need to make another screen to display the PDF. Create a new screen named PDF Viewer Screen. Add a dark blue label for a titlebar and insert a left arrow icon in the top-left corner.

Use this code in the OnSelect property of the left arrow icon to navigate back to the previous screen.
Set(varWorkOrderPDF,Blank());
Navigate('Work Order Screen');
Add the PDF Viewer control the screen. Position the PDF Viewer control so it fills the remaining space on the screen.

Use this code in the document property of the PDF. The PDF document will now display in the PDF viewer.
varWorkOrderPDF
Test the feature we built to generate and view a PDF from Power Apps. It should look like this.

We want to create the ability to download the PDF file directly from Power Apps. To do this, we need a place to temporarily store the PDF file. Make a new SharePoint Document library named Exported PDFs. No additional setup is required beyond creating the document library.

To download the PDF file we must make a flow to store the PDF file in SharePoint and then return a file download link to the app. Open Power Automate, create a new flow named Download PDF From Power Apps and setup the flow as show in the image below.

Use this code in the File Name property of the SharePoint – Create File action.
triggerBody()['file']['name']
A link to the PDF file in SharePoint opens it in the SharePoint document viewer. However, we want to perform a direct download of the PDF file instead. We can use this special URL to bypass the SharePoint document viewer and download the file. Fill in any tags <> with your own values.
https://<tenantname>.sharepoint.com/sites/<site collection title>/_layouts/15/download.aspx?SourceUrl=/sites/<site collection title>/<file path with the library name>
My completed URL looks like this.
https://matthewdevaney.sharepoint.com/sites/MatthewDevaneyBlog/_layouts/15/download.aspx?SourceUrl=/sites/MatthewDevaneyBlog/Exported PDFs/WorkOrder_20230423081046.pdf
Now that the Power Automate flow is completed go back to Power Apps Studio and add the Download PDF From Power Apps flow to the app.

Insert a save button icon in the top left corner of the PDF Viewer Screen.

Then add this code to the OnSelect property of the save icon. The Download function downloads a file from the internet to the user’s device. We get the file’s web address returned in the path property of the Download PDF From Power Apps flow.
Download(
DownloadPDFFromPowerApps.Run(
{
name: $"WorkOrder_{Text(
Now(),
"yyyymmddhhmmss"
)}.pdf",
contentBytes: varWorkOrderPDF
}
).path
);
Test the completed download PDF from Power Apps feature. It should work like this:

Subscribe to get new Power Apps articles sent to your inbox each week for FREE
If you have any questions or feedback about Power Apps PDF Function: Create, View & Download PDFs please leave a message in the comments section below. You can post using your email address and are not required to create an account to join the discussion.
The post Power Apps PDF Function: Create, View & Download PDFs appeared first on Matthew Devaney.
Are you struggling to create a tabbed form in Power Apps? Check out this complete step-by-step tutorial on how to create multiple tabs form in power apps
Recently, we got a requirement to build a tabbed form within the Power Apps while working with the Power Apps’ customized SharePoint form.
That means we will create an app within the Power Apps having multiple tabs such as Personal Details, Education, and Projects. When the user clicks on the ‘Personal Details’ tab, the respective form with fields will be visible. Similarly, when the ‘Education’ tab is clicked, the respective fields will be displayed as shown below:

Here, we will see how to create a Power Apps tabbed form. To work with the above scenario, follow the below step-by-step guide:
| Column Name | Type |
| Full Name | Single line of Text |
| Single line of Text | |
| Mobile | Number |
| DOB | Date |
| Gender | Choice |
| Address | Multiple lines of text |
| Highest Qualification | Choice |
| Course Name | Choice |
| University | Choice |
| Passing Year | Choice |
| Academic Project | Single line of Text |
| Project Type | Choice |
| Project Group | Choice |
| Skills | Single line of Text |




Items = Table({ID:1, label:"Personal Details"}, {ID:2, label:"Education"}, {ID:3, label:"Project"})
Where, we have created 3 tabbed such as Personal Details, Education, and Project whose IDs’ are 1,2, and 3 respectively.

Text = ThisItem.label

OnSelect = Set(VarTabClicked, ThisItem.ID)
Where VarTabClicked is the name of the global variable and ThisItem.ID is the value of the variable.

Title's Visible: VarTabClicked =1
Email's Visible: VarTabClicked =1
Mobile's Visible: VarTabClicked =1
DOB's Visible: VarTabClicked =1
Gender's Visible: VarTabClicked =1
Address's Visible: VarTabClicked =1
Attachment's Visible: VarTabClicked =1
Below, we are displaying a screenshot where we have set the DOB data card’s Visible property as VarTabClicked =1.

Highest Qualification's Visible: VarTabClicked =2
Course Name's Visible: VarTabClicked =2
University's Visible: VarTabClicked =2
Passing year's Visible: VarTabClicked =2
As per the above expression, the above-mentioned data card will only appear when the Education tab is clicked.

Academic Project's Visible: VarTabClicked=3
Project Type's Visible: VarTabClicked=3
Project Group's Visible: VarTabClicked=3
Skills's Visible: VarTabClicked=3
As per the above expressions, the above-mentioned data cards will appear only when the Project tab is clicked.

That’s it! We can see when the user clicks on any tab, the respective data cards will appear as shown below:

OnSelect = SubmitForm(SharePointForm1)
Where SharePointForm1 is the name of the SharePoint customized form.


Now preview the app and click on each tab to insert the respective data with values. Press the Save icon.

This is how to build a tabbed form within the Power Apps.
Along with this, as we have created this tabbed form by integrating the SharePoint list, we can see this tabbed form within the SharePoint list while creating a new item.

This is how to display a Power Apps customized form within the SharePoint list.
In the above section, we have seen how to create a tabbed form from the SharePoint customize form within Power Apps. Now, we will see how to create a Power Apps tabbed form using the Canvas app.
For this, we are going to use the above SharePoint list and the following steps are:

Items = ["Personal Details", "Education Details", "Project Details"]
Where Personal Details, Education Details, and Project Details are the name of the tabs that we are going to use.

Text = ThisItem.Value

Fill = If(ThisItem.IsSelected,Color.LightBlue,RGBA(0,0,0,0))
HoverFill = Color.LightBlue
RadiusTopLeft = 25
RadiusTopRight = 25
As a result, now the button control will look like as below:

OnSelect = Set(VarTabClicked, Self.Text)
Where VarTabClicked is the name of the global variable and Self.Text indicates the respective button’s name that has been clicked.


Full Name's Visible: VarTabClicked = "Personal Details"
Email's Visible: VarTabClicked = "Personal Details"
Mobile's Visible: VarTabClicked = "Personal Details"
DOB's Visible: VarTabClicked = "Personal Details"
Gender's Visible: VarTabClicked = "Personal Details"
Address's Visible: VarTabClicked = "Personal Details"
Attachment's Visible: VarTabClicked = "Personal Details"
Now, we can see all the above-mentioned fields will be visible only when the Personal Details tab is clicked.

Highest Qualification's Visible: VarTabClicked = "Education Details"
Course Name's Visible: VarTabClicked = "Education Details"
University's Visible: VarTabClicked = "Education Details"
Starting Year's Visible: VarTabClicked = "Education Details"
Passing Year's Visible: VarTabClicked = "Education Details"
Mark Secured in Percentage's Visible: VarTabClicked = "Education Details"

Academic Project's Visible: VarTabClicked = "Project Details"
Project Summary's Visible: VarTabClicked = "Project Details"
Project Type's Visible: VarTabClicked = "Project Details"
Project Group's Visible: VarTabClicked = "Project Details"
Skills's Visible: VarTabClicked = "Project Details"
Your role in Project's Visible: VarTabClicked = "Project Details"

Now, for a better look, we’ll change the Edit form’s Column property to 1 and DefaultMode to New.
That’s it! Let’s save and publish the app for now. Play the app in preview mode and we can see that when we click on a certain tab the respective fields will appear as shown below:

OnSelect = SubmitForm(Form1)
Where Form1 is the name of the Power Apps edit form.
OnSelect = ResetForm(Form1)

Let’s fill in the fields and click on the Save button. We can see the inserted data will save into the SharePoint list.

This is how to build a tabbed form within the Power Apps canvas app using a SharePoint list.
In this section, we will see Power Apps tabbed form with the required fields.
Suppose, there are certain required or mandatory fields available in the above SharePoint list.

Let’s refresh the SharePoint data source list on the above-mentioned Power Apps canvas app tabbed form. Once the data source is refreshed, we can see the required fields (data cards) will appear with the small asterisks symbol.

Also, we can see on the above screen, by default a required message is appearing under the required fields.
In Power Apps, it doesn’t allow saving the inserted data without filling in these fields. We also, observe that the required message automatically disappears once the field is filled as shown below:

Once mandatory fields will fill, we can able to save the data to the data source. This is how to work with Power Apps tabbed form with the required fields.
From this Power Apps Tutorial, we learned how to build a create multiple tabs form in power apps from a SharePoint list based on different scenarios. Such as:
You may also like the following Power Apps tutorials:
Do you know how to upload a file or an image in a Dataverse row using Power Automate? No worries! In this Dataverse tutorial, we will see how to work with Power Automate Dataverse Upload a File or an Image.
In a recent assignment, I had to use Power Automate to upload a file to a certain Dataverse row. And we’ll put it into practice through this tutorial to see how it functions.
Also, Read: Power Automate Dataverse Add New Row
Here, we will take one scenario and explore how to upload a file or an image into a Dataverse row using Power Automate.
Example:

Refer to the screenshot below.

To achieve this above requirement, follow the steps below.
Step – 1: [Create a new automated flow]

Step – 2: [Provide Flow name and Choose the trigger]

Step – 3: [Select Include Attachments]

Step – 4: [Add Get Attachment]



Step – 5: [Insert List rows action]

contains(crf9a_sender, 'From')
Where,

Step – 6: [Upload a file or an image action]


Refer to the screenshot below.

Step – 7: [Save and Test the flow]


Step – 8: [Flow ran successfully]

Step – 9: [Refresh the Dataverse table]

Step – 10: [Save the File]

This is how to Upload a File or an Image in Dataverse using Power Automate.
Furthermore, you may like some more Dataverse and Power Apps tutorials:
In this Dataverse tutorial, we discussed how to work with Power Automate Dataverse Upload a File or an Image.
In this Power Apps Tutorial, we will see how to get value from text input in Power Apps.
Recently, we were asked by one of our clients to get value from text input. That means when the user inserts any data within the text input control and clicks on a button control, the item will be getting by a data source (Whether it is a collection or SharePoint list). Follow this tutorial, to get the solution.
Along with this, we will cover the below topics based on the Power Apps text input control. Such as:
Also, Read: How to Get Gallery Item By ID in Power Apps
In this section, we will see how to get the value from a single text input control to a data source.
Here, we are going to use a collection that will display the value that we got from the text input control. To work with these scenarios, the following steps are:
OnVisible = ClearCollect(
ColName,
{UserName: "Johney"},
{UserName: "Marly"}
)
Where ColName is the name of the collection and UserName is the name of the collection header.

OnSelect = Patch(
ColName,
Defaults(ColName),
{UserName: UserName_txtInput.Text}
);
Reset(UserName_txtInput)
As per the above expression, when the user clicks the button the item will store in the collection.

That’s it! We can see that when we insert any item in the text control and click on the button, the collection (that is connected to the gallery) will get that value from the text input. After that, the text input control will be reset to blank.

This is how to get an item from the Power Apps text input control.
Check out: Power Apps Set ThisItem Value [With Real Examples]
In this section, we will see how to get value from Power Apps text input using the filter function. That means when the user inserts any text in the text input control the item will be within a gallery and will be filtered as per the inserted text value.
To achieve this requirement, the following steps are:

Items = Filter(
'Products List',
Company.Value = Company_txt.Text
)
Where Company_txt is the name of the Power Apps text input control. As the company is a choice column, it is denoted as Company.Value.


This is how to get value from Power Apps text input control using a filter function.
Have a look: How to Select First Item in a Power Apps Gallery
In this section, we will see how to get the items from the Power Apps text input control using the search function.
That means, when the user inserts any text input control, it will search the items that contain that given text and display those items within a Power Apps gallery.
To work with this scenario, we are going to use the above Power Apps gallery and the following steps are:
Items = Search(
'Products List',
Products_txt.Text,
"Title"
)
Where Products_txt is the name of the Power Apps text input control and “Title” is the name of the SharePoint list column name.

Let’s preview the app and insert a text within the text input control. Now, we can see that the gallery will display only those items whose title contains the specified text from the text input control.

This is how to get the value from a Power Apps text input control using the search function.
In this section, we will see how to get password value from a Power Apps text input control. That means, when the user inserts their password via Power Apps text control, it will retrieve that password value from the text input control and collect them on a collection.
To work with this scenario, the following steps are:


OnSelect = Collect(
ColUser,
{
UserID: UserID_txtInput.Text,
Password: Password_txtInput.Text
}
)
Where,


This is how to get the password value from the Power Apps text input control.
Furthermore, you may like some more Power Apps tutorials:
From the above Power Apps Tutorial, we learned how to get value from the Power Apps text input control based on different scenarios such as:
This Power Apps Tutorial will teach us how to work with how to get gallery item by ID in Power Apps.
While working with the Power Apps canvas app, we got a requirement to get the gallery item by their respective ID.
Here, we will see how to get an item by their ID within the Power Apps gallery.
Also, Read: Power Apps Set ThisItem Value [With Real Examples]
This section will show how to get an item via id within the Power Apps gallery. That means the Power Apps gallery will display only those items whose ID matches the given ID.
To work with the scenario, the following steps are:

Items = Filter('Content Scheduler', ID = 5)
Where ‘Content Scheduler’ is the name of the SharePoint data source, and ID is the name of the SharePoint list column.

This is how to get a gallery item by ID within Power Apps.
Check out: Power Apps Gallery Patch [With Various Examples]
In this section, we’ll look at how to retrieve gallery items by ID using the OR condition. That means, from the above Power Apps gallery retrieve the items whose IDs are equal to 7 or 3.
To get the gallery items, the following steps are:
Items = Filter(
'Content Scheduler',
ID = 7 Or ID = 3
)
Once the formula is applied, we can see the Power Apps gallery will display only those items whose ID matches to 3 or 7.

This is how to get a gallery item by ID using OR condition within the Power Apps.
Read: Power Apps Checkbox control within Gallery
In this section, we will see how to get gallery items via ID based on a dropdown control within the Power Apps. That means when the user selects any ID from the dropdown control the respective item will be displayed on the Power Apps gallery.
To work with this scenario, we are going to use the above Power Apps gallery and the following steps are:
Items = 'Content Scheduler'.ID

Items = Filter(
'Content Scheduler',
ID = ItemID_dd.Selected.ID
)
Where ItemID_dd is the name of the Power Apps dropdown control.

Let’s preview the app and select any ID from the dropdown control. We can see the respective item will be displayed in the Power Apps gallery.

This is how to get the gallery item by ID using a Power Apps dropdown control.
Additionally, you may like some more Power Apps Tutorials:
From this Power Apps Tutorial, we learned how to get the gallery item by ID based on different scenarios such as:
This is the 2nd article in a series about how to build your own timesheets app in Power Apps. The first article focused on creating a timesheet lines feature with the ability to add, edit, delete and save lines. This article will continue the tutorial to include the ability to create new timesheets and submit them for approval.
If you haven’t completed Make A Power Apps Timesheet App Part 1 then I would highly encourage you to check it out first.
Table of Contents
• Setup The Timesheets SharePoint List
• Add A LookUp Columns To The Timesheet Lines SharePoint List
• Design The Sidebar Menu
• Create A New Timesheet
• Save The New Timesheet To The SharePoint List
• Submit The Completed Timesheet
• Update The Save Button Code
• Lock The Text Input Fields When Timesheet Is Submitted
• Delete An Existing Timesheet
• Display The Current User's Timesheets In The Sidebar
• Select A Timesheet From The Sidebar
• Timesheets App Completed
Create a new SharePoint list with the following columns:
The SharePoint list will look like this once it becomes populated with data.

Each timesheet will have one or more associated timesheet lines. Therefore, we must create a relationship between the Timesheet List and the Timesheet Lines. Go to the Timesheet Lines SharePoint list and add a new column named TimesheetID.

Add a new label to the SidebarContainer with the text “Timesheets.” Give it the same styling as the “Timesheet” label in the HeaderContainer but make the Color property White.

Insert a horizontal container named NewTimesheetContainer into the SidebarContainer.

Place an Add Document icon and a label with the text “New Timesheet” inside the NewTimesheetContainer.

Write this code in the OnSelect property of the icon to set the current timesheet value to blank and clear the deleted time sheet lines collection.
Set(gblTimesheetCurrent, Blank());
Clear(colDeleteTimesheetLines);
When a user presses the New Timesheet icon a form will appear and ask the user to select the new timesheet’s week. Insert the following 4 controls into the MainSectionContainer.

The highlighted areas will conditionally shows based upon whether the variable gblTimesheetCurrent is blank or is not blank.

Set the Visible property of all controls highlighted in green to this code…
IsBlank(gblTimesheetCurrent)
…and set the Visible property of all controls highlighted in orange to this code.
!IsBlank(gblTimesheetCurrent)
Update the timesheet title label to show the text “Create A New Timesheet” when the variable gblTimesheetCurrent is blank.

Use this code in the Text property of the title label. When the variable gblTimesheetCurrent is not blank display the selected timesheet’s
If(
IsBlank(gblTimesheetCurrent),
"Create A New Timesheet",
$"Timesheet: {Text(
gblTimesheetCurrent.StartDate,
"mmmm d"
)} - {Text(
gblTimesheetCurrent.EndDate,
"mmmm d, yyyy"
)}"
)
Once the user clicks the next button the timesheet is saved to SharePoint and they can begin to enter their time worked.

Write this code in the OnSelect property of the button. The Employee field is populated with a person type value. StartDate and EndDate are set to the Sunday and Saturday of the selected week. Status is New and TotalHours are 0.
// create a new timesheet and store the result
Set(
gblTimesheetCurrent,
Patch(
Timesheets,
Defaults(Timesheets),
{
// set timesheet employee to current user
Employee: {
'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: $"i:0#.f|membership|{User().Email}",
Department: "",
DisplayName: User().FullName,
Email: User().Email,
JobTitle: "",
Picture: ""
},
// set start date to Sunday of the selected week
StartDate: DateAdd(dte_TimesheetWeek.SelectedDate,1-Weekday(dte_TimesheetWeek.SelectedDate,StartOfWeek.Sunday),TimeUnit.Days),
// set end date to Saturday of the selected week
EndDate: DateAdd(dte_TimesheetWeek.SelectedDate,1-Weekday(dte_TimesheetWeek.SelectedDate,StartOfWeek.Sunday)+6,TimeUnit.Days),
Status: {Value: "New"},
TotalHours: 0
}
)
);
// create the first timesheet line
ClearCollect(
colTimesheetLines,
Patch(
'Timesheet Lines',
Defaults('Timesheet Lines'),
{TimesheetID: gblTimesheetCurrent.ID}
)
);
// reset date picker to blank
Reset(dte_TimesheetWeek)
After the Next button is pressed the RightContainer updates to look like this.

We must update the new line icon code to apply the Timesheet ID.

Replace any code in the OnSelect property of the new line icon with this code.
Patch(
colTimesheetLines,
Defaults('Timesheet Lines'),
{TimesheetID: gblTimesheetCurrent.ID}
)
The save button writes timesheet data back to the SharePoint list but it does not update the timesheet status to “Submitted”. To do this, insert a new Send icon into the ActionsContainer and label with the text “Submit.”

Write this code in the OnSelect property of the Submit icon. The final line of code uses the the Select function to run the code found in the OnSelect property of the Save icon. We will update that code next.
// update the timesheet status to submitted
Set(
gblTimesheetCurrent,
Patch(
Timesheets,
gblTimesheetCurrent,
{Status: {Value: "Submitted"}}
)
);
// save the timesheet lines
Select(ico_Save);
The Save button must now perform one additional action to update the timesheet’s total hours.

Add the new code below to the OnSelect property of the Save icon.
// collection to update timesheet lines
ClearCollect(
colUpdateTimesheetLines,
ForAll(
gal_TimesheetLines.AllItems,
'Timesheet Lines'@{
ID: ID,
TimesheetID: TimesheetID // <----- NEW CODE
PayCode: drp_PayCode.Selected.Value,
Sunday: Value(txt_Sunday.Text),
Monday: Value(txt_Monday.Text),
Tuesday: Value(txt_Tuesday.Text),
Wednesday: Value(txt_Wednesday.Text),
Thursday: Value(txt_Thursday.Text),
Friday: Value(txt_Friday.Text),
Saturday: Value(txt_Saturday.Text)
}
)
);
// update timesheet lines and store the results
ClearCollect(
colTimesheetLines,
Patch(
'Timesheet Lines',
gal_TimesheetLines.AllItems,
colUpdateTimesheetLines
)
);
// delete timesheet lines
ForAll(
colDeleteTimesheetLines,
Remove(
'Timesheet Lines',
ThisRecord
)
);
Clear(colDeleteTimesheetLines);
// ***NEW CODE***
// update total hours on timesheet record
Set(
gblTimesheetCurrent,
Patch(
Timesheets,
gblTimesheetCurrent,
{
TotalHours: Sum(
colUpdateTimesheetLines,
Sunday
) + Sum(
colUpdateTimesheetLines,
Monday
) + Sum(
colUpdateTimesheetLines,
Tuesday
) + Sum(
colUpdateTimesheetLines,
Wednesday
) + Sum(
colUpdateTimesheetLines,
Thursday
) + Sum(
colUpdateTimesheetLines,
Friday
) + Sum(
colUpdateTimesheetLines,
Saturday
)
}
)
);
The user must not be able to change the timesheet lines once the timesheet is submitted.

Use this code in the DisplayMode property of the timesheet lines pay code dropdown menu and all of the text input fields.
If(
gblTimesheetCurrent.Status.Value="New",
DisplayMode.Edit,
DisplayMode.Disabled
)
Hide the ability to delete timesheet lines by setting the Visible property of the Trash icon to this code.
gblTimesheetCurrent.Status.Value="New"
A submitted timesheet should look like this.

We must add one more ability to the ActionsContainer to delete a timesheet. Insert a Trash icon and a label with the word “Delete” into the container.

Write this code in the OnSelect property of the Trash icon.
ForAll(
gal_TimesheetLines.AllItems,
Remove(
'Timesheet Lines',
{ID: ThisRecord.ID}
)
);
Clear(colDeleteTimesheetLines);
Remove(
Timesheets,
gblTimesheetCurrent
);
Set(
gblTimesheetCurrent,
Blank()
)
New timesheets will appear in the sidebar menu as they are created. The user can change to a different timesheet by clicking on it. Add a blank vertical gallery to the SidebarContainer.

Set the Flexible Height property of the gallery to true.

Use this code in the Items property of the gallery to show only the current user’s timesheets.
Sort(
Filter(
Timesheets,
Employee.Email = User().Email
),
StartDate,
SortOrder.Descending
)
Insert two labels into the gallery to display the timesheet start & end date and status,

Use this code in the Text property of the date range label.
$"{Text(
ThisItem.StartDate,
"mmm d"
)} - {Text(
ThisItem.EndDate,
"mmm d"
)}"
Write this code in the Text property of the status label.
ThisItem.Value.Status
When a user selects a timesheet from the sidebar it should appear in the RightContainer. Add a button to the gallery and make it fill the entire gallery row. Remove any text found in the button.

Use this code in the OnSelect property of the button to select the current timesheet and load its timesheet lines.
Set(
gblTimesheetCurrent,
ThisItem
);
ClearCollect(
colTimesheetLines,
Filter(
'Timesheet Lines',
TimesheetID = gblTimesheetCurrent.ID
)
);
Clear(colDeleteTimesheetLines)
Make the button Fill property transparent when the timesheet is not selected and show a slightly transparent white color when the timesheet is selected.
If(
ThisItem.ID=gblTimesheetCurrent.ID,
RGBA(255, 255, 255, 0.15),
Color.Transparent
)
Also update the HoverFill and PressedFill properties to this code.
RGBA(255, 255, 255, 0.15)
The timesheets app is now completed. Add any additional features that are required then deploy it to the organization.

Subscribe to get new Power Apps articles sent to your inbox each week for FREE
If you have any questions or feedback about Make A Power Apps Timesheet App – Part 2 please leave a message in the comments section below. You can post using your email address and are not required to create an account to join the discussion.
The post Make A Power Apps Timesheet App – Part 2 appeared first on Matthew Devaney.
In this Power Apps Tutorial, We will learn how to set a ‘ThisItem‘ operator within the Power Apps. Also, We will discuss how to work with the ThisItem operator within the Power Apps gallery based on different scenarios.
Currently, We got a requirement from one of our clients while working with a certain canvas app. As per their requirement, they want to set a variable value using the ThisItem operator.
Also, Read: How to Select First Item in a Power Apps Gallery
In Power Apps, ThisItem is a formula that refers to the currently selected item in a gallery or form control. When a user interacts with a gallery or form control, Power Apps automatically sets the context of ‘ThisItem‘ to the item that was selected.
The Power Apps ThisItem refers to the properties of the currently selected item, such as its ID or name, in formulas and expressions throughout your app. That is, it represents the current data structure for each section of the record within the respective gallery.
Here, we will see how to work with the Power Apps ThisItem operator within a gallery control. For this, the following steps are:
Text = ThisItem.SampleText

OnSelect = Set(VarValue, ThisItem.SampleText)

Text = VarValue
Where VarValue is the name of the global variable that we have created. Now, we can see when we click any button the respective item will be displayed on the text input control.

This is how to work with the ThisItem value in Power Apps.
Check out: How to get selected value from gallery in Power Apps?
Here, we will see how to set a value using the ThisItem operator within a Power Apps gallery. For this, we have a SharePoint list based on ‘Content Scheduler’ having different types of columns such as single line of a text column, choice column, and date as shown below:

On the Power Apps screen, let’s add a blank vertical gallery and connect the gallery with the above SharePoint list.

Text = ThisItem.Title
Once we insert the above formula it retrieves all the data from the title column of the specified SharePoint list.

text = ThisItem.'Draft Date'

Text = ThisItem.'Blog Status'.Value

Similarly, we have added 2 more text label control to add publish date and blog type as shown below:

This is how to set the ThisItem value in a Power Apps gallery.
Have a look: How to add text input to Power Apps collection?
In this section, we will discuss how to update a value in Power Apps gallery using the ThisItem property. That is, we will add an icon to the above Power Apps gallery. When the user clicks on that icon, the respective item’s ‘publish date’ will be updated to a specific date value.
To work with this scenario, the following steps are:
OnSelect = Patch(
'Content Scheduler',
ThisItem,
ContentScheduler_Gallery.Selected,
{'Publish Date': Today()}
)
Where

Let’s publish and preview the app. We can see when we click on any icon the respective date value will be updated within the above gallery.

This is how to update a particular item’s value by using the ThisItem in a Power Apps gallery.
Furthermore, you may like some more Power Apps tutorials:
From this Power Apps Tutorial, we learned all about Power Apps ThisItem property based on different scenarios. Such as:
In this Power Apps Tutorial, we’ll look at how to select first item in a Power Apps gallery.
We were recently asked to create a Power Apps gallery that would select the first item when working with the Power Apps canvas apps.
Along with this, we will discuss the below topics based on a select the first item within the Power Apps gallery control. Such as:
In this section, we’ll look at how to select the first item in a Power Apps gallery. That is, the gallery will be displayed by default by selecting the first item.
For this, we need to build a Power Apps gallery. We have a SharePoint list named Hotel Guest Registration that contains different types of columns such as single line of text, date, number, etc as shown below:


Note:
In the above Power Apps gallery, we have concatenated the guest’s first name and last name as well as the address and city by using the below expressions.
Default = First(Self.AllItems)

TemplateFill = If(ThisItem.IsSelected, Color.BlanchedAlmond,Color.LightGray)

This is how to auto-select the first item in a Power Apps gallery.
Here, we will see how to get the first selected item in a Power Apps gallery. For this, we are going to use the above example of the Power Apps gallery where the first item has been selected bydefault.
To get the first selected gallery item, the following steps are:
Items = Hotel_Registration_Gallery.Selected
Where Hotel_Registration_Gallery is the name of the Power Apps vertical gallery.

We can see that the Power Apps display form will show all of the details from the first gallery item that was selected.

This is how to get the first selected item in a Power Apps gallery.
Also, read How to create multiple tabs form in Power Apps
In this section, we’ll look at how to choose the first item from a filtered Power Apps gallery. That is, we will create a filter gallery based on a specific condition and then identify the first item from the filtered values.
To work with this scenario, we are going to use the above Power Apps gallery and the following steps are:
Items = Filter('Hotel Guest Registration','Check-in Date'=Date(2023,3,16))
Where ‘Hotel Guest Registration’ is the name of the SharePoint data source, and ‘Check-in Date’ is the name of the SharePoint list date column based on which we will filter the gallery data.

Items = First(
Filter(
'Hotel Guest Registration',
'Check-in Date' = Date(
2023,
3,
16
)
)
)
Also, insert the below expression on the gallery’s TemplateFill property to identify the selected first item.
TemplateFill = If(ThisItem.IsSelected, Color.DarkSalmon,Color.LightGray)

This is how to get the first selected item in the Power Apps filtered gallery.
We’ll look at how to get the first item in a Power Apps gallery collection in this section. As per the requirement, we will display the collection through a gallery and select the first item from it.
We made a collection based on a button control. That is, when the user clicks the button, a collection is created. For this, we have used the below expression on a Power Apps button control’s OnSelect property.
OnSelect = Collect(ColGadgets,
{Gadget:"Airpods Gen 2" , Year: 2022, Manufacturer: "Apple"},
{Gadget:"Meta Quest Pro" , Year: 2023 , Manufacturer: "Meta"},
{Gadget:"Google Pixel 7" , Year: 2022 , Manufacturer: "Google"},
{Gadget:"Watch Ultra" , Year:2023 , Manufacturer: "Apple"},
{Gadget:"G4 electric bike" , Year:2021 , Manufacturer: "Gocycle"},
{Gadget:"Legion Pro 7i Powerful Laptop" , Year:2023 , Manufacturer: "Lenovo"}
);


Items = First(ColGadgets)
We can see, the new gallery will display the first selected item from the Power Apps gallery collection as shown below:

This is how to get the first selected item in the PowerApps gallery collection.
From this Power Apps Tutorial, we learned all about getting the first selected gallery item within Power Apps based on different scenarios. Such as:
You may like the following Power Apps gallery control articles:
In this Power Apps Tutorial, we will learn how to get selected values from a gallery in Power Apps.
Recently, we got a requirement to get the value from a Power Apps gallery selected item while working with the canvas app.
Also, we will discuss the below topics based on getting selected values from a Power Apps gallery. Such as:
First, we’ll look at how to get the value of a Power Apps gallery item that has been selected.
We’ve created a Power Apps gallery that contains a couple of best-selling books and their authors.

As per the requirement, when a user selects an item from the Power Apps gallery, the selected value is gotten and displayed on the screen. To work with this scenario, the following steps are:
Text = "You have selected " & Books_gallery.Selected.Author & " - " & Books_gallery.Selected.BookName
Where Books_gallery is the name of the above gallery control.

By default, it is displaying the first selected item value on the Power Apps text label control. To identify the selected value from the Power Apps gallery, insert the below expression on the gallery’s TemplateFill property.
TemplateFill = If(ThisItem.IsSelected, Color.Cornsilk, Color.White)

This is how to get the selected item from the Power Apps gallery.
In this section, we’ll look at how to get a selected value from the Power Apps gallery to an edit form. That is when a user selects an item from the Power Apps gallery control, it will navigate to the edit form and allow the user to edit the selected item within the Power Apps edit form.
To work with this scenario, the following steps are:

TemplateFill = If(ThisItem.IsSelected, Color.Orange, Color.White)


OnSelect = Set(
varSelectedItem,
ThisItem
);
Navigate('ProjectManagement Edit Form Screen')
Where ‘varSelectedItem’ is the variable name and ‘ProjectManagement Edit Form Screen’is the name of the Power Apps screen where the edit form is created.

That’s all! Save the app and then open it in preview mode. When an item is selected in the Power Apps gallery, the details of that item are retrieved and displayed within the edit form.

This is how to get the selected item from a gallery to the PowerApps edit form.
Read How to Select First Item in a Power Apps Gallery
Similarly, here we will see how to get a selected value from the Power Apps gallery to a display form. That means when the user clicks on an item from the Power Apps gallery, the selected items’ details will display on the Power Apps display form as shown below:

We will use the above Power Apps gallery (Project Management System) to get the selected gallery item details in the Power Apps display form; the steps are as follows:

OnSelect = Set(
varSelectedItem,
ThisItem
);
Navigate(ProjectMangement_Display_Screen)
Where varSelectedItem is the name of the created global variable and ProjectMangement_Display_Screen is the name of the Power Apps screen where the display form is created.

Items = varSelectedItem

On the above screen, we can see that it is displaying all the details from the Power Apps gallery selected item.
This is how to get selected gallery items to Power Apps display form.
In this section, we’ll look at how to get the value of a gallery item by ID. That is when a user selects an item from a Power Apps gallery, the item is displayed on the display form with all details as shown below:

To work with this scenario, the following steps are:

TemplateFill = If(ThisItem.IsSelected, Color.DeepSkyBlue,Color.LightBlue)


OnSelect = Set(
VarItemID,
ThisItem.ID
);
Navigate(Product_FormViewer)
Where Product_FormViewer is the name of the Power Apps display form.

Item = LookUp('Products List', ID= VarItemID)

That’s it! Let’s preview the app and select an item from the above Power Apps gallery. We can see that, the details of the selected item will be displayed on the Power Apps display screen.

This is how to get the selected value from a Power Apps gallery by ID.
In this section, we will see how to get the selected value from a gallery’s last item. That means the last item of the gallery will be automatically displayed on the Power Apps screen.
To implement this, we are going to use the above gallery and the following steps are:
Default = Last(Self.AllItems)
Once the above formula is applied, we can see the last item of the gallery has been selected automatically.

Image = Product_Gallery.Selected.Image
Where Product_Gallery is the name of the Power Apps vertical gallery. The image control will now display the image of the gallery’s last selected item.

This is how to get the selected value from a Power Apps gallery’s last item.
From this Power Apps Tutorial, we learned all about how to get a selected item value from Power Apps gallery based on different scenarios such as:
You may also like the following Power Apps tutorials:
In this Power Automate tutorial, We will discuss an error i.e. Could not find a property named ‘crf9a_Sender’ on type ‘Microsoft.Dynamics.CRM.crf9a_itissueresolutions’ while working with Datavesre and as well as its solution.
When I was working with Dataverse recently, I needed to use Power Automate to upload a file or an image into a Dataverse row.
For this, I have used a Dataverse List Rows action to filter the rows, and the below error occurred “Could not find a property named ‘crf9a_Sender’ on type ‘Microsoft.Dynamics.CRM.crf9a_itissueresolutions’“.
Refer to the screenshot below that how the error displays in the flow:

We’ll now go into more depth about this issue and how to fix it.
Also, Read: Invalid Connection. Please Choose a Connection Power Automate

contains(crf9a_Sender, 'From')
NOTE:
Even if you will try the code like contains(Sender, ‘From’), then also you will get the same error like “Could not find a property named ‘Sender’ on type ‘Microsoft.Dynamics.CRM.crf9a_itissueresolutions’“.

Now we’ll look at how to resolve the abovementioned Power Automate problem in the part that follows.
When I ran across this Power Automate issue, I did some research online and browsed a number of websites. Here, I integrated it into the code which eventually resolved my problem and carried on as necessary. Follow the instructions below:

contains(crf9a_sender, 'From')
Refer to the image below.


This is how we can resolve the Power Automate issue i.e. “Could not find a property named ‘crf9a_Sender’ on type ‘Microsoft.Dynamics.CRM.crf9a_itissueresolutions’” while working with Dataverse table.
Furthermore, you may like some more Power Automate and Dataverse tutorials:
In this Power Automate tutorial, We discussed an error i.e. Could not find a property named ‘crf9a_Sender’ on type ‘Microsoft.Dynamics.CRM.crf9a_itissueresolutions’ while working with Datavesre and its solution.
In this Power Apps Tutorial, we will learn how to add text input to a Power Apps collection.
Recently, we got a requirement to add text from the text input control to a Power Apps collection while working with the Canvas app. Also, we will discuss the below topics based on Power Apps text control:
Here, we will discuss adding data from a Power Apps text input control to a new Power Apps collection. That means when the user dynamically inserts any data in the text input control, it will add them to the Power Apps collection via a button click.
To work with this scenario, the following steps are:
OnSelect = Collect(
CollProject,
{ProjectName: ProjectName_txt.Text}
)
ProjectName_txt is the name of the Power Apps text input and CollProject is the name of the new collection we created.



This is how to add text Input control to a Power Apps collection.
In this section, we will see how to add multiple text inputs to a Power Apps collection at once. That means when the user clicks on the button, it will add the data from the multiple text input controls to the Power Apps collection.
Consider the following scenario: the user enters the employee’s name, email address, and current project name into the appropriate text input controls, and then clicks the button to save the data in the collection.
To achieve this requirement, the following steps are:
OnSelect = Collect(
Coll_Project,
{
FullName: EmployeeName_txt.Text,
Email: Email_txt. Text,
Project: ProjectName_txt.Text
}
)
Where,


Let’s preview the app and insert the data into the text input controls. We can see the collected data on the Power Apps gallery while clicking the button.

This is how to add multiple text inputs to a Power Apps collection.
In this section, we will see how to add data from text input control to an existing Power Apps collection.
That means when the user inserts any data into the text input control, the data will be collected and stored in an existing collection. To work with this scenario, the following steps are:
OnVisible = ClearCollect(CollGadget, {GadgetName:"Meta Quest Pro", Manufacturer:"Meta"}, {GadgetName:"Google Pixel 7", Manufacturer:"Google"},{GadgetName:"Airpods Gen 2", Manufacturer:"Apple"}, {GadgetName:"Gocycle G4 electric bike", Manufacturer:"GoCycle"}, {GadgetName:"Legion Pro 7i Powerful Laptop", Manufacturer:"Lenovo"})
Where,

OnSelect = Patch(
CollGadget,
Defaults(CollGadget),
{
GadgetName: GadgetName_txt.Text,
Manufacturer: Manufacturer_txt.Text
}
)
Where,


Let’s insert data on the above text input control and click on the button. We can see the inserted items got added to the existing collection as shown below:

This is how to add text input to an existing Power Apps collection.
In this section, we will see how to update the data from a text input control into the Power Apps collection. That means when the user selects any collection item via a gallery, the respective data will display on the text input control. When the user inserts any data, the inserted data will be updated on the Power Apps collection.
To work with this scenario, we are going to use the above Power Apps gallery that is connected with the CollGadget and the following steps are:
Default = ColGadget_Gal.Selected.Manufacturer
Where ColGadget_Gal is the name of the Power Apps gallery and Manufacturer is the name of the collection column.

OnChange = Patch(
CollGadget,
LookUp(
CollGadget,
Manufacturer = ColGadget_Gal.Selected.Manufacturer
),
{Manufacturer: Manufacturer_txt.Text}
)

Color = If(ThisItem.IsSelected, Color.IndianRed, Color.Blue)

Let’s preview the app and select an item from the gallery. Also, update the manufacturer name and we can see the modification will be visible on the collection via gallery.

This is how to update PowerApps text input to the collection on change.
From this Power Apps tutorial, we learned how to work with Power Apps collection using text input control based on different scenarios. Such as:
You may also like: