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