Skip to main content

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 )))

6 respuestas
  1. Eric Praud (Activ8 Solar Energies) Forum Ambassador
    23 feb 2024, 17:11

    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 )))

0/9000