Utilizzare gli eventi di modulo e di campo
Data di pubblicazione: novembre 2016
Si applica a: Dynamics CRM 2015
È possibile aggiungere script per gli eventi OnLoad e OnSave per i moduli e gli eventi OnChange per ogni campo. Le schede possiedono un evento TabStateChange e gli IFRAME un evento OnReadyStateComplete. I gestori per l'evento PreSearch e gli eventi generati dal controllo del processo aziendale possono solo essere aggiunti ed eliminati utilizzando metodi per i rispettivi controlli.
Nota
Gli eventi nel modulo sono disabilitati per il modulo di modifica in blocco. Il modulo di modifica in blocco viene visualizzato quando vengono modificati più record di un elenco.
In questo argomento
Evento OnLoad
Evento OnSave
Evento OnChange
Evento TabStateChange
Evento OnReadyStateComplete
Evento PreSearch
Eventi di controllo del processo aziendale
Evento OnLoad
L'evento OnLoad si verifica quando il modulo viene caricato. Non può impedire il caricamento dalla finestra. Utilizzare l'evento OnLoad per preparare i dati nel modulo per l'utilizzo. Le azioni che è possibile eseguire mediante l'evento OnLoad includono:
Esecuzione di calcoli basati sulla modifica dei valori.
Avviso di un utente di una situazione.
Disabilitazione dei campi che non devono essere aggiornati.
Ulteriori informazioni:Evento OnLoad
Evento OnSave
L'evento OnSave non corrisponde all'evento HTML OnSubmit standard. L'evento OnSave si verifica quando:
L'utente fa clic sul pulsante nell'angolo inferiore destro del modulo, anche quando non esistono dati modificati da salvare.
Il codice esegue il metodo Xrm.Page.data.entity.Salva, anche se non esistono dati modificati da salvare.
L'utente esce dal modulo e nel modulo rimangono alcuni dati non salvati.
Con la funzione di salvataggio automatico abilitata 30 secondi dopo che i dati sono stati modificati e sono presenti alcuni dati non salvati nel modulo.
Il codice esegue il metodo Xrm.Page.data.Salva e sono presenti alcuni dati non salvati nel modulo.
Il codice esegue il metodo Xrm.Page.data.refresh passando un valore true come primo parametro e sono presenti dati non salvati nel modulo.
È possibile rilevare l'azione che è stata eseguita per salvare il modulo utilizzando il metodo getSaveMode negli argomenti dell'evento di salvataggio recuperati dal contesto di esecuzione del metodo 279ca720-e304-4e51-b99f-91722431c2c8#BKMK_GetEventArgs. Uscire da un modulo quando contiene dati non salvati corrisponde ad eseguire l'operazione "Salva e chiudi" disponibile nei moduli delle entità che non sono state aggiornate.
È possibile annullare l'evento OnSave per evitare che i dati vengano salvati. Per questo motivo, è molto comune utilizzare l'evento OnSave per convalidare i dati.
Ulteriori informazioni:Evento OnSave
Evento OnChange
L'evento OnChange è disponibile in ogni campo. In genere, l'evento OnChange richiede che due condizioni con valore true:
I dati nel campo devono essere modificati.
Il campo deve perdere lo stato attivo.
Nota
Esiste un'eccezione a questo comportamento applicabile ai campi booleani a due opzioni che vengono formattati per utilizzare i pulsanti di opzione o le caselle di controllo. Per tali controlli, l'evento si verifica immediatamente.
Questo evento si verifica anche quando le modifiche apportate ai dati nel server vengono recuperate per aggiornare un campo al momento dell'aggiornamento del modulo, ad esempio dopo il salvataggio di un record.
L'utilizzo del metodo fireOnChange dell'attributo Xrm.Page.data.entity determinerà inoltre il verificarsi di questo evento.
L'evento OnChange non si verifica se il campo è cambiato a livello di programmazione utilizzando il metodo setValue. Se si desidera che i gestori di eventi per l'evento OnChange vengano eseguiti dopo aver impostato il valore, è necessario utilizzare il metodo fireOnChange nel codice.
Dopo l'evento, i dati nel campo verranno riconvalidati. Questo significa che non è possibile utilizzare l'evento per immettere dati non validi.
Le azioni che è possibile eseguite mediante l'evento OnChange includono:
Esecuzione di calcoli per modificare altri campi in base alla modifica dei valori.
Modifica della formattazione dei campi, ad esempio del numero di telefono.
Implementazione di set di opzioni dipendenti. Per un esempio, vedere Esempio: creare set di opzioni dipendenti (elenchi a discesa).
Ulteriori informazioni:Evento OnChange del campo
Evento TabStateChange
Questo evento si verifica quando una scheda viene espansa o compressa. È possibile modificare il codice dell'evento fino a quando una scheda viene espansa.
Nota
Questo evento non si verifica mai in Microsoft Dynamics CRM per tablet perché le schede di tale client non possono essere compresse.
Questo evento è importante se si utilizza lo script per modificare la proprietà src di un controllo IFRAME. Un IFRAME viene aggiornato quando la scheda viene espansa. Eventuali modifiche apportate alla proprietà src verranno rimosse. Se si interagisce con proprietà src di un IFRAME, è consigliabile includere questo codice in un evento TabStateChange anziché nell'evento Onload.
Ulteriori informazioni:Evento TabStateChange della scheda
Evento OnReadyStateComplete
Qualsiasi script che interagisce con un IFRAME non riuscirà a meno che il caricamento del contenuto dell'IFRAME non sia stato completato. Questo evento fornisce un percorso per includere uno script che viene eseguito non appena il caricamento del contenuto dell'IFRAME è stato completato.
Nota
Questo evento non si verifica mai in Microsoft Dynamics CRM per tablet perché gli IFRAME non sono visualizzati.
Ulteriori informazioni:Evento OnReadyStateComplete IFRAME
Evento PreSearch
Utilizzare il metodo addPreSearch per aggiungere un gestore eventi a un controllo per un attributo di ricerca. Non è disponibile un'interfaccia utente per aggiungere un gestore eventi manualmente. Utilizzare questo evento con i metodi addCustomFilter, addCustomView e setDefaultView per controllare le visualizzazioni aperte quando gli utenti ricercano un record da impostare come valore di un campo di ricerca.
Ulteriori informazioni:Evento PreSearch di controllo di ricerca
Eventi di controllo del processo aziendale
In Aggiornamento di Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015 vengono forniti due eventi per l'interazione utente con il controllo del processo aziendale.
OnStageChange
Si verifica ogni volta che viene modificata una fase.Ulteriori informazioni:Evento OnStageChange.OnStageSelected
Si verifica ogni volta che viene selezionata una fase.Ulteriori informazioni:Evento OnStageSelected.
Non esiste alcuna IU per registrare gli script per questi eventi. Utilizzare i seguenti metodi nelle funzioni registrate nell'evento OnLoad del modulo per registrare le funzioni per questi eventi.
Xrm.Page.data.process.addOnStageChange
Xrm.Page.data.process.addOnStageSelected
Xrm.Page.data.process.removeOnStageChange
Xrm.Page.data.process.removeOnStageSelected
Ognuno di questi metodi accetta una funzione come parametro da aggiungere o eliminare dal gestore eventi.Ulteriori informazioni:Metodi per gestire i gestori eventi.
Vedere anche
Creare il codice per moduli di Microsoft Dynamics CRM 2015
Utilizzare il modello a oggetti Xrm.Page
Riferimento rapido dello scripting dei moduli
Usare JavaScript con Microsoft Dynamics CRM 2015
Riferimento programmazione sul lato client
Eventi del modulo (riferimento lato client)
<events> (FormXml)
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright