Comparteix a través de


Editar registres de taula relacionats directament des del formulari principal d'una altra taula

Hi ha diverses maneres de treballar amb registres de taula relacionats en un formulari de taula dins del Power Apps. Per exemple, podeu incloure taules relacionades en mode només de lectura amb un formulari de visualització ràpida i crear o editar un registre mitjançant un formulari principal en un diàleg.

Una altra manera de treballar amb registres de taula relacionats és afegir un control de component de formulari al formulari principal d'una altra taula. El control del component de formulari permet als usuaris editar informació d'un registre de taula relacionat directament des del formulari d'una altra taula.

Per exemple, aquest és el component de formulari en una pestanya independent del formulari de compte principal, la qual cosa permet a l'usuari editar un registre de contacte sense sortir del formulari de compte.

Control de component de formulari afegit a una pestanya independent.

Per exemple, aquí teniu el component de formulari d'una pestanya existent al formulari del compte principal, que també permet a l'usuari editar un registre de contacte sense sortir de la pestanya Resum del formulari del compte.

Control de component de formulari afegit a una pestanya existent.

Afegir el component de formulari a un formulari principal de taula

  1. A la subfinestra de navegació esquerra, seleccioneu Components. Si l'element no és a la subfinestra del tauler lateral, seleccioneu ... Més i seleccioneu l'element que vulgueu.
  2. Expandiu Entrada o Visualització i, a continuació, seleccioneu Formulari. A la pàgina de configuració del control del component de formulari, seleccioneu les propietats del control:
    • Seleccioneu la columna Cerca del formulari.
    • Seleccioneu el formulari Relacionat. Depenent de la configuració de la taula relacionada per a la columna:
      • Si la columna està connectada a una sola taula (com ara la columna Creat per), seleccioneu el formulari Relacionat que voleu utilitzar. Afegir el control de component de formulari per a una sola taula relacionada
      • Si la columna està connectada a diverses taules (polimòrfica, com ara la columna del propietari), seleccioneu + Formulari relacionat i, a continuació, seleccioneu Afegeix per afegir el formulari relacionat. Continueu seleccionant + Formulari>relacionat Afegeix per afegir un formulari relacionat per a cada taula relacionada. Afegeix un component de formulari per a diverses taules relacionades
    • Per defecte, tots els tipus d'aplicacions client Web, Telèfon i Tauleta estan habilitats per mostrar el formulari. Esborreu els tipus de client en què no voleu que es visualitzi el formulari.
  3. Seleccioneu Fet.
  4. Desa i després publica el formulari.

Addició del component de formulari amb l'experiència clàssica

En aquest exemple, el formulari principal estàndard de contacte està configurat per al control del component de formulari que s'afegeix al formulari principal del compte.

Important

La manera com afegiu un control de component de formulari ha canviat. Recomanem que utilitzeu la versió més recent de l'experiència. Més informació: Afegir el component de formulari a un formulari principal de taula

  1. Inicieu sessió a Power Apps.

  2. Seleccioneu Taules a la subfinestra esquerra. També podeu obrir una solució i, a continuació, seleccioneu una taula, com ara Compte. Si l'element no és a la subfinestra del tauler lateral, seleccioneu ... Més i seleccioneu l'element que vulgueu.

  3. Seleccioneu Formularis al menú de components.

  4. Seleccioneu un formulari amb un tipus de formulari Principal dels formularis disponibles.

  5. Seleccioneu Canvia al mode clàssic. La interfície clàssica de l'editor de formularis s'obre com una pestanya nova del navegador.

  6. Seleccioneu la pestanya Insereix . A continuació, creeu una pestanya nova i afegiu una secció nova o afegiu una secció nova a una pestanya existent.

  7. A la secció nova, afegiu una columna de cerca, com ara la columna de cerca de contacte principal.

  8. Seleccioneu la columna de cerca i, a continuació, a la pestanya Inici , seleccioneu Canvia les propietats.

  9. A la pestanya Controls , seleccioneu Afegeix control, a la llista de tipus de control, seleccioneu Control de component de formulari i, a continuació, seleccioneu Afegeix.

    Seleccioneu el control de component de formulari.

  10. Seleccioneu Web, tauleta i telèfon per al component.

  11. Seleccioneu Edita (icona de llapis) i, al quadre de diàleg Configura la propietat , seleccioneu Enllaça a un valor estàtic i, a continuació, afegiu una entrada XML similar a aquesta, on TableName és el nom únic de la taula i FormID és l'ID del formulari principal:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Per exemple, per representar el formulari principal Contacte al formulari del compte, utilitzeu: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Configureu el control del component del formulari.

  12. Seleccioneu D'acord i, a continuació, torneu a seleccionar D'acord .

  13. Deseu i després publiqueu el formulari.

Propina

Per trobar el nom únic d'una taula, seleccioneu la taula a Power Apps i, a continuació, seleccioneu Configuració. El nom apareix a la subfinestra Edita la taula. L'ID del formulari es pot trobar a l'adreça URL del navegador quan editeu un formulari. L'identificador segueix la part /edit/ de l'URL. L'ID del formulari es pot trobar a l'adreça URL del navegador quan obriu un formulari al dissenyador de formularis modern.

En el dissenyador de formularis clàssic, l'ID del formulari segueix la part formId%3d de l'URL.

Comportament del component del formulari

Aquesta secció descriu el comportament del component de formulari quan s'utilitza en una aplicació basada en models.

Selecció de registres

Per tal que el control del component de formularis mostri un formulari, la columna de cerca amb la qual està unit ha de tenir un valor. En cas contrari, el control mostra el missatge Registre d'origen no seleccionat. Una manera de definir el valor és afegir al formulari un control de cerca que estigui lligat a la mateixa columna de cerca que el control dels components del formulari. Quan utilitzeu el control de cerca per canviar el valor de la columna de cerca, el control del component de formulari mostra un formulari amb les dades del nou valor de la columna de cerca.

Validació de columnes

Totes les columnes, tant del formulari principal com dels controls dels components del formulari, han de ser vàlides per poder enviar les dades a Microsoft Dataverse. Això és cert per als dos errors de validació de columna i les columnes necessàries que falten, així successivament.

OnSave Els controladors s'executen per al formulari principal i els seus controls de components de formulari. Qualsevol controlador pot cancel·lar el desament per al formulari principal i els controls del component del formulari mitjançant preventDefault. Això vol dir que cap operació de desament pot demanar preventDefault que s'enviïn Dataverse dades. L'ordre en què es criden els OnSave controladors no està definit. Més informació: Esdeveniment Form OnSave (referència de l'API de client) a les aplicacions basades en models

Desament del registre

Un cop passada la fase de validació, s'envien les dades a Dataverse de cada registre. Actualment, cada registre s'actualitza de manera independent amb diferents sol·licituds. Els desaments no són transaccionals i el seu ordre no està definit. Un error en desar un component de formulari no recuperarà els canvis del formulari principal ni d'altres components del formulari. Un cop completada cada opció de desar, s'actualitzen les dades per a tots els registres del formulari.

Notificacions

Les notificacions del component de formulari s'agreguen a les notificacions del formulari principal. Per exemple, si hi ha columnes no vàlides al component de formulari i intenteu desar, la notificació de columna no vàlida apareixerà a la part superior del formulari principal en lloc de al component de formulari.

Gestió d'errors

Si hi ha diversos errors durant el desament, només es mostra un error a l'usuari. Si l'usuari pot fer canvis per corregir el primer error i desaments, l'error següent estarà visible. L'usuari ha de continuar desant fins que es resolguin tots els errors.

Canviar registres amb canvis que no s'han desat

Si hi ha canvis no desats en un formulari per a un component de formulari i un usuari intenta canviar la columna de cerca a la qual està vinculat el component de formulari, l'usuari rep una alerta sobre aquest canvi.

API del client

Hi ha disponible un context de formulari per al control del component de formulari. Es pot accedir a través del context del formulari principal accedint al control mitjançant una API, com ara getControl. Abans d'accedir a les dades de la taula relacionada al control del component de formulari, els controladors d'incidències haurien d'esperar que l'API isLoaded retorni true.

Limitacions

Tingueu en compte les limitacions següents quan afegiu el control de components del formulari a un formulari de taula:

  • El control del component de formulari només admet la representació de formularis principals. De la mateixa manera, la compatibilitat per afegir un control de component de formulari només està admesa als formularis principals. Hi ha altres tipus de formularis, com ara la creació ràpida, la visualització ràpida i la targeta que no estan admesos.

  • Els formularis amb un flux del procés de negoci no s'admeten actualment al formulari de taula principal ni al formulari de taula relacionat. Si teniu un formulari amb un flux de procés de negoci, és possible que trobeu un comportament inesperat. Es recomana no utilitzar un component de formulari amb un formulari que utilitzi un flux del procés de negoci.

  • El control del component de formulari no admet els controls dels components de formulari incrustats, com ara afegir un control de component de formulari a un formulari que utilitza un control de components de formulari.

  • El control del component de formulari no admet les aplicacions de llenç incrustades. És possible que trobeu un comportament inesperat amb aquestes aplicacions de llenç.

  • El control del component de formulari només mostrarà la primera pestanya del formulari que utilitza si s'inclouen diverses pestanyes al formulari.

  • L'ús del mateix formulari per a diferents controls de components de un sol formulari no està admés.

  • El formulari que utilitzeu amb un component de formulari s'ha d'incloure a l'aplicació. Si no és així, o si l'usuari actual no té accés al formulari, torna al formulari principal superior que s'inclou a l'aplicació i està disponible per a l'usuari (segons l'ordre del formulari).

  • Tots els components que utilitza el formulari en un component de formulari s'han d'incloure a l'aplicació. Aquests components inclouen taules relacionades, visualitzacions i fluxos de processos de negoci. Si no ho estan, no estaran disponibles al formulari o pot haver-hi un comportament inesperat.

  • Els controls de components de formulari tenen certes limitacions quan es representen en aplicacions de diverses sessions. Específicament, els controladors afegits dinàmicament al formulari del component de formulari, com ara addOnSave o addOnChange no, podrien executar-se després de canviar de pestanya multisessió.

  • És possible que observeu que el mur de la línia de temps no s'actualitza quan una columna que s'utilitza per definir la paret de la línia de temps ha canviat al component de formulari. Quan s'actualitza la pàgina, el mur de la línia de temps s'actualitza com s'esperava.

  • Al mòbil, el control de cronologia no apareix actualment al control de components del formulari.

  • Per a les subquadrícules, el botó d'ordre Mostra els registres associats no estarà disponible si la subquadrícula es representa dins d'un component de formulari.

  • Els controls dels components de formulari no s'admeten als diàlegs d'edició massiva. No apareixeran al formulari al quadre de diàleg d'edició massiva per defecte i els canvis fets als registres de taula relacionats amb ells no es desaran.

  • Quan es detecten registres duplicats quan es desa un control de component de formulari, és possible que els usuaris no puguin visualitzar els duplicats per resoldre conflictes.

  • La validació del formulari només es produeix per als camps obligatoris que es representen. La validació no és possible per als camps obligatoris que no són visibles o que no s'han representat o estan presents en una altra pestanya.

Consulteu també

Utilitzar controls personalitzats per a visualitzacions de dades d'aplicacions basades en models