[SalesForce] How to run Workflows without them getting stopped by Validation Rules

We have a number of validation rules that improve data quality as it is entered. However we have a number of records that are non-compliant with these validation rules.

We've just added some workflows and they keep failing because of the validation rules. This is irritating because its more important that they work than the validation rule.

So it seems that

  1. I can turn the validation rules off which impacts data quality
  2. I can abandon the workflows which stops us delivering a new process
  3. Can I do something else?

Looking at the error it seems that the issue is the allornone requirement that Process Builder puts in. In this case, if I understand AllorNone correctly a graceful degradation would be acceptable for us have a SOME. Is this possible using Process Builder?

Note – its cross object updating so I can't use a normal workflow and I'm trying to avoid a trigger if I can….

Encountered unhandled fault when running process Structural_Segment_Update/XXXXXXXXXXXXXXXX exception by
user/organization: XXXXXXXXXXXXXXXX/{4}

UPSERT — UPSERT FAILED — ERRORS :
(ALL_OR_NONE_OPERATION_ROLLED_BACK) Record rolled back because not all
records were valid and the request was using AllOrNone header — for
SFDC record with ID : 0019000001JUUlfAAH,

caused by element : FlowRecordUpdate.myRule_1_A1

caused by: UPSERT — UPSERT FAILED — ERRORS :
(ALL_OR_NONE_OPERATION_ROLLED_BACK) Record rolled back because not all
records were valid and the request was using AllOrNone header — for
SFDC record with ID : XXXXXXXXXXXXXXXX,

Salesforce Error ID: 399992965-72394 (-705207071)

Best Answer

As I previously commented on the question (posting it as an answer this time), one of your quick and dirty options will be to change your validation rules and add exclusions for records that have been created prior the date the VR has been created. For an instance if you create a VR today and the workflows must still work on old records even they're not compliant, in your validation rule add && CreatedDate >= 07/05/2015 etc.

I would consider cleaning up the data in the org asap as it might lead later to even bigger issues. Let alone if you need to do data migration and such.