Modificare i record della tabella correlati direttamente dal modulo principale di un'altra tabella
Esistono diversi modi per utilizzare i record di tabella correlati in un modulo tabella all'interno di Power Apps. Ad esempio, è possibile includere tabelle correlate in modalità di sola lettura con a modulo di visualizzazione rapida e creare o modificare un record utilizzando un modulo principale in una finestra di dialogo.
Un altro modo in cui puoi utilizzare i record della tabella correlata consiste nell'aggiungere un controllo del componente del modulo al modulo principale di un'altra tabella. Il controllo del componente modulo consente agli utenti di modificare le informazioni di un record di tabella correlato direttamente dal modulo di un'altra tabella.
Ad esempio, ecco il componente modulo in una scheda separata nel modulo dell'account principale, che consente all'utente di modificare un record di contatto senza lasciare il modulo dell'account.
Ad esempio, ecco il componente del modulo su una scheda esistente nel modulo dell'account principale, che consente anche all'utente di modificare un record di contatto senza uscire dalla scheda Riepilogo del modulo dell'account.
Aggiungere il componente del modulo a un modulo principale della tabella
- Nel riquadro di spostamento a sinistra seleziona Componenti. Se l'elemento non si trova nel riquadro del pannello laterale, seleziona …Altro, quindi l'elemento desiderato.
- Espandi Input o Display, quindi Seleziona Modulo.
Nella pagina di configurazione del controllo del componente del modulo, Seleziona le proprietà per il controllo:
- Seleziona la colonna di ricerca per il modulo.
- Seleziona il modulo correlato. A seconda della configurazione della tabella correlata per la colonna:
- Se la colonna è collegata a una singola tabella (ad esempio la colonna Creato da), Seleziona il modulo correlato da utilizzare.
- Se la colonna è connessa a più tabelle (polimorfiche, come la colonna del proprietario), Seleziona + Modulo correlato e quindi Seleziona Aggiungi per aggiungere il modulo correlato. Continua su Seleziona + Modulo correlato>Aggiungi per aggiungere un modulo correlato per ogni tabella correlata.
- Per impostazione predefinita, tutti i tipi di app client Web, Telefono e Tablet sono abilitati a visualizzare il modulo. Deseleziona i tipi di client in cui non desideri visualizzare il modulo.
- Seleziona Fatto.
- Salvare e quindi Pubblicare il modulo.
Aggiungere il componente modulo utilizzando l'esperienza classica
In questo esempio, il modulo principale standard Contatti è configurato per il controllo del componente modulo che viene aggiunto al modulo principale dell'account.
Importante
Il modo in cui aggiungi un controllo del componente del modulo è cambiato. È consigliabile usare l'esperienza più recente. Ulteriori informazioni: Aggiungere il componente del modulo a un modulo principale della tabella
Accedere a Power Apps.
Seleziona Tabelle nel riquadro di sinistra. In alternativa, apri una soluzione, quindi Seleziona una tabella, ad esempio Account. Se l'elemento non si trova nel riquadro del pannello laterale, seleziona …Altro, quindi l'elemento desiderato.
Seleziona Moduli dal menu dei componenti.
Seleziona un modulo con tipo di modulo Principale tra i moduli disponibili.
Seleziona Passa alla visualizzazione classica. L'interfaccia dell'editor di moduli classico si apre come una scheda nel tuo browser.
Seleziona la scheda Inserisci . Quindi, crea una nuova scheda e aggiungi una nuova sezione o aggiungi una nuova sezione a una scheda esistente.
Nella nuova sezione, aggiungi una colonna di ricerca, ad esempio la colonna di ricerca Contatto principale .
Seleziona nella colonna di ricerca, quindi nella scheda Home , Seleziona Modifica proprietà.
Nella scheda Controlli , Seleziona Aggiungi controllo, nell'elenco dei tipi di controllo Seleziona Controllo componente modulo, quindi Seleziona Aggiungi.
Seleziona Web, Tablet e Telefono per il componente.
Seleziona Modifica (icona matita) e nella finestra di dialogo Configura proprietà Seleziona Associa a un valore statico e quindi aggiungi una voce XML simile a questa dove TableName è il nome univoco della tabella e FormID è l'ID del modulo principale:
<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>
- Ad esempio, per visualizzare il modulo principale Contatti nel modulo dell'account, utilizzare:
<QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>
- Ad esempio, per visualizzare il modulo principale Contatti nel modulo dell'account, utilizzare:
Seleziona OK, quindi Seleziona OK di nuovo.
Salva e poi Pubblica il tuo modulo.
Suggerimento
Per trovare il nome univoco di una tabella, Seleziona nella tabella Power Apps e quindi Seleziona Impostazioni. Il Nome viene visualizzato nel riquadro della tabella Modifica . L'ID del modulo può essere trovato nell'URL del browser quando si modifica un modulo. L'ID segue la parte /edit/ dell'URL.
Nel classico progettazione moduli, l'ID del modulo segue la porzione formId%3d dell'URL.
Comportamento del componente modulo
Questa sezione descrive il comportamento dei componenti del modulo quando viene utilizzato in un'app basata su modello.
Selezione di record
Affinché il controllo del componente del modulo mostri un modulo, la colonna di ricerca a cui è associato deve avere un valore. In caso contrario, il controllo mostrerà il messaggio Record di origine non selezionato. Un modo per impostare il valore consiste nell'aggiungere al modulo un controllo di ricerca associato alla stessa colonna di ricerca del controllo componente del modulo. Quando usi il controllo di ricerca per modificare il valore della colonna di ricerca, il controllo del componente del modulo mostrerà un modulo con i dati per il nuovo valore della colonna di ricerca.
Convalida della colonna
Tutte le colonne, sia nel modulo principale che nei controlli dei componenti del modulo, devono essere valide per l'invio dei dati a Microsoft Dataverse. Ciò è vero per entrambi gli errori di convalida delle colonne, per le colonne obbligatorie mancanti e così via.
OnSave
I gestori vengono eseguiti per il modulo principale e per i controlli dei suoi componenti. Qualsiasi gestore può salvare il modulo principale e i controlli dei componenti del modulo tramite Annulla utilizzando preventDefault. Ciò significa che nessuna operazione di salvataggio può richiedere preventDefault
l'invio di dati a Dataverse. L'ordine in cui vengono chiamati i gestori non è definito. OnSave
Ulteriori informazioni: Evento Form OnSave (riferimento API client) nelle app basate su modello
Salvataggio record
Una volta superata la fase di convalida, i dati vengono inviati a Dataverse per ogni record. Attualmente, ogni record viene aggiornato in modo indipendente con richieste diverse. I salvataggi non sono transazionali e l'ordine dei salvataggi non è definito. Un errore durante il salvataggio di un componente del modulo non ripristinerà le modifiche al modulo principale o ad altri componenti del modulo. Al termine di ogni salvataggio, i dati vengono aggiornati per tutti i record nel modulo.
Notifiche
Le notifiche sul componente modulo vengono aggregate nelle notifiche del modulo principale. Ad esempio, se sono presenti colonne non valide nel componente modulo e si tenta di salvare, la notifica di colonna non valida verrà visualizzata nella parte superiore del modulo principale anziché nel componente modulo.
Gestione errori
Se sono presenti più errori durante il salvataggio, all'utente verrà mostrato un solo errore. Se l'utente può apportare modifiche per correggere il primo errore e salva, sarà visibile l'errore successivo. L'utente dovrà continuare a salvare finché tutti gli errori non saranno stati risolti.
Modifica dei record con modifiche non salvate
Se sono presenti modifiche non salvate in un modulo per un componente modulo e un utente tenta di modificare la colonna di ricerca a cui è associato il componente modulo, l'utente verrà avvisato di questa modifica.
API Client
Un contesto del modulo è disponibile per il controllo del componente del modulo. È possibile accedervi tramite il contesto del modulo principale, accedendo al controllo tramite un'API, ad esempio getControl. Prima di accedere ai dati per la tabella correlata nel controllo del componente del modulo, i gestori degli eventi devono attendere che l'API isLoaded restituisca true. ...
Limiti
Tieni presente le seguenti limitazioni quando aggiungi il controllo del componente modulo a un modulo tabella:
Il controllo del componente del modulo supporta solo il rendering dei moduli principali. Allo stesso modo, il supporto per l'aggiunta di un controllo del componente del modulo è supportato solo con i moduli principali. Altri tipi di modulo, come la creazione rapida, la visualizzazione rapida e la scheda non sono supportati.
I moduli con un flusso di processo aziendale non sono attualmente supportati né nel modulo della tabella principale né nel modulo della tabella correlato. Se hai un modulo con processo aziendale, potresti riscontrare un comportamento imprevisto. È consigliabile non utilizzare un componente del modulo con un modulo che utilizza un processo aziendale.
Il controllo del componente del modulo non supporta i controlli del componente del modulo incorporato, ad esempio l'aggiunta di un controllo del componente del modulo a un modulo utilizzato da un controllo del componente del modulo.
Il controllo del componente modulo non supporta le app canvas incorporate. Potresti riscontrare comportamenti imprevisti con queste app canvas.
Il controllo del componente modulo visualizzerà solo la prima scheda del modulo che utilizza se più schede sono incluse in quel modulo.
L'utilizzo dello stesso modulo per diversi controlli dei componenti del modulo in un unico modulo non è supportato.
Il modulo che utilizzi con un componente modulo deve essere incluso nella tua app. In caso contrario, o se l'utente corrente non ha accesso al modulo, verrà eseguito il fallback al modulo principale più in alto incluso nell'app e disponibile per l'utente (in base all'ordine del modulo).
Tutti i componenti utilizzati dal modulo in un componente del modulo devono essere inclusi nella tua app. Questi componenti includono tabelle, visualizzazioni e processi aziendali correlati. In caso contrario, non saranno disponibili nel modulo oppure potrebbe verificarsi un comportamento imprevisto.
I controlli dei componenti del modulo hanno alcune limitazioni quando vengono visualizzati nelle app multisessione. In particolare, i gestori aggiunti dinamicamente al componente del modulo, come
addOnSave
oaddOnChange
, potrebbero non essere eseguiti dopo aver cambiato scheda multisessione.Potresti notare che la bacheca della sequenza temporale potrebbe non aggiornarsi quando una colonna utilizzata per impostare la bacheca della sequenza temporale è cambiata nel componente del modulo. Quando la pagina viene aggiornata, la bacheca della sequenza temporale si aggiornerà come previsto.
Sui dispositivi mobili, il controllo della sequenza temporale non viene attualmente visualizzato nel controllo del componente del modulo.
Per le sottogriglie, i pulsanti di comando Visualizza tutti i record e Visualizza record associati non saranno disponibili se vengono visualizzati all'interno di un componente del modulo.
I controlli del componente del modulo non sono supportati nelle finestre di dialogo di modifica in blocco. Per impostazione predefinita, non verranno visualizzati nel modulo nella finestra di dialogo di modifica in blocco e le eventuali modifiche apportate ai record della tabella correlati non verranno salvate.
Se vengono rilevati record duplicati durante il salvataggio di un controllo componente modulo, gli utenti potrebbero non essere in grado di visualizzare i duplicati per risolvere i conflitti.
Vedi anche
Utilizzare controlli personalizzati per visualizzazioni di dati di app basate su modelli