JScript : know which action raised onSave event on form

Hi,

I didn't have noticed a useful property for the onSave() method in crm Forms, I talk about the property "event.Mode".

This property lets you know for which reason the onSave() method has been called:

Here is the list of event:
  • None : 0
  • Save : 1
  • SaveAndClose : 2
  • Delete : 3
  • Load : 4
  • Deactivate : 5
  • Reactivate : 6
  • Email Send : 7
  • Email Reply : 8
  • Email Forward : 9
  • Kb Submit : 10
  • Kb Reject : 11
  • Kb Publish : 12
  • Kb UnPublish : 13
  • Kb Rate : 14
  • Lead Unqualify : 15
  • Lead Qualify : 16
  • Quote Accept : 17
  • Quote CreateOrder : 18
  • Order ProcessOrder : 19
  • Opportunity AddRelatedOrder : 21
  • Opportunity AddRelatedQuote : 22
  • Opportunity AddRelatedInvoice : 23
  • Quote CreateRevision : 24
  • Quote CloseQuote : 25
  • Order CancelOrder : 26
  • Invoice Close : 27
  • Quote GetProducts : 28
  • Quote Activate : 29
  • Email ReplyAll : 30
  • Contract Hold : 31
  • Contract ReleaseHold : 32
  • Contract Cancel : 33
  • Contract Renew : 34
  • Product ConvertToKit : 35
  • Product ConvertFromKit : 36
  • ContractDetail Cancel : 37
  • Contract Invoice : 38
  • Contract Clone : 39
  • Incident Cancel : 40
  • Email Assign : 41
  • Change SalesStage : 42
  • SalesOrder GetProducts : 43
  • InvoiceGetProducts : 44
  • TemplateMakeOrgAvailable : 45
  • TemplateMakeOrgUnavailable : 46
  • Assign : 47
  • IncidentAssignToUser : 49
  • OrderLock : 50
  • OrderUnlock : 51
  • InvoiceLock : 52
  • InvoiceUnlock : 53
  • ConvertResponse : 54
  • ReportMakeOrgAvailable : 60
  • ReportMakeOrgUnavailable : 61
  • WorkflowAddCheckStep : 62
  • WorkflowUpdateCondition : 63
  • WorkflowCreateAction : 64
  • SendInvite : 65
  • WorkflowAddElseIfStep : 66
  • WorkflowAddElseStep : 67
  • WorkflowDeleteStep : 68

You can then use it like :

if(event.Mode == 16)

{

// Check whatever you want

}


So, just in case, if you don't want which event is triggered, just add the
following line

in the onSave event of the form:

alert(event.Mode);

Comments

Unknown said…
This is a great post, thanks...

I'd like to add, code 58... Save as compleated.

Keep coding...
Andre Margono said…
Thanks, I was helped by this code.
BTW, if we want to use constant for those event modes, we can use the variables from:

(Server)\_static\_common\scripts\formevt.js

This javascript file is a common script, so we can access the variables that defines the above modes in more readable and understandable format.

Cheers :)

Popular posts from this blog

Searchable Propery Attribute Updater

New XrmToolBox plugin : Import/Export NN relationships

Full featured CRM grid in HTML/JS