cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Frequent Visitor

Function is not working on every record/row?

Hi,
So I have this Patch function for collection, that is not working with some records, it is always the same records, so some work and some don't.
Out of 11 records, 5 is working. Any Ideas?

Thanks
If you need me to expand on this let me know.

Patch(colMyServiceRequests,                   //collecting from sharepoint list ClearCollect(colMyServiceRequests ,SharePoint List)
Gallery1.Selected,
{
Modified: DateValue("1 jan 2101"),  //I am using this to isolate edited items, After, I am filtering those items and patching them to sharepoint
SpecialistRequired: Toggle1.Value, //value from toggle
TechnicianRepairComments: "Does Technician Comment work", //Comment is hardcoded to understand is it input field or not
Status: {Value: Label4.Text} // updating choice that is reason for {}
}
);

 
12 REPLIES 12
Highlighted
Super User
Super User

Re: Function is not working on every record/row?

Hi @EmirU ,

Not sure why the Collect is in the middle of the Patch - see if this works

ClearCollect(
   colMyServiceRequests,                 
   SharePoint List
);
Patch(
   colMyServiceRequests,                 
   Gallery1.Selected,
   {
      Modified: DateValue("1 jan 2101"),  
      SpecialistRequired: Toggle1.Value,
      TechnicianRepairComments: "Does Technician Comment work",
      Status: Value(Label4.Text)
   }
)

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

 

Highlighted
Frequent Visitor

Re: Function is not working on every record/row?

Hi, Thanks for your replay.
The Collect is in the middle of the Patch as a comment.
When I changed Status: {Value: Label.Text} to new Status: Value(Label.Text) I received the Error message: "The type of this argument ‘Status’ does not match the expected type ‘Record’. Found type ‘Number’".

So to be sure that that piece of code is not interfering I reduced Patch function to:
Patch(
colMyServiceRequests,
Gallery1.Selected,
{
TechnicianRepairComments: "Does Technician Comment work???" //Comment is hardcoded to understand is it input field or not
}
);
Don't forget that the same formula works for one item and the second item is not working. Images attached.
Regards

Highlighted
Super User
Super User

Re: Function is not working on every record/row?

Ok @EmirU ,

It is saying Status is a record - I assume this is a choice field - if this is the case, try the below.

Patch(
   colMyServiceRequests,                 
   Gallery1.Selected,
   {
      Modified: DateValue("1 jan 2101"),  
      SpecialistRequired: Toggle1.Value,
      TechnicianRepairComments: "Does Technician Comment work",
      {
         Status: 
         '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
         ID: 1,
         Value: Label4.Text
      }
   }
)

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

Highlighted
Frequent Visitor

Re: Function is not working on every record/row?

Ok, I tried and made changes
Status: {Value: Label4.Text} with
Status {'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",ID:1,Value:Label4.Text}.Still same issue. Field/Record name: TechnicianRepairComments: "Does Technician Comment work" is not working on some items, all other fields work on all times.
So the Status field was working on all the items, only TechnicianRepairComments doesn't work on 5 items out of 11.
This issue is very interesting. I don't understand what is the difference between items that can determine whether or not one field in Patch formula will update one and in others don't. I checked, so items ID number 15,13,8,4,2 works fine and items id14,12,11,16,3,1 don't work.
Thanks

Highlighted
Super User
Super User

Re: Function is not working on every record/row?

Thanks @EmirU ,

A question I probably should have asked before - what is the Text property of Label4?

Highlighted
Community Support
Community Support

Re: Function is not working on every record/row?

Hi @EmirU ,

Do you want to edit the selected item?

Since there are many uncertain places in your issue, I need you to firstly answer my these questions:
1)what is Gallery1's Items?colMyServiceRequests  or your SharePoint List?

2)whether do you want to update the collection or the sharepoint list?

3)what are these fields' data type: SpecialistRequired, TechnicianRepairComments,Status?

4)what is Label4's Text?

5)if Status is a choice type field, does it allow multiple choice and what are the choices of the field?

 

Firstly, let me explain the wrong places in your precious formula.

  • The patch function's syntax: Patch( data source, item in data source, {...}

Please do not put clearcollect inside Patch function.

  • Modified is a system field. It's not supported to update this field. Its data will be generated automatically when you update the record.
  • If Status is a single choice field, you need to use {Value:...} to update it. If is a multiple choice, you need to use Table({Value:....}) to update it.   Value(..) means transfer a text value to number value. It is different from updating a choice column.

 

Next, how to modify your formula.

Based on your formula, I think  SpecialistRequired is a yes/no field,TechnicianRepairComments is a text field ,Status is a choice field.

1)If gallery's Item is colMyServiceRequests and you want to update colMyServiceRequests

Try this:

ClearCollect(colMyServiceRequests ,SharePoint List);
Patch(colMyServiceRequests,                   
Gallery1.Selected,
{
SpecialistRequired: Toggle1.Value, 
TechnicianRepairComments: "Does Technician Comment work", 
Status: {Value: Label4.Text} 
}
);

please make sure that the text in label4 is one of status field's choice.

2)If gallery's Item is SharePoint List) and you want to update colMyServiceRequests

Try this:

ClearCollect(colMyServiceRequests ,SharePoint List);
Patch(colMyServiceRequests,                   
LookUp(colMyServiceRequests,ID=Gallery1.Selected.ID),
{
SpecialistRequired: Toggle1.Value, 
TechnicianRepairComments: "Does Technician Comment work", 
Status: {Value: Label4.Text} 
}
);

//make sure patch's first parameter and second parameter is from the same data source.

 

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Highlighted
Frequent Visitor

Re: Function is not working on every record/row?

Hi,

Label4 is showing Status.Value from the main gallery and if I select something from the dropdown gallery that I created then it will show a selection from the dropdown. The reason to do this and not to use dropdown control is, I have much more control over style.

Label4 Text: is  If(!IsBlank(Gallery3.Selected),                                          //is item in main gallery selected?
                            Gallery3.Selected.Value,                                              //if yes return selected choice option
                            Gallery1.Selected.Status.Value                                    // if no return value from gallery1 selected item
                             )

Still, Label4 or Status record is not the issue, the issue is TechnicianRepairComments record

So to be sure that that piece of code is not interfering I reduced Patch function to:
Patch( colMyServiceRequests,
Gallery1.Selected,
{
TechnicianRepairComments: "Does Technician Comment work???" //Comment is hardcoded to understand is it input field or not
}
);

But the issue persists.

Highlighted
Super User
Super User

Re: Function is not working on every record/row?

@EmirU ,

I will leave you with @v-yutliu-msft @here.

Please tag me if you want further input.

Highlighted
Frequent Visitor

Re: Function is not working on every record/row?

Hi,
Thank you for your help. I will answer all of the questions below.
Do you want to edit the selected item?
Yes In Gallery1 I am selecting items from collection colMyServiceRequests and then I am trying to patch edited records back to the SharePoint List ServiceRequests.
Since there are many uncertain places in your issue, I need you to firstly answer my these questions:
1)what is Gallery1's Items?colMyServiceRequests or your SharePoint List?
Gallery1's Items is collection colMyServiceRequests that is clearcollect of SharePoint list 'Service Requests'. So Once I select an item from the Gallery1 I am going on another screen to edit it, hance editing collection.
2)whether do you want to update the collection or the SharePoint list?
I want to update collection at first and if that is a success than update SharePoint on another event (btn on another screen) I am using the Modified field to filter our items that are edited or deleted.
3)what are these fields' data type: SpecialistRequired, TechnicianRepairComments,Status?
SpecialistRequired: boolean true/false,
TechnicianRepairComment: Text
Status: choice with ["Dispatched","PendingRepair","Completed"])
what is Label4's Text?
Label4's text = If(!IsBlank(Gallery3.Selected),Gallery3.Selected.Value,Gallery1.Selected.Status.Value
)
5)if Status is a choice type field, does it allow multiple choice and what are the choices of the field?
Status is choice field and choices are: ["Dispatched","PendingRepair","Completed"]) it doesn't allow multiple choice.

 

Now to revise my formula: The Patch syntax is:
Patch( DataSource, BaseRecord, ChangeRecord1 [, ChangeRecord2, … ])
The collection is not in it, In one of my post, there is collection as comment separated with "//"

Please do not put clearcollect inside the Patch function.

Modified is a system field. It's not supported to update this field. Its data will be generated automatically when you update the record.
Modified is a system field, but it is SharePoint system field, I am changing it so I can filter all of the records that are edited, once I push Patch collection to SharePoint that field would be overwritten. And finally, I tried to update only: TechnicianRepairComments so I don't have to think, are other fields interfering or something. Don't forget out of 11 items all fields are successfully edited except TechnicianRepairComments field on 5 of thous items. So I tried this formula, and results are the same
Patch( colMyServiceRequests,
Gallery1.Selected,
{
TechnicianRepairComments: "Does Technician Comment work???"
}
);

If Status is a single choice field, you need to use {Value:...} to update it.

Status is a single choice field and I am using Status: {Value: Label4.Text} to update it.
If is a multiple choice, you need to use Table({Value:....}) to update it. Value(..) means transfer a text value to number value. It is different from updating a choice column. I didn't know this thanks.
Since colMyServiceRequests is the collection and gallery1.selected is item form that collection I tried your formula:
ClearCollect(colMyServiceRequests ,SharePoint List);
Patch(colMyServiceRequests,
Gallery1.Selected,
{
SpecialistRequired: Toggle1.Value,
TechnicianRepairComments: "Does Technician Comment work",
Status: {Value: Label4.Text}
}
);
And it is working, I even added Modified: DateValue("1 jan 2101") , What I don't understand Why I have to ClearCollect again since I did that on the screen before. And If I do ClearCollect on every Item, edit that I did on the previous items won't be there. Is there any other way to do this but without clearcollect right before Patch? Thanks once again.

Helpful resources

Announcements
secondImage

New Return to Workplace

Reopen responsibly, monitor intelligently, and protect continuously with solutions for a safer work environment.

August 2020 CYST Challenge

Check out the winners of the recent 'Can You Solve These?' community challenge!

Experience what’s next for Power Apps

Join us for an in-depth look at the new Power Apps features and capabilities at the free Microsoft Business Applications Launch Event.

Check this Out

Helpful information

Featuring samples like Return to the Workplace and Emergency Response Applications

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Users online (4,264)