Home > CRM 2011, JScript > JScript validation on Activation/Deactivation of record in CRM 2011

JScript validation on Activation/Deactivation of record in CRM 2011

Hi,

We can perform JScript validation on Activation or Deactivation of  a record in CRM 2011.

We can achieve this by reading event save mode from CRM context (i.e.,CRM returns unique Codes or Numbers for different actions; Example 5 for Deactivation button click & 6 for Activation click).

Note :-  CRM 2011 JScript allows us to pass “Execution Context” as first parameter to Jscript function.

Below are the steps

1) Create a new Jscript file and place below JScript function

// Use the following function on Form Save Event,

// CRM will pass the execution context in function paramter prmContext

function FrmOnSave(prmContext) {

var wod_SaveMode;

if (prmContext != null && prmContext.getEventArgs() != null) {

// “getSaveMode()” returns event mode value (i.e., 5 on Deactivation button click etc…)

wod_SaveMode = prmContext.getEventArgs().getSaveMode();

// 5 will pass on Deactivate button click

if (wod_SaveMode == 5) {

// Write your “Deactivate” validation code here

alert(“Deactivation event fired”);

}

// 6 will pass on Activate button click

elseif (wod_SaveMode == 6) {

// Write your “Activate” validation code here

alert(“Activation event fired”);

}

// Use the code line below only if validation is failed then abort function save event

prmContext.getEventArgs().preventDefault();

}

}

2. Add the JScript file as a webresource to the default solution

3. Register the function on “onsave” event (As below)

JScript event handling on record Activation

JScript event handling on record Activation

Check "Pass execution context as first parameter" checkbox

Check "Pass execution context as first parameter" checkbox

4. Save & Publish

5. Open the record and click on “Activate/Deactivate” button (Refer below screen)

Alert on record activation

Alert on record activation

– Below is the useful post on the same

http://social.technet.microsoft.com/wiki/contents/articles/4122.aspx

Hope it helps 🙂

  1. Oliver
    August 20, 2013 at 1:16 PM

    When doing this, this code will only be executed if the activate/deactivate buttons are clicked from within the form.
    The code is not executed from the record list – but there we also have the activate/deactivate buttons.
    Any ideas?

    • November 13, 2013 at 9:56 AM

      Steps mentioned in above post works only if you open the record and perform Activate/Deactivate.
      To validate the same from main grid, you can include ‘EnableRule’ or ‘CustomAction’ for the ribbon buttons on the grid and validate.

  1. November 12, 2013 at 11:17 PM

Leave a comment