GP_Locked__c && ISCHANGED(Total_GP__c)
We are only editing the opportunity record, Ticking the GP_Locked__c Field (Boolean), for the purpose of locking the $GP amounts.
And the Error is firing.
Validation rule is erroring for what looks like Total_GP__c change. However we are not updating any other values.
So the Prior Value must not equal the New Value, even though no change.
The Total GP is ultimately derived from multiple Rollup Summary Fields.
Total_GP__c is a Currency Formula Field:
Amount - Costs__c
Amount is the Standard Amount Field
Costs__c is a Formula of the addition of Cost Rollup fields
HardwareCosts + SoftwareCosts + ServiceCosts +... etc
6 rollup Summary Fields added up in total 1 rollup looks like this, but they are all very similar:
Data Type: Roll-Up Summary Summary Type: SUM Summarized Object: Opportunity Product Field to Aggregate: Opportunity Product: SubTotal Buy Filter Criteria: Product TypeEQUALSHardware
All of these fields work perfectly. It is just the validation