Condividi tramite


Utilizzare gli eventi di modulo e di campo

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

È 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 Pulsante di salvataggio automatico 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 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.

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 365 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.

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 Microsoft Dynamics 365 (online e locale) vengono forniti tre 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.

  • OnProcessStatusChange
    Si verifica quando lo stato di un'istanza di processo cambia.Ulteriori informazioni:OnProcessStatusChange event.

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.

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 365
Utilizzare il modello a oggetti Xrm.Page
Riferimento rapido dello scripting dei moduli
Utilizzare JavaScript con Microsoft Dynamics 365
Riferimento programmazione sul lato client
Eventi del modulo (riferimento lato client)
<events> (FormXml)

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright