Introduzione alla conduzione di operazioni globali con l'oggetto Xrm dell'API client
L'API client fornisce l'oggetto Xrm, disponibile a livello globale nel codice, che permette di eseguire varie attività senza dover fare affidamento sul contesto di esecuzione. Il diagramma seguente illustra a livello generale le proprietà e i metodi disponibili. Per una panoramica approfondita di questo oggetto, vedere Oggetto Xrm dell'API client.
Oggetto App
L'uso di addGlobalNotification nell'oggetto App permette di visualizzare notifiche di errore, di informazioni, di avviso o di operazione riuscita per un'app, nonché di specificare le azioni da eseguire in base alla notifica. Questa notifica è simile alle notifiche del modulo, ma è possibile usarla all'esterno del contesto di un modulo. Uno script della barra dei comandi, ad esempio, può notificare a un utente che un'azione è completata. Usare il metodo clearGlobalNotification per cancellare una notifica nell'app.
Oggetto Device
L'oggetto Xrm.Device espone le funzionalità del dispositivo native correlate alle interazioni del dispositivo mobile, ad eccezione del metodo pickFile, accessibile anche tramite client Web. Le app canvas forniscono anche un framework estendibile per lo sviluppo di applicazioni per dispositivi mobili e devono essere prese in considerazione in questi scenari. La tabella seguente è un riepilogo dei metodi disponibili nell'oggetto Xrm.Device.
| Metodo | Descrizione |
|---|---|
| captureAudio | Richiama il microfono del dispositivo per registrare l'audio. |
| captureImage | Richiama la fotocamera del dispositivo per acquisire un'immagine. |
| captureVideo | Richiama la fotocamera del dispositivo per registrare un video. |
| getBarcodeValue | Richiama la fotocamera del dispositivo per eseguire la scansione delle informazioni riportate nel codice a barre, ad esempio il numero di un prodotto. |
| getCurrentPosition | Restituisce la posizione corrente usando la funzionalità di georilevazione del dispositivo. |
| pickFile | Apre una finestra di dialogo per selezionare i file dal computer (client Web) o dal dispositivo mobile (client mobili). |
In base alla configurazione del dispositivo, alcune funzionalità non sono disponibili. Per concedere all'app l'accesso a funzionalità specifiche del dispositivo, può anche essere necessario il consenso dell'utente. L'utente, ad esempio, potrebbe aver disabilitato le funzionalità di localizzazione del dispositivo a livello globale o impedito l'accesso alla fotocamera da parte dell'app. Quando si sviluppa un'app, tenere presente che questi metodi potrebbero non riuscire a causa delle funzionalità del dispositivo, della configurazione, della mancanza di autorizzazioni o del consenso.
Oggetto Encoding
È possibile usare l'oggetto Xrm.Encoding per codificare e decodificare stringhe XML e HTML. Questo tipo di codifica e decodifica può essere utile nei seguenti casi:
Interazione con risorse Web HTML
Codifica e decodifica dei parametri di stringhe di query
Interazione con FetchXML contenente caratteri speciali quali '&' o '<' in una stringa di ricerca.
Oggetto Navigation
L'oggetto Navigation fornisce metodi per la navigazione che è possibile usare all'interno di un'applicazione basata su modello. A causa della loro natura di blocco, attività come la visualizzazione di finestre di dialogo di avviso, conferma ed errore non sono considerate un'esperienza utente ottimale, ma sono comunque disponibili. In scenari di questo tipo, è consigliabile prendere in considerazione le notifiche del modulo oppure altri meccanismi che non comportino un blocco per avvisare gli utenti in relazione a un problema. Di seguito viene riportato un riepilogo dei metodi disponibili nell'oggetto Xrm.Navigation.
| Metodo | Descrizione |
|---|---|
| openAlertDialog | Visualizza una finestra di dialogo di avviso che contiene un messaggio e un pulsante. |
| openConfirmDialog | Visualizza una finestra di dialogo di conferma che contiene un messaggio e due pulsanti. |
| openErrorDialog | Visualizza una finestra di dialogo di errore. |
| openFile | Apre un file. |
| openForm | Apre un modulo di tabella o un modulo di creazione rapida. |
| openUrl | Apre un URL, inclusi gli URL dei file. |
| openWebResource | Apre una risorsa Web HTML. |
Oggetto Panel
L'oggetto Xrm.Panel fornisce un metodo per visualizzare una pagina Web nel riquadro laterale di un modulo di un'app basata su modello. Questa funzionalità è attualmente in anteprima e non verrà trattata in dettaglio in questa sede. Per altre informazioni, vedere Xrm.Panel.
Oggetto Utility
L'oggetto Xrm.Utility è un contenitore per diversi metodi utili. La tabella seguente è un riepilogo dei metodi disponibili nell'oggetto Xrm.Utility. Per altre informazioni, vedere Xrm.Utility (riferimento API client).
| Metodo | Descrizione |
|---|---|
| closeProgressIndicator | Il metodo Indicator chiude una finestra di dialogo di avanzamento aperta usando showProgressIndicator. |
| getAllowedStatusTransitions | Restituisce le transizioni di stato valide per la tabella e codice di stato specificati. |
| getEntityMetadata | Restituisce i metadati di entità per l'entità specificata. |
| getGlobalContext | Recupera il contesto globale che fornisce informazioni sul runtime, tra cui le impostazioni utente e dell'organizzazione, i dettagli dell'app e le informazioni sul client. |
| getLearningPathAttributeName | Restituisce il nome dell'attributo DOM previsto dalla progettazione del contenuto del percorso di apprendimento (istruzioni guidate) per identificare i controlli dell'interfaccia utente nei moduli delle app basate su modello. |
| getResourceString | Restituisce la stringa localizzata per una determinata chiave associata alla risorsa Web specificata. |
| invokeProcessAction | Richiama un'azione in base ai parametri specificati. Questo metodo può anche essere usato per richiamare API personalizzate create dagli sviluppatori. |
| lookupObjects | Apre un controllo di ricerca per selezionare uno o più elementi. |
| refreshParentGrid | Aggiorna la griglia padre che contiene il record specificato. |
| showProgressIndicator | Visualizza una finestra di dialogo di avanzamento con il messaggio specificato. |
Molti metodi non elencati qui possono essere presenti nel vecchio codice che ora è stato deprecato perché sono stati spostati nello spazio dei nomi Xrm.Navigation. Se si incontrano tali metodi, è necessario aggiornare il codice per usare i nuovi metodi Xrm.Navigation.
Oggetto Xrm.WebApi
L'oggetto Xrm.WebApi fornisce proprietà e metodi per usare l'API Web per operazioni CRUD tradizionali all'interno di uno script client. Quando si usa Xrm.WebAPI nella logica dello script, le operazioni che si eseguono vengono eseguite automaticamente nel contesto dell'utente corrente dell'app. È possibile usare l'API Web sia quando l'app è online sia quando è offline (se si configura l'ambiente per l'uso offline). Lo spazio dei nomi include uno specifico set di metodi online e offline, ma l'uso di tali metodi richiede di tenere traccia dello stato del client. Se si usa Xrm.WebAPI o Xrm.WebAPI.createRecord, l'API determina automaticamente se deve usare lo spazio dei nomi online oppure offline.
La tabella seguente è un riepilogo dei metodi disponibili nell'oggetto Xrm.WebApi. Per altre informazioni, vedere Xrm.WebApi (riferimento API client).
| Metodo | Descrizione |
|---|---|
| createRecord | Crea una riga di tabella. |
| deleteRecord | Elimina una riga di tabella tramite l'ID riga. |
| retrieveRecord | Recupera una riga tramite il relativo ID. |
| retrieveMultipleRecords | Recupera una raccolta di righe di tabella corrispondenti alle opzioni di query o alla query FetchXML specificata. |
| updateRecord | Aggiorna una riga di tabella. |
| isAvailableOffline | Restituisce un valore booleano che indica se una tabella è presente nel profilo di un utente e se è disponibile in modalità offline. |
| execute | Esegue una singola azione, funzione o operazione CRUD. |
| executeMultiple | Esegue una raccolta di azioni, funzioni oppure operazioni CRUD. |
Le proprietà e i metodi dell'oggetto Xrm permettono di automatizzare i processi di business e di migliorare l'esperienza utente complessiva.