cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
alessandramaced
Helper V
Helper V

Collect and Patch not working anymore

Hi all

 

I have an app to bulk update items (sharepoint list as data)

I have the formulas:

Gallery with checkbox items: Filter(PlanProjetos; Analise = "Aguardando Aprovação")

onCheck : Collect(colupdatesPlan;ThisItem)

onUnCheck: Remove(colupdatePlan;thisitem)

Save button: 

UpdateIf(colUpdatesPlan;true;{Analise: "Aprovado";Aprovador: User().Email});;

Patch(PlanProjetos;colUpdatesPlan);;

 

It worked fine but now is showing error and don't save updates. The error is "the specified column is read-only and can't be modified"

 

What I need to change? How to collect only certain columns with "Thisitem"? and Remove if necessary?

 

Thanks

 

1 ACCEPTED SOLUTION

Accepted Solutions
RandyHayes
Super User
Super User

@alessandramaced 

This is because you changed the primary key!  It was ID and should be ID (assuming this is a SharePoint list).

Formula should be:

Patch(PlanProjetos;
    ForAll(Filter(galPlanos.AllItems; Checkbox1_2.Value);
       {ID: ID;
        Analise: "Aprovado";
        Aprovador: User().Email
       }
    )
)

If you omit the primary key (ID), then patch will create a new record.

Also, no need to check if a value is true or false that is already a true or false value (Checkbox1_2.Value)

 

Again, the ID is the primary key for a SharePoint list, so if you are using another datasource, then let me know.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

3 REPLIES 3
RandyHayes
Super User
Super User

@alessandramaced 

Why bother collecting and duplicating the data?  You already have what you need in the Gallery.

Your formula should be based on the Checkbox filter and it would look like this:

Patch(PlanProjetos;
    ForAll(Filter(yourGallery.AllItems; yourCheckbox.Value);
        {ID: ID;
         Analise: "Aprovado";
         Aprovador: User().Email
        }
    )
)

No collections needed!  Nor OnSelect actions of checkboxes.

 

The above formula also assumes that your Aprovador column is a text column.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Hi

 

Put this :

 

Patch(PlanProjetos;
ForAll(Filter(galPlanos.AllItems; Checkbox1_2.Value = true);
{IDProj: IDProj;
Analise: "Aprovado";
Aprovador: User().Email
}
)

 

but instead of change the record, its creating a new one with IDPRoj, "Aprovador" and "Analise"

RandyHayes
Super User
Super User

@alessandramaced 

This is because you changed the primary key!  It was ID and should be ID (assuming this is a SharePoint list).

Formula should be:

Patch(PlanProjetos;
    ForAll(Filter(galPlanos.AllItems; Checkbox1_2.Value);
       {ID: ID;
        Analise: "Aprovado";
        Aprovador: User().Email
       }
    )
)

If you omit the primary key (ID), then patch will create a new record.

Also, no need to check if a value is true or false that is already a true or false value (Checkbox1_2.Value)

 

Again, the ID is the primary key for a SharePoint list, so if you are using another datasource, then let me know.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Helpful resources

Announcements
PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Top Solution Authors
Top Kudoed Authors
Users online (3,075)