function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
ArtWArtW 

Validation Rule Combined with Custom Formula to Support a Multi Step Process

Overview of My Scenario

 

Custom Fields Involved, in my Opportunity Object

 

A.    Deal Approved, date field

B.    Deal Rejected, date field

C.    Reason Deal Rejected, text field

D.   Close Sheet Attached, check box

E.    Stage = Closed Won

 

Usually the process flows as follows:

 

1.    Sales Rep receives a signed agreement, thencompletes Customer Close Sheet

2.    Sales Rep Attaches CLOSE SHEET to theOpportunity

3.    Sales Rep Updates Sales Stage to Closed Won(validation rule prevents close won if Close Sheet = False)

4.    Workflow Notifies Operations of Closed Deal

5.    Operations reviews the Close Sheet and either:

a.    Marks Opportunity Approved by inserting todaysDate in the Close Sheet Approved; or

b.    Marks Close Sheet Rejected; then

                                              i.     AddsReason Rejected.

6.    Workflow then notifies Sales Rep of Rejectionand includes data “Reason Rejected” field

7.    Sales Rep corrects the issue, then notifiesOperations that issues were resolved.

8.    If Operations reviews and  then approves the Opportunity, Operationsthey can set the Approved Date and erase the Rejected Reason, and Date Rejected.

 

Formulas that I have tried and are failing to meet my ultimate objectivethus far

F1.(Rejected_Reason__c ) = 0

F2.NOT ( ISNULL ( Rejected_Reason__c ))

F3.Close Sheet_Attached__c = FALSE ) && (ISPICKVAL( StageName ,"Won"))  ********NOTE: This formula appears to be working, with a slight workaround … I’ve included a default value (a DOT) in the field “Rejected Reason”

 

My objective is to create a formula that will enable:

Objective 1.              New Opportunities to be created without needinga Rejected Reason, until or unless an Opportunity has been rejected;

Objective 2.              No opportunity can be Approved unless it’sclosed won.

Objective 3.              IDEALLY (but not a MUST), when Operationsupdates the Approved Date, the system would automatically remove the RejectedReason and Rejected Date

bmartinez76bmartinez76

You have to use LEN for text fields as all text fields will never be null.

 

so in your case you would use 

 

LEN(Rejected_Reason__c )=0

 

or

 

NOT(LEN(Rejected_Reason__c )=0