Riferimento rapido dello scripting dei moduli
Data di pubblicazione: novembre 2016
Si applica a: Dynamics CRM 2015
Questo argomento presenta un riferimento rapido dei metodi dello scripting spesso utilizzati basati sulle attività che si eseguono con loro. Per un riferimento completo, vedere Riferimento programmazione sul lato client. Per tutti gli esempi in questa pagina viene utilizzato il modulo principale predefinito dell'entità account, se non diversamente specificato.
In questo argomento
Attributi
Accedere agli attributi
Ottenere o impostare i dati dell'entità
Ottenere i metadati di attributo
Argomenti per l'evento di salvataggio
Visualizzare le notifiche
Controlli
Accedere dai controlli del modulo
Accedere ai controlli dell'intestazione
Accedere ai controlli del processo aziendale
Metodi di controllo del modulo
Metodi del controllo OptionSet
Metodi di controlli della risorsa Web e IFRAME
Metodi del controllo di ricerca
Metodi di controllo della griglia secondaria
Metodi di controllo della data
Navigazione del modulo
Schede e sezioni
Aggiungere o rimuovere i gestori eventi in fase di esecuzione
Metodi di informazioni contestuali
Recuperare, aggiornare, o salvare i dati dell'entità
Attributi
Gli attributi archiviano i dati disponibili nel record.
Accedere agli attributi
Attributi disponibili dalla raccolta Xrm.Page.data.entity.attributes. Per accedere a un attributo è possibile utilizzare il metodo Xrm.Page.data.entity.attributes.get o la versione Xrm.Page.getAttribute di collegamento. Il metodo get accetta quattro tipi di argomenti:
Stringa: restituisce un oggetto di attributo in cui il nome attributo corrispondente alla stringa.
Numero: restituisce l'oggetto dell'attributo in cui l'indice di raccolta Xrm.Page.data.entity.attributes corrisponde al numero.
Nessuno: restituisce una matrice di tutti gli attributi.
Delegate function(attribute,index): restituisce una matrice di tutti gli attributi nella raccolta Xrm.Page.data.entity.attributes che comporta che la funzione di delegato restituisca true.
Attività |
Esempio |
---|---|
Accedere a un attributo per nome |
var nameAttribute = Xrm.Page.getAttribute("name"); Assegna l'attributo per il campo Nome account alla variabile nameAttribute |
Accedere a un attributo per indice |
var firstAttribute = Xrm.Page.getAttribute(0); Assegna il primo attributo nella raccolta Xrm.Page.data.entity.attributes alla variabile firstAttribute. |
Accedere a tutti gli attributi |
var allAttributes = Xrm.Page.getAttribute(); Assegna una matrice di tutti gli attributi nella raccolta Xrm.Page.data.entity.attributes alla variabile allAttributes. |
Accedere a tutti gli attributi che soddisfano un criterio specifico |
var optionsetAttributes = Xrm.Page.getAttribute(function (attribute, index) { Assegna una matrice di tutti gli attributi nella raccolta Xrm.Page.data.entity.attributes che soddisfano i criteri della funzione anonima, che restituisce true quando il tipo di attributo è "optionset" alla variabile optionsetAttributes. |
La raccolta Xrm.Page.data.entity.attributes include inoltre un metodo di forEach che consente di accedere agli attributi all'interno di una funzione. La seguente funzione writeRequiredAttributesToConsole scriverà i nomi di tutti gli attributi che richiedono dati nella console di debug:
function writeRequiredAttributesToConsole() {
var requiredAttributeNames = [];
Xrm.Page.data.entity.attributes.forEach(
function (attribute, index) {
if (attribute.getRequiredLevel() == "required")
{ requiredAttributeNames.push(attribute.getName()); }
});
if (requiredAttributeNames.length > 0) {
if (typeof console != "undefined") {
console.log(requiredAttributeNames.join());
}
}
else {
if (typeof console != "undefined") {
console.log("No required attributes detected");
}
}
}
In questo argomento
Ottenere o impostare i dati dell'entità
Gli esempi nell seguente tabella mostrano come è possibile ripristinare o modificare dati archiviati negli attributi.
Attività |
Metodo |
Esempio |
---|---|---|
Ottenere il valore di un attributo |
var nameValue = Xrm.Page.getAttribute("name").getValue(); Assegna il valore del campo Nome account alla variabile nameValue. |
|
Impostare il valore di un attributo |
Xrm.Page.getAttribute("name").setValue("new name"); Impostare il valore del campo Nome account su "nuovo nome". |
|
Ottenere il valore testuale dell'opzione selezionata di un attributo del set di opzioni |
var addressType = Xrm.Page.getAttribute("address1_addresstypecode").getText(); Assegna il testo dell'opzione selezionata nel campo Tipo di indirizzo alla variabile addressType. |
|
Ottenere l'oggetto dell'opzione selezionata in un optionset attributo |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption(); Assegna l'opzione selezionata nel campo Tipo di indirizzo alla variabile addressTypeOption. |
In questo argomento
Ottenere i metadati di attributo
Gli esempi nella tabella seguente mostrano come eseguire query sulle proprietà dell'attributo per conoscere il tipo di attributo o modificare il comportamento dell'attributo.
Attività |
Metodo |
Esempio |
---|---|---|
Ottenere il tipo di attributo |
var attributeType = Xrm.Page.getAttribute(0).getAttributeType(); Assegna il valore stringa che indica il tipo di attributo per il primo attributo alla variabile attributeType. |
|
Ottenere il formato dell'attributo |
var attributeFormat = Xrm.Page.getAttribute(0).getFormat(); Assegna il valore stringa che indica il formato del primo attributo alla variabile attributeFormat. |
|
Ottenere il valore iniziale di un attributo Boolean o optionset |
var attributeInitialValue = Xrm.Page.getAttribute("address1_addresstypecode").getInitialValue(); Assegna il valore del numero iniziale del campo Tipo di indirizzo alla variabile attributeInitialValue. |
|
Determinare se un valore di un attributo è stato modificato |
var isNameChanged = Xrm.Page.getAttribute("name").getIsDirty(); Assegna un valore Boolean che indica se il valore del campo Nome account è stato cambiato nella variabile isNameChanged. |
|
Determina se un attributo di ricerca indica una ricerca di partylist. |
var isPartyList = Xrm.Page.getAttribute("to").getIsPartyList(); Assegna un valore Boolean che indica se il campo Invia per e-mail entità a indica una ricerca di party list. Questo metodo è disponibile solo per Entità aggiornate. |
|
Ottenere il valore massimo consentito per un attributo che contiene un numero |
var newValue = 100000000000001; Assegna un valore Boolean che indica se il valore della variabile newValue supera il valore massimo consentito per il campo Limite di credito alla variabile newValueBelowMax. |
|
Ottenere la lunghezza massima consentita per un attributo che contiene una stringa |
var newAccountName = "A Store"; Assegna un valore Boolean che indica se il valore della variabile newAccountName supera la lunghezza massima consentita per il campo Nome account alla variabile nameTooLong. |
|
Ottenere il valore minimo consentito per un attributo che contiene un numero |
var newValue = -1; Assegna un valore Boolean che indica se il valore della variabile newValue è inferiore al valore minimo consentito per il campo Limite di credito alla variabile newValueBelowMin. |
|
Ottiene il nome logico di un attributo |
var attributeName = Xrm.Page.getAttribute(0).getName(); Assegna il valore del nome logico del primo attributo sulla pagina alla variabile attributeName. |
|
Ottenere l'oggetto di opzione che indica un valore |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getOption(1); Visualizza un avviso che mostra il testo dell'opzione del campo Tipo di indirizzo con un valore di 1. |
|
Ottenere un valore del numero che indica il livello di precisione per l'attributo di numero |
var creditLimitPrecision = Xrm.Page.getAttribute("creditlimit").getPrecision(); Assegna il valore di precisione del campo Limite di credito alla variabile creditLimitPrecision. |
|
Ottenere un valore stringa che indica se è richiesto un valore per un attributo |
var creditLimitRequired = Xrm.Page.getAttribute("creditlimit").getRequiredLevel(); Il valore della variabile creditLimitRequired può essere none, required o recommended. |
|
Modificare se i dati sono necessari in un campo per salvare un record |
Xrm.Page.getAttribute("creditlimit").setRequiredLevel("required"); Rende il campo Limite di credito obbligatorio. |
|
Stabilire se i dati in un attributo verranno inviati quando viene salvato il record |
var nameSubmitMode = Xrm.Page.getAttribute("name").getSubmitMode(); Il valore della variabile nameSubmitMode sarà always, never o dirty per rappresentare submitMode per il campo Nome account. |
|
Controllare se i dati in un attributo verranno salvati quando viene salvato il record |
Xrm.Page.getAttribute("name").setSubmitMode("always"); L'esempio forzerà il valore del campo Nome account per essere sempre salvato anche quando non è stato modificato. |
|
Quando la sicurezza del livello di campo è stata applicata a un attributo, |
var canUpdateNameAttribute = Xrm.Page.getAttribute("name").getUserPrivilege().canUpdate; Assegna un valore Boolean che indica il privilegio dell'utente per aggiornare il campo Nome account alla variabile canUpdateNameAttribute. |
In questo argomento
Argomenti per l'evento di salvataggio
Quando si applicano le regole business in genere è necessario evitare che un record venga salvato in modo da consentire all'utente di includere le informazioni necessarie. A tale scopo è necessario configurare il gestore eventi da passare nel contesto di esecuzione. Il contesto di esecuzione contiene il metodo getEventArgs per recuperare gli argomenti per l'evento. Questi argomenti includono i metodi da utilizzare per controllare se un record verrà salvato o le proprietà query che offrono informazioni sull'evento save.
Attività |
Esempio |
---|---|
Evitare che un record venga salvato. |
function My_PreventSaveFunction(eContext) { Utilizzare il parametro eContext per acquisire il contesto di esecuzione e utilizzare il metodo preventDefault incluso negli argomenti dell'evento. |
Decidere quale azione ha avviato il salvataggio. |
function My_GetSaveModeTextFunction(eContext) { Utilizzare il parametro eContext per acquisire il contesto di esecuzione e utilizzare il metodo getSaveMode incluso negli argomenti dell'evento per convertire il valore del codice integer nel testo. |
In questo argomento
Visualizzare le notifiche
Le notifiche consentono di visualizzare un messaggio all'utente.
Attività |
Metodo |
Esempio |
---|---|---|
Visualizzare un messaggio accanto al controllo per indicare che i dati non sono validi. |
Xrm.Page.getAttribute("name").controls.forEach( Imposta un messaggio di errore di convalida su ogni controllo nel modulo dell'attributo Nome account. Quando viene visualizzato questo messaggio il record non può essere salvato. Questo metodo è disponibile solo per Entità aggiornate. |
|
Rimuovere un messaggi già visualizzato per un controllo. |
Xrm.Page.getAttribute("name").controls.forEach( Cancella tutti i messaggi di errore di convalida su ogni controllo nel modulo dell'attributo Nome account. Questo metodo è disponibile solo per Entità aggiornate. |
|
Visualizzare notifiche relative a livello di modulo. |
Xrm.Page.ui.setFormNotification( Visualizza il messaggio "Ciao" nella parte superiore del modulo con un'icona di informazioni di sistema. Questo metodo è disponibile solo per Entità aggiornate. |
|
Rimuovere le notifiche relative a livello di modulo |
Xrm.Page.ui.clearFormNotification("helloMsg"); Rimuove il messaggio precedentemente impostato utilizzando "helloMsg" come parametro uniqueid. Questo metodo è disponibile solo per Entità aggiornate. |
|
Visualizzare un dialogo di avviso non bloccante con una funzione di richiamata. |
var alertDisplayed = false; Visualizzare un avviso e impostare il valore della variabile alertDisplayed alla chiusura. Questo metodo è disponibile solo per Entità aggiornate. |
|
Visualizzare un dialogo di conferma non bloccante con diverse richiamate in base al pulsante premuto dall'utente. |
var agree = false; Visualizzare un messaggio di conferma e impostare il valore della variabile agree in base alla risposta. Questo metodo è disponibile solo per Entità aggiornate. |
In questo argomento
Controlli
I controlli indicano gli elementi dell'interfaccia utente nel modulo. Ogni attributo nel modulo include almeno un controllo associato. Non ogni controllo è associato a un attributo.IFRAME, risorsa Web e griglie secondarie sono controlli che non hanno attributi.
Accedere dai controlli del modulo
I controlli sono disponibili nella raccolta Xrm.Page.ui.controls. Per accedere a un controllo è possibile utilizzare il metodo Xrm.Page.ui.controls.get o la versione Xrm.Page.getControl di collegamento.
Il metodo get accetta quattro tipi di argomenti:
Stringa: restituisce un controllo in cui il nome logico corrisponde alla stringa.
Numero: restituisce il controllo in cui l'indice di raccolta Xrm.Page.ui.controls corrisponde al numero.
Nessuno: restituisce una matrice di tutti i controlli.
Delegate function(control,index): restituisce una matrice di tutti gli controlli nella raccolta Xrm.Page.ui.controls che comporta che la funzione di delegato restituisca true.
Attività |
Esempio |
---|---|
Accedere a tutti i controlli per un attributo specifico |
var nameControls = Xrm.Page.getAttribute("name").controls.get(); Assegna una matrice di tutti i controlli per l'attributo name alla variabile nameControls. |
Accedere a un controllo per nome |
var nameControl = Xrm.Page.getControl("name"); Assegna il primo controllo che indica il campo Nome account alla variabile nameControl. Il primo controllo aggiunto a un modulo per un attributo avrà lo stesso nome dell'attributo. Ogni nome aggiuntivo di controllo include un numero di indice aggiunto al nome. Ad esempio, tre controlli per il nome dell'attributo avranno i nomi: name, name1 e name2 rispettivamente. |
Accedere a un controllo per indice |
var firstControl = Xrm.Page.getControl(0); Assegna il primo controllo nella raccolta Xrm.Page.ui.controls alla variabile firstControl. |
Accedere a tutti i controlli |
var allControls = Xrm.Page.getControl(); Assegna una matrice di tutti i controlli nella raccolta Xrm.Page.ui.controls alla variabile allControls. |
Accedere a tutti i controlli che soddisfano un criterio specifico |
var optionsetControls = Xrm.Page.getControl(function (control, index) { Assegna una matrice di tutti gli attributi nella raccolta Xrm.Page.ui.controls che soddisfano i criteri della funzione anonima, che restituisce true quando il tipo di controllo è "set di opzioni" alla variabile optionsetControls. |
Ogni sezione ha inoltre una raccolta di controlli contenente solo i comandi per tale sezione. Il seguente esempio di codice assegna la variabile generalTabAccountInfoSectionControls a una matrice di controlli disponibili nella sezione Indirizzo della scheda Generale.
var generalTabAccountInfoSectionControls = Xrm.Page.ui.tabs.get("general").sections.get("address").controls.get();
Nota
Ogni attributo esiste solo una volta nel modulo, ma un campo può essere aggiunto al modulo per tale attributo più volte. Ogni campo che viene aggiunto crear un altro controllo. I moduli possono essere ulteriormente personalizzati dopo che vengono scritti gli script. Gli script che vengono scritti per i controlli di attributo devono presupporre che sono stati inclusi più volte nel modulo. Qualsiasi azione che si desidera prendere su un controllo per un attributo in genere dovrebbe essere applicata a tutti i controlli per tale attributo. Ad esempio, se si desidera disabilitare un controllo, ma solo uno di essi, l'utente può comunque immettere dati utilizzandone uno diverso. Per questo motivo è consigliabile utilizzare il criterio seguente utilizzando il metodo di raccolta forEach per applicare la stessa logica a tutti i controlli per un attributo, anche se esiste solo un controllo nel momento in cui viene scritto lo script.
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); });
In questo argomento
Accedere ai controlli dell'intestazione
I controlli nell'intestazione seguono la convenzione di denominazione in cui "header_" viene anteposto al nome del controllo. Ad esempio, se l'attributo name si trova nell'intestazione, è possibile accedervi tramite:
var nameControlInHeader = Xrm.Page.getControl("header_name");
Accedere ai controlli del processo aziendale
I controlli nel controllo del processo aziendale seguono la convenzione di denominazione in cui "header_process_" viene anteposto al nome del controllo. Ad esempio, se l'attributo name si trova nell'intestazione, è possibile accedervi tramite:
var nameControlInBPF = Xrm.Page.getControl("header_process_name");
Nota
Solo i controlli nella fase attiva si trovano nella raccolta Xrm.Page.ui.controls quando il modulo viene caricato. Altri controlli del processo aziendale sono aggiunti quando è selezionata una fase per l'entità corrente.
Metodi di controllo del modulo
Dopo avere avuto accesso a un controllo è possibile chiamare i seguenti metodi.
Attività |
Metodo |
Esempio |
---|---|---|
Determinare se un controllo è visibile |
var isNameVisible = Xrm.Page.getControl("name").getVisible(); Assegna un valore Boolean alla variabile isNameVisible che indica se il campo Nome account è visibile. |
|
Nascondere o visualizzare un controllo |
Xrm.Page.getControl("name").setVisible(false); Nasconde il campo Nome account. |
|
Ottenere un riferimento all'attributo per il controllo |
var nameAttribute = Xrm.Page.getControl("name").getAttribute(); Assegna l'attributo per il controllo per il campo Nome account alla variabile nameAttribute. Nota Non tutti i controlli hanno attributi. |
|
Determinare il tipo del controllo |
var optionSetControls = Xrm.Page.getControl(function (control, index) { return control.getControlType() == "optionset"; }); Assegna una matrice di controlli optionset alla variabile optionSetControls. |
|
Determinare se un controllo è abilitato |
var disabledControls = Xrm.Page.getControl(function(control, index) { return control.getDisabled(); }); Assegna una matrice di controlli disabilitati alla variabile disabledControls. Nota I controlli di risorsa Web e griglia secondaria non supportano questo metodo. |
|
Disabilitare o abilitare un controllo |
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); }); Disabilitare ogni controllo per l'attributo name. Suggerimento Ricordare che qualsiasi attributo può avere più controlli. |
|
Ottenere l'etichetta per un controllo |
var nameControlLabel = Xrm.Page.getControl("name").getLabel(); Assegna il valore del controllo per il campo Nome account alla variabile nameControlLabel. |
|
Modificare l'etichetta per un controllo |
Xrm.Page.getControl("name").setLabel("Company Name"); Modificare l'etichetta del campo Nome account in Nome azienda. |
|
Ottenere il nome di un controllo |
var firstControlName = Xrm.Page.getControl(0).getName(); Assegna il nome del primo controllo nella raccolta Xrm.Page.ui.controls alla variabile firstControlName. |
|
Ottenere il padre di un controllo |
var parentSection = Xrm.Page.getControl("name").getParent(); Assegna la sezione padre del controllo per il campo Nome account alla variabile parentSection. |
|
Impostare lo stato attivo su un controllo |
Xrm.Page.getControl("name").setFocus(); Imposta lo stato attivo sul campo Nome account. |
In questo argomento
Metodi del controllo OptionSet
I set di opzioni hanno alcuni metodi speciali. È importante tenere presente che l'attributo definisce le opzioni valide per un optionset. Durante l'utilizzo di un controllo optionset è possibile modificare le opzioni disponibili ma non è possibile creare nuove opzioni.
Attività |
Metodo |
Esempio |
---|---|---|
Aggiungere un'opzione a un controllo di set di opzioni |
var addressTypeCodeControl = Xrm.Page.getControl("address1_addresstypecode"); Utilizzando un riferimento al controllo per il campo Tipo di indirizzo, accedere all'attributo per il controllo e utilizzare il metodo di getOption per impostare la variabile billToAddressOption sull'opzione che indica l'opzione Fatturazione. Utilizzare clearOptions per rimuovere tutte le opzioni esistenti e utilizzare addOption per impostare billToAddressOption come l'unica opzione disponibile per il controllo. |
|
Rimuovere tutte le opzioni da un controllo di set di opzioni |
Xrm.Page.getControl("address1_addresstypecode").clearOptions(); Rimuovere tutte le opzioni del controllo per il campo Tipo di indirizzo. |
|
Rimuovere una singola opzione da un controllo di set di opzioni. |
Xrm.Page.getControl("address1_addresstypecode").removeOption(1); Rimuovere l'opzione Fatturazione dal controllo per il campo Tipo di indirizzo. |
In questo argomento
Metodi di controlli della risorsa Web e IFRAME
Un controllo IFRAME consente di includere una pagina all'interno di un modulo fornendo un URL. Una risorsa Web HTML aggiunta a un modulo viene presentata tramite un elemento IFRAME.Silverlight e le risorse Web di immagine sono incorporati direttamente nella pagina.
Attività |
Metodo |
Esempio |
---|---|---|
Ottenere il valore del parametro stringa di query dei dati passato a una risorsa Web Silverlight. |
var dataValue = Xrm.Page.getControl("WebResource_SilverLightControl").getData(); Assegna il valore passato attraverso il parametro stringa di query dei dati alla variabile dataValue. |
|
Ottenere l'URL per il contenuto attualmente visualizzato in IFRAME. |
var iframeSource = Xrm.Page.getControl("IFRAME_targetPage").getSrc(); Assegna la stringa che indica il valore dell'attributo IFRAME.src corrente alla variabile iframeSource. |
|
Impostare l'URL per il contenuto da visualizzare in IFRAME. |
Xrm.Page.getControl("IFRAME_targetPage").setSrc("http://www.bing.com"); Impostare un URL per essere IFRAME.src per il controllo. |
|
Ottenere l'URL che indica l'impostazione predefinita configurata URL per IFRAME. |
var initialUrl = Xrm.Page.getControl("IFRAME_bing").getInitialUrl(); Assegna l'URL configurato da visualizzare in IFRAME alla variabile initialUrl. |
|
Ottiene l'oggetto nel modulo che indica la risorsa Web o IFRAME. |
var obj = Xrm.Page.getControl("IFRAME_bing").getObject(); Assegna un riferimento di oggetto alla variabile obj. Per IFRAME questo sarà IFRAME l'elemento di Document Object Model (DOM). Per una risorsa Web Silverlight sarà l'elemento Oggetto che indica il plug-in Silverlight incorporato. |
In questo argomento
Metodi del controllo di ricerca
Un requisito comune per i controlli di ricerca è specificare la visualizzazione predefinita visualizzata quando un utente aggiorna il campo.
Attività |
Metodo |
Esempio |
---|---|---|
Aggiungere una visualizzazione personalizzata per una ricerca. |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Imposta le variabili viewId, viewDisplayName, fetchXml e layoutXml da passare come argomenti in modo da aggiungere una visualizzazione personalizzata come visualizzazione predefinita al controllo per il campo di ricerca Account padre. |
|
Ottenere la visualizzazione predefinita per una ricerca. |
var defaultViewId = Xrm.Page.getControl("parentaccountid").getDefaultView(); Assegnare il valore id della visualizzazione predefinita alla variabile defaultViewId. |
|
Impostare la visualizzazione predefinita per una ricerca. |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Imposta la visualizzazione predefinita per il controllo per il campo Account padre sul valore id alla variabile viewId. |
|
Filtrare i record restituiti per un controllo di ricerca |
Il seguente esempio di codice riguarda la ricerca Account del modulo Opportunità (parentaccountid). Quando la funzione Sdk.setParentAccountIdFilter è impostata nel gestore eventi Onload del modulo, la funzione Sdk.filterCustomAccounts viene aggiunta all'evento PreSearch per tale ricerca. Ne risulta che solo gli account con il valore Categoria (accountcategorycode) di Cliente preferito (1) verranno restituiti.
|
In questo argomento
Metodi di controllo della griglia secondaria
Il controllo SubGrid è una griglia in un modulo. Ha un metodo univoco.
Attività |
Metodo |
Esempio |
---|---|---|
Aggiornare i dati visualizzati nella griglia secondaria |
Xrm.Page.getControl("accountcontactsgrid").refresh(); Aggiornare i Contattisubgrid. |
In questo argomento
Metodi di controllo della data
Il controllo data ha un metodo univoco.
Attività |
Metodo |
Esempio |
---|---|---|
Specificare se il controllo della data deve visualizzare la porzione di tempo della data. |
Xrm.Page.getControl("createdon").setShowTime(false); Impostare il campo Data creazione in modo che il tempo non venga visualizzato. Questo metodo è disponibile solo per Entità aggiornate. |
In questo argomento
Navigazione del modulo
È possibile utilizzare e manipolare gli elementi di navigazione nella parte sinistra del modulo. Questi elementi di navigazione in genere mostrano i record relativi al record visualizzato nel modulo.
È possibile accedere agli elementi di navigazione mediante la raccolta Xrm.Page.ui.navigation.items. Analogamente a tutte le raccolte nel modulo, è presente un metodo forEach e get.
Attività |
Metodo |
Esempio |
---|---|---|
Ottenere il nome di un elemento di navigazione |
var navItemIds = []; Creare una matrice navItemIds contenente i valori id di ogni elemento di navigazione nella raccolta Xrm.Page.ui.navigation.items. |
|
Ottenere l'etichetta di un elemento di navigazione. |
var navAddressesLabel = Xrm.Page.ui.navigation.items.get("navAddresses").getLabel(); Assegnare l'etichetta per l'elemento di navigazione Altri indirizzi alla variabile navAddressesLabel. |
|
Impostare l'etichetta di un elemento di navigazione |
Xrm.Page.ui.navigation.items.get("navAddresses").setLabel("Other Addresses"); Modificare l'etichetta dell'elemento di navigazione Altri indirizzi in Altri indirizzi. |
|
Mostrare o nascondere un elemento di navigazione |
Xrm.Page.ui.navigation.items.get("navAddresses").setVisible(false); Nascondere l'elemento di navigazione More Addresses. |
|
Determinare se un elemento di navigazione è visibile |
var moreAddressesVisible = Xrm.Page.ui.navigation.items.get("navAddresses").getVisible() Assegnare un valore Boolean alla variabile moreAddressesVisible per rappresentare se l'elemento di navigazione Altri indirizzi è visibile. |
|
Impostare lo stato attivo su un elemento di navigazione. |
Xrm.Page.ui.navigation.items.get("navAddresses").setFocus(); Impostare lo stato attivo sull'elemento di navigazione Altri indirizzi. |
In questo argomento
Schede e sezioni
Ogni modulo ha una raccolta di schede. Ogni scheda ha una raccolta di sezioni. Ogni sezione ha una raccolta di controlli. È possibile a livello di programmazione accedere a questi elementi e utilizzare i loro metodi.
Attività |
Metodo |
Esempio |
---|---|---|
Determinare se una scheda è espansa o compressa |
var isGeneralTabExpanded = (Xrm.Page.ui.tabs.get("general").getDisplayState() == "expanded") Assegnare un valore Boolean alla variabile isGeneralTabExpanded che indica se la scheda Generale è espansa. |
|
Espandere o comprimere una scheda |
Xrm.Page.ui.tabs.get("general").setDisplayState("collapsed"); Comprimere la scheda Generale. |
|
Determinare se una scheda è visibile |
var isGeneralTabVisible = Xrm.Page.ui.tabs.get("general").getVisible(); Assegnare un valore Boolean alla variabile isGeneralTabVisible che indica se la scheda Generale è visibile. |
|
Mostrare o nascondere una scheda |
Xrm.Page.ui.tabs.get("general").setVisible(false); Nascondere la scheda Generale. |
|
Ottenere l'etichetta per una scheda |
var generalTabLabel = Xrm.Page.ui.tabs.get("general").getLabel(); Assegnare l'etichetta della scheda Generale alla variabile generalTabLabel. |
|
Modificare l'etichetta per una scheda |
Xrm.Page.ui.tabs.get("general").setLabel("Major"); Modificare l'etichetta della scheda Generale in Principale. |
|
Impostare lo stato attivo su una scheda |
Xrm.Page.ui.tabs.get("general").setFocus(); Impostare lo stato attivo sulla scheda Generale. |
|
Ottenere il nome della scheda |
var firstTabName = Xrm.Page.ui.tabs.get(0).getName(); Assegnare il nome della prima scheda alla variabile firstTabName. |
|
Ottenere la scheda padre di una sezione |
Xrm.Page.getControl("industrycode").getParent().getParent().setFocus(); Impostare lo stato attivo sulla scheda che contiene il campo Settore. |
|
Determinare se una sezione è visibile |
var industrySectionVisible = Xrm.Page.getControl("industrycode").getParent().getVisible(); Assegnare il valore Boolean alla variabile industrySectionVisible indicando se la sezione che contiene il campo Settore è visibile. |
|
Mostrare o nascondere una sezione |
Xrm.Page.getControl("industrycode").getParent().setVisible(false); Nascondere la sezione che contiene il campo Settore. |
|
Ottenere l'etichetta per una sezione |
var industryFieldSectionLabel = Xrm.Page.getControl("industrycode").getParent().getLabel(); Assegnare l'etichetta della sezione che contiene il campo Settore alla variabile industryFieldSectionLabel. |
|
Modificare l'etichetta per una sezione |
Xrm.Page.getControl("industrycode").getParent().setLabel("Detailed Information"); Modificare l'etichetta della sezione che contiene il campo Settore in Informazioni dettagliate. |
In questo argomento
Aggiungere o rimuovere i gestori eventi in fase di esecuzione
I gestori eventi in genere sono configurati utilizzando l'editor di moduli nell'applicazione ma è anche possibile aggiungerli all'evento OnSave dei moduli e attribuire eventi OnChange in fase di esecuzione utilizzando APIs. Gli esempi in questa sezione si riferiranno alla definizione di funzione seguente:
function myFunction() {
//perform action here
}
Come è possibile aggiungere una funzione anonima, la funzione deve avere un nome a cui fare riferimento per rimuoverla.
Attività |
Metodo |
Esempio |
---|---|---|
Aggiungere una funzione all'evento OnSave |
Xrm.Page.data.entity.addOnSave(myFunction); Aggiungere la funzione myFunction all'evento OnSave. |
|
Rimuovere una funzione dall'evento OnSave |
Xrm.Page.data.entity.removeOnSave(myFunction); Rimuovere la funzione myFunction all'evento OnSave. |
|
Aggiungere una funzione all'evento OnChange di un attributo. |
Xrm.Page.getAttribute("name").addOnChange(myFunction); Aggiungere la funzione myFunction all'evento OnChange del campo Nome account. |
|
Rimuovere una funzione dall'evento OnChange di un attributo |
Xrm.Page.getAttribute("name").removeOnChange(myFunction); Rimuovere la funzione myFunction all'evento OnChange del campo Nome account. |
|
Aggiungere una funzione all'evento PreSearch di un controllo di ricerca. |
Il seguente esempio di codice riguarda la ricerca Account del modulo Opportunità (parentaccountid). Quando la funzione Sdk.setParentAccountIdFilter è impostata nel gestore eventi Onload del modulo, la funzione Sdk.filterCustomAccounts viene aggiunta all'evento PreSearch per tale ricerca. Ne risulta che solo gli account con il valore Categoria (accountcategorycode) di Cliente preferito (1) verranno restituiti.
|
Utilizzare Evento OnStageChange e Evento OnStageSelected per gli eventi che si verificano nel controllo del processo aziendale. Questi eventi hanno solo metodi per aggiungere o rimuovere i gestori eventi a livello di programmazione.Ulteriori informazioni:Metodi per gestire i gestori eventi.
In questo argomento
Metodi di informazioni contestuali
Utilizzare questi metodi per ottenere informazioni sull'utente, l'organizzazione e il client. La tabella seguente fornisce alcuni dei metodi di contesto più utili. Per tutti i metodi di contesto, vedere Contesto sul lato client (riferimento sul lato client)
Attività |
Metodo |
Esempio |
---|---|---|
Ottenere l'URL per connettersi all'organizzazione. |
var serverUrl = Xrm.Page.context.getClientUrl(); Assegnare una stringa che indica l'URL alla variabile serverUrl. |
|
Ottenere l'identificatore univoco per l'utente corrente. |
var userId = Xrm.Page.context.getUserId(); Assegnare una stringa che indica l'ID dell'utente alla variabile userId. |
|
Ottenere il nome dell'utente corrente. |
var userName = Xrm.Page.context.getUserName(); Assegnare una stringa che indica il nome dell'utente alla variabile userName. Questo metodo è disponibile solo per Entità aggiornate. |
|
Ottenere il codice della lingua che indica la lingua dell'interfaccia utente preferita dell'utente. |
var userLCID = Xrm.Page.context.getUserLcid(); Assegnare un numero che indica la lingua preferita dell'utente alla variabile userLCID. |
|
Ottenere una matrice di stringhe che indica i valori GUID per ogni ruolo di sicurezza assegnato all'utente corrente e a tutti i team cui l'utente è associato. |
var userRoles = Xrm.Page.context.getUserRoles(); Assegna una matrice di stringhe che indicano i ruoli di sicurezza dell'utente alla variabile userRoles. |
|
Determinare se lo script è in esecuzione nel client Microsoft Dynamics CRM per Outlook. |
var isOutlookClient = (Xrm.Page.context.client.getClient() == "Outlook"); Assegnare un valore Boolean che indica se il codice è in esecuzione nel client Dynamics CRM per Outlook alla variabile isOutlookClient. |
|
Determinare se l'utente sta lavorando offline con il client Microsoft Dynamics CRM per Microsoft Office Outlook con accesso offline. |
var IsOffline = (Xrm.Page.context.client.getClientState() == "Offline"); Assegnare un valore Boolean che indica se l'utente sta lavorando attualmente offline alla variabile IsOffline. |
In questo argomento
Recuperare, aggiornare, o salvare i dati dell'entità
Nella tabella seguente sono elencati i metodi disponibili per ottenere informazioni sul record corrente o per salvare le modifiche. Per ulteriori informazioni, vedere Xrm.Page.data.entity (riferimento lato client) e Xrm.Page.data (riferimento lato client).
Attività |
Metodo |
Esempio |
---|---|---|
Ottenere il nome logico dell'entità corrente |
var entityName = Xrm.Page.data.entity.getEntityName(); Assegnare il nome di entità logico alla variabile entityName. |
|
Ottenere il valore dell'attributo primario per l'entità corrente. |
var primaryAttributeValue = Xrm.Page.data.entity.getPrimaryAttributeValue(); Assegnare il valore dell'attributo primario alla variabile primaryAttributeValue. Questo metodo è disponibile solo per Entità aggiornate. |
|
Ottenere l'Id del record corrente |
var recordId = Xrm.Page.data.entity.getId(); Assegnare l'id del record alla variabile recordId. |
|
Aggiornare in modalità asincrona i dati del modulo senza ricaricare la pagina. |
Xrm.Page.data.refresh(); Aggiorna i dati nel modulo. Questo metodo è disponibile solo per Entità aggiornate. |
|
Salvare il record corrente |
Xrm.Page.data.entity.Salva |
Xrm.Page.data.entity.save(); Salva il record. Esistono argomenti facoltativi. Utilizzare saveandclose o saveandnew per eseguire azioni equivalenti. |
Salvare il record corrente in modalità asincrona con l'opzione per impostare |
Xrm.Page.data.Salva |
Xrm.Page.data.save().then( Salva il record e visualizza un messaggio che indica lo stato del salvataggio. Questo metodo è disponibile solo per Entità aggiornate. |
Determinare se i dati del record corrente sono stati modificati. |
var isDirty = Xrm.Page.data.entity.getIsDirty(); Assegnare un valore Boolean che indica che i dati nel record sono stati modificati alla variabile isDirty. |
|
Ottenere una stringa che indica i dati che vengono inviati al server quando viene salvato il record. |
var dataXml = Xrm.Page.data.entity.getDataXml(); Assegnare una stringa che indica i dati da salvare alla variabile dataXml. |
In questo argomento
Vedere anche
Utilizzare il modello a oggetti Xrm.Page
Creare il codice per moduli di Microsoft Dynamics CRM 2015
Riferimento programmazione sul lato client
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright