OR(
AND(ISNEW(),NOT(ISPICKVAL(StageName, 'Nurture')),RecordType.DeveloperName='Sales'),
AND(
ISCHANGED(StageName),RecordType.DeveloperName='Sales',
OR(
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Nurture'),
NOT(ISPICKVAL(StageName, 'Discovery')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Discovery'),
NOT(ISPICKVAL(StageName, 'Nurture')),
NOT(ISPICKVAL(StageName, 'Solve & Present')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Solve & Present'),
NOT(ISPICKVAL(StageName, 'Discovery')),
NOT(ISPICKVAL(StageName, 'Proof')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Proof'),
ISPICKVAL(PRIORVALUE(StageName), 'Proof'),
NOT(ISPICKVAL(StageName, 'Solve & Present')),
NOT(ISPICKVAL(StageName, 'Contracting')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Contracting'),
NOT(ISPICKVAL(StageName, 'Proof')),
NOT(ISPICKVAL(StageName, 'Closed Won')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Closed Won'),
NOT(ISPICKVAL(StageName, 'Contracting')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
)
)
)
)
I would like to make an exception the this validation rule if opportunity type = Renewal or Other. I thought these rules were executed top down so I thought I could just add to the top;
AND
(
NOT(ISPICKVAL(Type, "Renewal")),
NOT(ISPICKVAL(Type, "Other"))
),
However, I still get the message that I cannot bypass the stages and was hoping someone could help teach me the proper way to make this exception to my validation rule.
Thanks!
2 个回答
Hi George,
You may try with below updated formula:
AND(
NOT(ISPICKVAL(Type, "Renewal")),
NOT(ISPICKVAL(Type, "Other")),
OR(
AND(ISNEW(),NOT(ISPICKVAL(StageName, 'Nurture')),RecordType.DeveloperName='Sales'),
AND(
ISCHANGED(StageName),RecordType.DeveloperName='Sales',
OR(
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Nurture'),
NOT(ISPICKVAL(StageName, 'Discovery')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Discovery'),
NOT(ISPICKVAL(StageName, 'Nurture')),
NOT(ISPICKVAL(StageName, 'Solve & Present')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Solve & Present'),
NOT(ISPICKVAL(StageName, 'Discovery')),
NOT(ISPICKVAL(StageName, 'Proof')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Proof'),
ISPICKVAL(PRIORVALUE(StageName), 'Proof'),
NOT(ISPICKVAL(StageName, 'Solve & Present')),
NOT(ISPICKVAL(StageName, 'Contracting')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Contracting'),
NOT(ISPICKVAL(StageName, 'Proof')),
NOT(ISPICKVAL(StageName, 'Closed Won')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
),
AND(
ISPICKVAL(PRIORVALUE(StageName), 'Closed Won'),
NOT(ISPICKVAL(StageName, 'Contracting')),
NOT(ISPICKVAL(StageName, 'Closed Lost'))
)
)
)
)
)