I misteri dell'evento on save

Una proprieta' molto utile quando si lavora con i form del CRM e' event.Mode
Essa si usa per conoscere, all'interno dell'evento onSave, la causa del salvataggio del form.
Nella figura qui sotto sono riportati i valori documentati

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


Il bello, o il brutto dipende dai punti di vista, e' che quelli non sono tutti i valori restituiti, alcuni dei quali sono molto importanti. Praticamente ogni operazione eseguita dall'utente o dal CRM stesso che provochi un salvataggio del form e' codificata nella proprieta'.

La cosa bella e' quindi che possiamo conoscere lato client anche molte delle operazioni "segrete" eseguite dal CRM che provocano il salvataggio del form. La cosa meno bella e' che non ne esiste un elenco completo e quindi bisogna sperimentare...


Un piccolo esempio: quando si evade un ordine di vendita il CRM salva il form prima di scatenare l'operazione; in questo caso event.Mode vale 56, valore non documentato.

Dettagli...