Plug-in istantanei
L'uso dei plug-in istantanei è un ottimo modo per rendere la logica Power Fx riutilizzabile da più app e flussi. Le sezioni di seguito descrivono come configurare i plug-in istantanei e forniscono alcune considerazioni importanti.
Scelta di nomi significativi per i plug-in
Quando si crea un plug-in istantaneo, una scelta che occorre effettuare è il nome visualizzato. Il creatore usa il nome visualizzato quando richiama il plug-in dalla propria app o dal proprio flusso. Sebbene il nome visualizzato possa contenere 100 caratteri, non va usato come descrizione. Occorre invece renderlo sufficientemente informativo da consentire al creatore di capire cosa fa e differenziarlo dagli altri plug-in. Non è possibile modificare il nome visualizzato dopo aver salvato il plug-in.
Quando il creatore usa il plug-in, il nome visualizzato appare in un elenco insieme a tutti gli altri plug-in istantanei con poco codice e alle azioni dell'API personalizzate create dagli sviluppatori di codice. Il nome visualizzato ha il prefisso dell'autore di soluzioni. Ad esempio, se il nome visualizzato è CalculateRiskScore, verrà visualizzato come contoso_CalculateRiskScore se Contoso è il prefisso della soluzione.
Gli esempi seguenti descrivono nomi che richiedono dei miglioramenti:
Convalida: questo nome non chiarisce cosa si sta convalidando. Un nome migliore potrebbe essere ValidateAccountNumber.
Pianificazione: anche se è chiaro che questo nome si riferisce alle pianificazioni, non è chiaro cosa si sta pianificando. Un nome migliore potrebbe essere ScheduleOfficeVisit. L'uso di questo nome più descrittivo significa che in futuro si potranno aggiungere altri plug-in simili per la pianificazione in base alle esigenze specifiche.
Una buona pratica è considerare quali azioni si potrebbero voler aggiungere in futuro. Inoltre, accertarsi di scegliere un nome sufficientemente flessibile da permettere di usare in futuro altri nomi simili ma significativi.
Impostazione dei parametri di input e output
I parametri permettono di trasferire i dati da e verso un plug-in istantaneo. I parametri possono essere di uno qualsiasi dei seguenti tipi di dati:
Intero: usare questo tipo di dati per numeri interi, come 9999.
Decimale: usare i decimali per calcoli finanziari e precisi.
Float: usare la virgola mobile per calcoli scientifici e ad ampio spettro.
Booleano: usare questo tipo di dati per indicare vero o falso.
Stringa: usare questo tipo di dati per i dati alfanumerici.
EntityReference: usare questo tipo di dati per passare un identificatore a una riga di tabella di Dataverse. Quando si sceglie questo tipo, occorre anche scegliere una tabella di Dataverse che indichi a cosa punta questo riferimento.
È possibile impostare un numero qualsiasi di parametri di input e output per gestire lo scenario. Quando si usa il plug-in istantaneo, a tutti i parametri di input definiti devono essere passati dei valori. Attualmente, il sistema non permette di contrassegnarli come facoltativi.
Analogamente al nome visualizzato, il nome scelto per i parametri dovrebbe essere significativo. Benché sia possibile assegnare nomi quali A, B o C, ciò renderebbe la logica più difficile da leggere. I nomi devono essere alfanumerici e non possono contenere spazi. Se si vogliono usare più parole, usare il carattere di sottolineatura (_) anziché uno spazio. Ad esempio, AccountNumber o Account_Number sono entrambi accettabili.
Assicurarsi di usare nomi univoci per tutti i parametri di input e output. Sebbene sia possibile usare lo stesso nome per i parametri di input e output, non è consigliabile farlo.
È possibile aggiungere e rimuovere parametri dopo aver pubblicato il plug-in e renderlo disponibile per l'uso da parte dei creatori. Queste modifiche possono interrompere le app e i flussi che usano il plug-in. Anziché modificare il plug-in esistente, è possibile creare una nuova versione con i nuovi parametri. Questo approccio garantisce che le app e i flussi degli utenti esistenti non vengano influenzati.
Uso dei parametri di input nella logica
Dopo aver definito i parametri di input, è possibile usarli nella logica iniziando a digitarne il nome e quindi selezionando il parametro dall'elenco. L'esempio seguente ha tre parametri di input: FirstName, MiddleName e LastName.
Concatenate(FirstName," ",MiddleName," ",LastName)
Anziché creare tre parametri separati, si potrebbe usare un parametro EntityReference per una tabella di Dataverse con tutte e tre le colonne. In tal caso, si riceverà l'accesso alla riga della tabella a cui viene fatto riferimento e a tutte le relative colonne. Se la colonna EntityReference è denominata MyContact, l'espressione ora sarebbe simile alla logica seguente.
Concatenate(MyContact.'First Name'," ",MyContact.'Middle Name'," ", MyContact.'Last Name')
Uso dei parametri di output nella logica
È possibile impostare le proprietà di output creando un record inline. Creare il record inline usando le parentesi graffe {} che contengono valori di campo denominati corrispondenti ai nomi dei parametri di output. Continuando dall'esempio precedente, si potrebbe definire un parametro di output FullName per contenere il nome concatenato.
{FullName: Concatenate(FirstName," ",MiddleName," ",LastName) }
È anche possibile avere più parametri di output. Ad esempio, se FullName è il parametro di input e FirstName, MiddleName e LastName sono i parametri di output, l'espressione del plug-in avrebbe un aspetto simile alla logica seguente.
{FirstName:<First Name Expression> , MiddleName:<Middle Name Expression>, LastName:<Last Name Expression>}
Mentre un'implementazione effettiva delle espressioni potrebbe rendere complicata la gestione di tutte le possibili variazioni, l'implementazione semplice di seguito mostrerebbe le parti separate di FullName.
{
FirstName:First(Split(FullName, " ")).Value,
MiddleName:If(CountRows(Split(FullName, " ")) > 2, Last(FirstN(Split(FullName, " "), 2)).Value, ""),
LastName:Last(Split(FullName, " ")).Value
}
Impostazione dell'ambito
Nella sezione Opzioni avanzate, quando si crea un plug-in istantaneo, è disponibile un'opzione per impostare l'ambito. Sono disponibili due opzioni per impostare l'ambito: Globale ed Entità. L'impostazione predefinita per i nuovi plug-in è Globale.
È possibile usare l'ambito globale quando il plug-in istantaneo creato non è specifico per una tabella di Dataverse. Ad esempio, se si sta creando un plug-in istantaneo per creare un messaggio di errore generico, l'ambito globale sarebbe appropriato perché non ha nulla a che fare con una tabella di Dataverse. Sarebbe opportuno usare l'ambito dell'entità se si creasse un plug-in istantaneo per fornire un elenco di colonne nella riga Contact in cui mancano dati.
La differenza principale è che si seleziona la tabella di Dataverse durante l'impostazione dell'ambito dell'entità. Quindi, quando un creatore richiama il plug-in, deve passare un riferimento a una riga da tale tabella di Dataverse. La logica del plug-in ha accesso alla riga specificata dal chiamante e a tutte le colonne di dati. La logica del plug-in fa riferimento a questa riga usando l'identificatore ThisRecord e non è quindi necessario impostare un parametro di input separato per essa. L'esempio seguente mostra l'espressione del nome concatenato per un plug-in creato con l'entità dell'ambito sulla tabella Contact di Dataverse.
{FullName: Concatenate(ThisRecord.'First Name'," ",ThisRecord.'Middle Name',ThisRecord.'Last Name') }
Test dei plug-in istantanei
Dopo aver salvato correttamente il plug-in istantaneo, è possibile testarlo. Un elenco di parametri di input viene visualizzato sulla schermata di test nella sezione Richiesta. Fornire i valori per i parametri di input. Se alcuni parametri sono del tipo EntityReference, è necessario cercare o ottenere un GUID per una delle righe della tabella. Dopo aver fornito i valori per ciascun parametro, è possibile selezionare Esegui nella barra dei comandi per avviare il test. L'immagine seguente illustra un esempio di test di un plug-in.
La sezione Risposta mostra i risultati dell'esecuzione del test. Se il test ha esito positivo, la casella di testo contiene l'output del plug-in
È anche possibile testare i plug-in istantanei dalla schermata principale nell'app Accelerazione dati.