cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
imranamikhan
Advocate I
Advocate I

Copy existing item and submit as new item on SharePoint

Hi everyone,

 

I have a PowerApps form created from a SharePoint list. The requirement is:

 

  1. A user has selected an item from SharePoint and launched the PowerApps form (now in Edit Mode)
  2. There is a checkbox or button which asks the user if they want to submit/save the form as a new item on SharePoint or update the existing item (all previous values are carried over).

 

Could anyone advise?

 

Best regards,

1 ACCEPTED SOLUTION

Accepted Solutions
Jeff_Thorpe
Super User
Super User

You could add a "Save as New" button on the form and use the Patch() to create the new item in SharePoint. Along with the Patch() you would need to reset the form and close it.

 

Example formula for the button:

Patch('SPOListName', Defaults('SPOListName'), {SPOFieldName1:CopyValue1 , SPOFieldName2:CopyValue2, ...});

ResetForm(SharePointForm1);
RequestHide()

 

You will need to call out each field that you are going to set in the new record in the {....} of the Patch().



--------------------------------------------------------------------------------
If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.

View solution in original post

11 REPLIES 11
Jeff_Thorpe
Super User
Super User

You could add a "Save as New" button on the form and use the Patch() to create the new item in SharePoint. Along with the Patch() you would need to reset the form and close it.

 

Example formula for the button:

Patch('SPOListName', Defaults('SPOListName'), {SPOFieldName1:CopyValue1 , SPOFieldName2:CopyValue2, ...});

ResetForm(SharePointForm1);
RequestHide()

 

You will need to call out each field that you are going to set in the new record in the {....} of the Patch().



--------------------------------------------------------------------------------
If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.

Thank you so much for this and for your prompt response. Working exactly as instructed.

Anonymous
Not applicable

When I copy an existing record and save as new item, the existing values on that form don't appear in the Sharepoint under the new item - only the changed values appear there.

 

How can I fix this? I set the clone to be a new form to differentiate it from the edit. CFSC Forecasting Tool is the name of my Sharepoint list and there are a few cascading dropdowns hence why I have used @odata.type'

 

This is my code:

If(New=true,
Patch(
'CFSC Forecasting Tool',
Defaults('CFSC Forecasting Tool'),
{
Title:DataCardValue6.Text,
CDT:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",Value:filterCDT},
Banner:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",Value:filterBanner},
Category:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",Value:filterCategory},
StartDate:DataCardValue12.SelectedDate,
EndDate:DataCardValue13.SelectedDate,
PromoCreatedBy:DataCardValue11.Selected,
Status: DataCardValue34.Selected,
Comments:DataCardValue39.Text
}
),
Patch(
'CFSC Forecasting Tool',
LookUp('CFSC Forecasting Tool', ID=DataCardValue10.Text),
{
Title:DataCardValue6.Text,
CDT:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",Value:filterCDT},
Banner:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",Value:filterBanner},
Category:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",Value:filterCategory},
StartDate:DataCardValue12.SelectedDate,
EndDate:DataCardValue13.SelectedDate,
PromoCreatedBy:DataCardValue11.Selected,
Status: DataCardValue34.Selected,
Comments:DataCardValue39.Text
}
)
);
ResetForm(EditForm1);Back()

I have a 'copy' button with Onselect property set to: EditForm(EditForm1)

This will pull in all of the existing data.

 

Then I created a PowerAutomate to create a new item in the SharePoint list.  In the form fields, I set those to "Ask in PowerApps"

 

swart1ar_0-1618315758972.png

Then on your "submit" button, connect your flow and add the text input values as shown in your flow.

 

swart1ar_1-1618316132534.png

 

I was trying to replicate your idea (it was quite genius)... but when I am trying to select the dynamic content to my sharepoint list, I only get back "Title", none of the other columns will show. 

did you do something else??

Fernanda_0-1623869464559.png

 

Hi Fernanda - You need to click on "See More" and then scroll down to the bottom to "Ask in PowerApps"

 

swart1ar_0-1623940057103.png

swart1ar_1-1623940118376.png

 

haha thanks! now i feel kinda stupid hahaha I actually figured it out later. But then I encountered other problem. The button is giving me a hard time with the date field. I actually posted my issue:

https://powerusers.microsoft.com/t5/Building-Power-Apps/Button-connected-to-Power-automate-failing/m...

 

Been trying to work it out, but not sure what my problem is, tried all combinations possible... just take the link as it is (like you have it), formatting it, dateformat to string, variables, split formula, and so on...

 

This is working for me as well, but if I have more than 100 fields is there away to get them all once instead of typing them 1 after 1 on the item property ?

Thanks 

Almog

amoshe2
Helper IV
Helper IV

Any one could help me on my question on how should I perform a copy for more than 100 values? is there a way to gather them all somehow?

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Users online (4,469)