Creare una raccolta di ordini in un'app canvas

Segui le istruzioni dettagliate per creare una raccolta di ordini in un'app canvas per la gestione di dati fittizi nel database Northwind Traders. Questo argomento fa parte di una serie che spiega come creare un'app aziendale su dati relazionali in Microsoft Dataverse. Per i migliori risultati, esplora gli argomenti in questa sequenza:

  1. Creare una raccolta di ordini (questo argomento).
  2. Crea un modulo di riepilogo.
  3. Creare una raccolta di dettagli.

Definizione delle aree dello schermo.

Prerequisiti

Creare un'app vuota

Crea un'app canvas da modello vuoto e assegnale un nome come "I miei ordini Northwind (app canvas)".

Aggiungere i dati

  1. Nel riquadro di sinistra, seleziona Dati > Aggiungi dati > cerca e seleziona la tabella Ordini.

    Seleziona Visualizza, Origini dati, Aggiungi origine dati.

    La tabella Ordini contiene molti campi di vario tipo:

    Elenco dei campi nella tabella Ordini.

    Ogni campo ha un nome visualizzato e un nome, che a volte viene chiamato il nome logico. Entrambi i nomi si riferiscono alla stessa cosa. In generale, utilizzi il nome visualizzato quando crei un'app, ma alcuni casi richiedono un nome più criptico, come indicato in una procedura.

  2. Dato che usiamo schermate e controlli di seguito, in Power Apps Studio torna alla Visualizzazione ad albero sul lato sinistro premendo l'icona dei tre quadrati in pila. Puoi tornare all'origine dati in qualsiasi momento premendo l'icona del cilindro.

  1. Nella scheda Inserisci, seleziona Raccolta > Vuota verticale per aggiungere un controllo Raccolta che mostrerà gli ordini.

    Inserisci, Raccolta, Vuota verticale.

    Il controllo viene posizionato nel canvas e viene visualizzata una finestra di dialogo a comparsa che chiede a quale origine dati connettersi.

  2. Potremmo collegarla direttamente a Orders qui, ma invece vogliamo controllare l'ordinamento della raccolta. Ignora la finestra di dialogo a comparsa e nella barra della formula imposta la proprietà Items della raccolta su questa formula:

    Sort( Orders, 'Order Number', Descending )
    

    La funzione Sort ordina l'elenco in modo che venga visualizzato per primo l'ordine più recente (che ha il numero di ordine più alto).

    Ordina gli ordini nella raccolta.

  3. Dopo alcuni istanti la vista dei risultati appare sotto la barra della formula. Utilizza la freccia a sinistra per vedere il risultato della formula. Scorri verso destra per vedere la colonna Order Number e assicurati che sia ordinata nel modo desiderato (dal più alto al più basso).

    Imposta la proprietà Items della raccolta.

  4. Nella scheda Proprietà vicino al bordo destro, apri l'elenco Layout:

    Elenco di opzioni di layout.

  5. Nell'elenco di opzioni seleziona Titolo e sottotitolo:

    Selezionare un layout.

    Due controlli Etichetta vengono aggiunti nel modello della raccolta. Per impostazione predefinita, questi controlli mostrano due colonne della tabella Ordini, che cambierai in seguito. Il modello della raccolta viene replicato verticalmente per ogni record nella tabella.

  6. Seleziona Modifica (accanto a Campi) nella scheda Proprietà lungo il bordo destro.

    Selezionare Modifica per aggiornare i campi.

  7. Nel riquadro Dati, seleziona Title1 (o seleziona l'etichetta superiore nel modello della raccolta).

  8. Nella barra della formula imposta la proprietà Text su questa espressione:

    "Order " & ThisItem.'Order Number'
    

    Impostare la proprietà Text dell'etichetta del titolo.

    Il numero dell'ordine appare nella parte superiore di ogni elemento della raccolta. Nel modello della raccolta, ThisItem concede l'accesso a tutti i campi della tabella Ordine.

  9. Nel riquadro Dati, seleziona Subtitle1 (o seleziona l'etichetta inferiore nel modello della raccolta):

    Selezionare l'etichetta del sottotitolo.

  10. Nella barra della formula imposta la proprietà Text su questa espressione:

    ThisItem.Customer.Company
    

    Impostare la proprietà Text dell'etichetta del sottotitolo.

    Dopo aver inserito questa formula, è possibile che venga visualizzato un errore con una riga rossa ondulata per un attimo. L'errore viene cancellato se selezioni qualcosa al di fuori della barra della formula e quindi riporti il cursore nella barra della formula. Se l'errore persiste o non vedi un valore, seleziona la scheda Visualizza, seleziona Origini dati, quindi aggiorna la tabella Ordini selezionando i puntini di sospensione (...) a destra del nome dell'origine dati.

    Quando specifichi ThisItem.Customer, stai sfruttando una relazione molti a uno tra le tabelle Ordini e Clienti e recuperando il record del cliente associato a ciascun ordine. Dal record del cliente, stai estraendo i dati nella colonna Company per la visualizzazione.

    Puoi mostrare tuttel e Relazioni dalla tabella Ordini ad altre tabelle, inclusa la tabella Cliente:

    Elenco di relazioni.

  11. Chiudi il riquadro Dati selezionando l'icona di chiusura (x) nell'angolo superiore destro.

Mostrare lo stato di ciascun ordine

In questa procedura, aggiungi spazio nella raccolta per un'etichetta e la configuri per mostrare lo stato di ogni ordine in un colore diverso in base ai dati.

  1. Nel modello della raccolta, riduci la larghezza della prima etichetta, Title1:

    Title1 nel modello della raccolta.

  2. Ripeti il passaggio precedente con la seconda etichetta, Subtitle1:

    Subtitle1 nel modello della raccolta.

  3. Con il modello di raccolta (o un controllo nel modello) selezionato, seleziona Etichetta nella scheda Inserisci:

    Aggiungere un'etichetta.

  4. Sposta la nuova etichetta a destra dell'etichetta Title1:

    Spostare e ridimensionare un'etichetta.

  5. Imposta la proprietà Text della nuova etichetta su questa espressione:

    ThisItem.'Order Status'
    

    Impostare la proprietà Text.

    Nella tabella Ordini, il campo Stato ordine contiene un valore dalla scelta Stato ordine. Una scelta è simile a un'enumerazione in altri strumenti di programmazione. Ogni set di opzioni è definito nel database, quindi gli utenti possono specificare solo le opzioni presenti nel set. La scelta Stato ordini anche la scelta è globale, non locale, quindi puoi usarla in altre tabelle:

    Scelta Stato ordine.

    Ogni opzione in un set ha un nome che appare se la visualizzi in un'etichetta. Questi nomi possono essere localizzati e l'app riconosce la stessa opzione se un utente inglese seleziona Apple, un utente francese seleziona Pomme o un utente spagnolo seleziona Manzana. Per questo motivo, non è possibile creare una formula che si basa su una stringa hardcoded per un'opzione, come questo argomento dimostrerà in seguito.

    Nelle formule, devi circondare Order Status con virgolette singole perché contiene uno spazio. Tuttavia, quel nome funziona allo stesso modo di qualsiasi altro nome in Power Apps, ad esempio Customer o Company.

  6. Nella scheda Home, aumenta la dimensione del carattere dell'etichetta dello stato fino a 20 punti e allinea il testo a destra:

    Modificare la dimensione del carattere e l'allineamento.

  7. Nella barra della formula, imposta la proprietà Color dell'etichetta dello stato su questa formula:

    Switch( ThisItem.'Order Status',
        'Orders Status'.Closed, Green,
        'Orders Status'.New, Black,
        'Orders Status'.Invoiced, Blue,
        'Orders Status'.Shipped, Purple
    )
    

    Impostare la proprietà Color dell'etichetta dello stato.

    Power Apps ti impedisce di creare una formula che si basa su una stringa hardcoded per ogni opzione in un set perché tali formule potrebbero produrre risultati inappropriati se i nomi delle opzioni sono localizzati. La funzione Switch determina il colore in base alla stringa visualizzata nell'etichetta in base alle impostazioni dell'utente.

    Con questa formula attiva, i diversi valori di stato vengono visualizzati in diversi colori, come mostra il grafico precedente.

Visualizzare il totale di ciascun ordine

  1. Seleziona il primo elemento nella raccolta, che è il modello della raccolta:

    Selezionare il modello di raccolta.

  2. Nella scheda Inserisci, seleziona Etichetta per aggiungere un'altra etichetta:

    Aggiungere un'altra etichetta.

  3. Sposta la nuova etichetta in modo che appaia sotto l'etichetta dello stato:

    Ridimensionare e spostare la nuova etichetta.

  4. Nella barra della formula imposta la proprietà Text della nuova etichetta su questa formula:

    Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
    

    Formula per il calcolo del costo totale di un ordine.

    In questa formula, la funzione Somma aggiunge i record nella tabella Dettagli dell'ordine che sono associati a ciascun record nella tabella Ordine attraverso una relazione uno-a-molti. Questi elementi compongono ciascun ordine e utilizzi la stessa relazione uno a molti per mostrare e modificare gli elementi nell'area in basso a destra dello schermo.

    Questa formula mostra una sottolineatura blu e una avviso di delega perché Dataverse non supporta la delega di funzioni aggregate complesse (ad esempio, la somma di una moltiplicazione). Puoi ignorare queste informazioni perché nessun ordine in questo esempio contiene più di 500 elementi. Se necessario per un'altra app, puoi aumentare tale limite in Impostazioni app.

    La funzione Text in questa formula aggiunge un simbolo di valuta e formatta il risultato con migliaia e separatori decimali. Come scritto, la formula include il tag della lingua per l'inglese americano ([$-en-US]) e un simbolo del dollaro ($). Se rimuovi il tag della lingua, verrà sostituito con uno in base alle impostazioni della lingua e l'etichetta mostrerà i formati appropriati per quel tag. Se lasci il simbolo del dollaro, l'etichetta mostrerà il simbolo di valuta appropriato in base alle impostazioni dell'utente. Tuttavia, puoi forzare la visualizzazione di un simbolo diverso sostituendo il simbolo del dollaro con quello che preferisci.

  5. Nella scheda Home, cambia la dimensione del carattere della nuova etichetta fino a 20 punti e allinea il testo a destra:

    Modificare la dimensione del carattere e l'allineamento di un'etichetta.

  6. Sposta la raccolta sul bordo sinistro dello schermo e riduci la larghezza della raccolta per racchiudere un po' di spazio.

  7. Aumenta l'altezza della raccolta in modo che sia alta quasi quanto lo schermo, ma lascia un po' di spazio in alto per una barra del titolo, che aggiungerai all'inizio del prossimo argomento:

    Spostare e ridimensionare la raccolta.

Riepilogo

Per ricapitolare, hai iniziato a creare un'app canvas a schermo singolo aggiungendo la raccolta di ordini, che include questi elementi:

  • Un'espressione per mostrare il numero dell'ordine: "Orders " & ThisItem.OrderNumber
  • Un campo in una relazione molti a uno: ThisItem.Customer.Company
  • Un'etichetta che mostra il nome di un'opzione in un set: ThisItem.'Order Status'
  • Un'etichetta che cambia formato in base all'opzione in un set mostrata dall'etichetta: Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
  • Una funzione aggregata complessa per una relazione uno a molti: Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )

Argomento successivo

Nel prossimo argomento, aggiungi un controllo Modifica modulo per visualizzare e modificare un riepilogo dell'ordine selezionato dall'utente nella raccolta appena creata.

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).