We are having trouble with the below validation rule. What we're trying to do is prevent users NOT in specified profiles from modifying a specified set of fields if they are on specified account record types. The validation rule will save however it does not do what we intend it to do:
AND(
$Profile.Name <> "System Administrator - SOS API",
$Profile.Name <> "System Administrator - SOS ETL",
$Profile.Name <> "System Administrator - SOS",
$Profile.Name <> "System Administrator",
RecordType.DeveloperName = "Employer",
RecordType.DeveloperName = "Local",
RecordType.DeveloperName = "Local_Bucket",
Or(ISCHANGED(Name),
ISCHANGED(CVSR__UniqueID__c),
ISCHANGED(CVSR__LOC_NO_CIE_NO__c),
ISCHANGED(CVSR__LOC_NO__c),
ISCHANGED(CVSR__CIE_NO__c),
ISCHANGED(CVSR__BUS_NO__c),
ISCHANGED(CVSR__CIE_ADDRESS1__c),
ISCHANGED(CVSR__CIE_ADDRESS2__c),
ISCHANGED(CVSR__CIE_CERTIF_DT__c),
ISCHANGED(CVSR__CIE_CERTIF_NO__c),
ISCHANGED(CVSR__CIE_CHECKOFF_NB__c),
ISCHANGED(CVSR__CIE_CITY__c),
ISCHANGED(CVSR__CIE_CNT_FAX__c),
ISCHANGED(CVSR__CIE_CNT_FIRST__c),
ISCHANGED(CVSR__CIE_CNT_GENDER__c),
ISCHANGED(CVSR__CIE_CNT_LAST__c),
ISCHANGED(CVSR__CIE_CNT_PHONE1__c),
ISCHANGED(CVSR__CIE_CNT_PHONE1_X__c),
ISCHANGED(CVSR__CIE_CNT_TITLE__c),
ISCHANGED(CVSR__CIE_COUNTRY__c),
ISCHANGED(CVSR__CIE_DUNS__c),
ISCHANGED(CVSR__CIE_HIRING__c),
ISCHANGED(CVSR__CIE_MASTER_NAME__c),
ISCHANGED(CVSR__CIE_NAME1__c),
ISCHANGED(CVSR__CIE_NAME2__c),
ISCHANGED(CVSR__CIE_REMARK__c),
ISCHANGED(CVSR__CIE_STATE__c),
ISCHANGED(CVSR__CIE_TIME_STAMP__c),
ISCHANGED(CVSR__CIE_TRADE_DIV__c),
ISCHANGED(CVSR__CIE_USER_STAMP__c),
ISCHANGED(CVSR__CIE_VARIANCE__c),
ISCHANGED(CVSR__CIE_WORKSITE_NB__c),
ISCHANGED(CVSR__CIE_ZIP__c )))
Eric Praud (Activ8 Solar Energies) Forum Ambassador
Hi,
You need an OR arounf your record types. Try this:
AND(
$Profile.Name <> "System Administrator - SOS API",
$Profile.Name <> "System Administrator - SOS ETL",
$Profile.Name <> "System Administrator - SOS",
$Profile.Name <> "System Administrator",
OR(
RecordType.DeveloperName = "Employer",
RecordType.DeveloperName = "Local",
RecordType.DeveloperName = "Local_Bucket"),
OR(ISCHANGED(Name),
ISCHANGED(CVSR__UniqueID__c),
ISCHANGED(CVSR__LOC_NO_CIE_NO__c),
ISCHANGED(CVSR__LOC_NO__c),
ISCHANGED(CVSR__CIE_NO__c),
ISCHANGED(CVSR__BUS_NO__c),
ISCHANGED(CVSR__CIE_ADDRESS1__c),
ISCHANGED(CVSR__CIE_ADDRESS2__c),
ISCHANGED(CVSR__CIE_CERTIF_DT__c),
ISCHANGED(CVSR__CIE_CERTIF_NO__c),
ISCHANGED(CVSR__CIE_CHECKOFF_NB__c),
ISCHANGED(CVSR__CIE_CITY__c),
ISCHANGED(CVSR__CIE_CNT_FAX__c),
ISCHANGED(CVSR__CIE_CNT_FIRST__c),
ISCHANGED(CVSR__CIE_CNT_GENDER__c),
ISCHANGED(CVSR__CIE_CNT_LAST__c),
ISCHANGED(CVSR__CIE_CNT_PHONE1__c),
ISCHANGED(CVSR__CIE_CNT_PHONE1_X__c),
ISCHANGED(CVSR__CIE_CNT_TITLE__c),
ISCHANGED(CVSR__CIE_COUNTRY__c),
ISCHANGED(CVSR__CIE_DUNS__c),
ISCHANGED(CVSR__CIE_HIRING__c),
ISCHANGED(CVSR__CIE_MASTER_NAME__c),
ISCHANGED(CVSR__CIE_NAME1__c),
ISCHANGED(CVSR__CIE_NAME2__c),
ISCHANGED(CVSR__CIE_REMARK__c),
ISCHANGED(CVSR__CIE_STATE__c),
ISCHANGED(CVSR__CIE_TIME_STAMP__c),
ISCHANGED(CVSR__CIE_TRADE_DIV__c),
ISCHANGED(CVSR__CIE_USER_STAMP__c),
ISCHANGED(CVSR__CIE_VARIANCE__c),
ISCHANGED(CVSR__CIE_WORKSITE_NB__c),
ISCHANGED(CVSR__CIE_ZIP__c )))