Rediger relaterte tabelloppføringer direkte fra en annen tabells hovedskjema

Du kan arbeide med relaterte tabelloppføringer på flere måter i et tabellskjema i Power Apps. Du kan for eksempel inkludere relaterte tabeller i skrivebeskyttet modus med et hurtigvisningsskjema og opprette eller redigere en oppføring ved hjelp av et hovedskjema i en dialog.

En annen måte du kan arbeide med relaterte tabelloppføringer på, er å legge til en skjemakomponentkontroll i hovedskjemaet til en annen tabell. Skjemakomponentkontrollen gjør det mulig for brukere å redigere informasjon om en relatert tabelloppføring direkte fra skjemaet til en annen tabell.

Her er for eksempel skjemakomponenten i en egen kategori i hovedskjemaet for forretningsforbindelse, som gjør det mulig for brukeren å redigere en kontaktpersonoppføring uten å gå ut av forretningsforbindelsesskjemaet.

Skjemakomponentkontroll lagt til i en egen fane.

Her er for eksempel skjemakomponenten i en eksisterende fane i skjemaet for hovedkonto, som gjør det mulig for brukeren å redigere en kontaktpersonoppføring uten å gå ut av fanen Sammendrag for kontoskjema.

Skjemakomponentkontroll lagt til i en eksisterende fane.

Legg til skjemakomponenten i et tabellhovedskjema

  1. I navigasjonsruten til venstre velger du Komponenter. Hvis elementet ikke finnes i sideruten, velger du ...Mer og deretter elementet du vil ha.
  2. Utvid Inndata eller Visning, og velg deretter Skjema. På konfigurasjonssiden for skjemakomponentkontrollen velger du egenskapene for kontrollen:
    • Velg Oppslagskolonne for skjemaet.
    • Velg Relatert skjema. Avhengig av den relaterte tabellkonfigurasjone for kolonnen:
      • Hvis kolonnen er koblet til én enkelt tabell (for eksempel kolonnen Opprettet av), velger du Relatert skjema som skal brukes. Legge til skjemakomponentkontroll for én relatert tabell
      • Hvis kolonnen er koblet til flere tabeller (polymorft, for eksempel eierkolonnen), velger du + Relatert, og deretter velger du Legg til for å legge til det relaterte skjemaet. Fortsett for å velge + Relatert skjema > Legg til for å legge til et relatert skjema for hver relaterte tabell. Legg til skjemakomponent for flere relaterte tabeller
    • Som standard er alle klientapptyper Web, Telefon og Nettbrett aktivert for å vise skjemaet. Fjern klienttypene der du ikke vil at skjemaet skal vises.
  3. Velg Ferdig.
  4. Lagre og Publiser deretter skjemaet.

Legge til skjemakomponenten ved hjelp av den klassiske opplevelsen

I dette eksemplet er Kontakt som standard hovedskjema konfigurert for skjemakomponentkontrollen som er lagt til på hovedskjemaet for forretningsforbindelse.

Viktig

Måten du legger til en skjemakomponentkontroll på, er endret. Vi anbefaler at du bruker den siste opplevelsen. Mer informasjon: Legge til skjemakomponenten i et hovedskjema i en tabell

  1. Logg deg på Power Apps.

  2. Velg Tabeller i venstre rute. Du kan alternativt åpne en løsning og deretter velge en tabell, for eksempel Konto. Hvis elementet ikke finnes i sideruten, velger du ...Mer og deretter elementet du vil ha.

  3. Velg Skjemaer på komponentmenyen.

  4. Velg et skjema med skjematypen Hoved fra de tilgjengelige skjemaene.

  5. Velg Bytt til klassisk. Det klassiske skjemaredigeringsprogram åpnes som en fane i nettleseren.

  6. Velg Sett inn-fanen. Deretter oppretter du en ny fane og legger til en ny del eller legger til en ny del i en eksisterende fane.

  7. I den nye delen legger du til en oppslagskolonne, for eksempel oppslagskolonnen Primær kontakt.

  8. Velg oppslagskolonnen, og gå deretter til Hjem-fanen og velg Endre egenskaper.

  9. Kontroller-fanen velger du Legg til kontroll, i lsiten over kontrolltyper velger du Skjemakomponentkontroll, og deretter velger du Legg til.

    Velg skjemakomponentkontrollen.

  10. Velg Web, Nettbrett og Telefon for komponenten.

  11. Velg Rediger (blyantikon), og i dialogboksen Konfigurer egenskap velger du Bind til en statisk verdi, og deretter legger du til en XML-oppføring som ligner på denne, der TableName er det unike tabellnavnet og FormID er skjema-ID-en for hovedskjemaet:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Hvis du for eksempel vil gjengi Kontakt hovedskjemaet i skjemaet for forretningsforbindelse, bruker du følgende: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Konfigurer skjemakomponentkontrollen.

  12. Velg OK, og velg deretter OK på nytt.

  13. Lagre og publiser skjemaet.

Tips

Du finner det unike navnet på en tabell ved å velge tabellen i Power Apps og deretter velge Innstillinger. Navn vises i tabellruten Rediger. Skjema-ID-en finnes i URL-adressen til webleseren når du redigerer et skjema. ID-en følger etter delen /edit/ av URL-adressen. Skjema-ID-en finnes i URL-adressen til nettleseren når du åpner et skjema i den moderne skjemautformingen.

I den klassiske skjemautformingen følger skjema-ID-en etter delen formId%3d av URL-adressen.

Atferd til skjemakomponent

Denne delen beskriver virkemåten for skjemakomponenten når den brukes i en modelldrevet app.

Postutvalg

For at skjemakomponentkontrollen skal kunne vise et skjema, må oppslagskolonnen den er bundet til, ha en verdi. Ellers viser kontrollen følgende melding: Kildeoppføringen er ikke valgt. Én måte å angi verdien på er å legge til en oppslagskontroll i skjemaet som er bundet til den samme oppslagskolonnen som skjemakomponentkontrollen. Når du bruker oppslagskontrollen til å endre verdien for oppslagskolonnen, viser skjemakomponentkontrollen et skjema med dataene for den nye oppslagskolonneverdien.

Kolonnevalidering

Alle kolonner, både i hovedskjemaet og i skjemakomponentkontrollene, må være gyldige for at data skal sendes til Microsoft Dataverse. Dette gjelder både for kolonnevalideringsfeil, manglende nødvendige kolonner og så videre.

OnSave-håndtak kjøres for hovedskjemaet og skjemakomponentkontrollene. Alle håndtak kan avbryte lagringen av hovedskjemaet og skjemakomponentkontrollene ved å bruke preventDefault. Dette betyr at ingen lagringsoperasjon kan kalle opp preventDefault for data som skal sendes til Dataverse. Rekkefølgen til når OnSave behandlerne kalles, er ikke definert. Mer informasjon: Skjemaet OnSave-hendelse (klient-API-referanse) i modelldrevne apper

Lagre oppføring

Når valideringsfasen er passert, sendes det data til Dataverse for hver oppføring. For øyeblikket oppdateres hver oppføring uavhengig av hverandre med forskjellige forespørsler. Lagringene er ikke transaksjonsbaserte, og rekkefølgen for lagringene er ikke definert. Hvis det oppstår en feil under lagring av en skjemakomponent, rulles ikke endringene tilbake til hovedskjemaet eller andre skjemakomponenter. Når hver lagring er fullført, oppdateres dataene for alle oppføringene i skjemaet.

Varsler

Varsler i skjemakomponenten samles i varslene i hovedskjemaet. Hvis det for eksempel finnes ugyldige kolonner i skjemakomponenten og du prøver å lagre, vises det ugyldige kolonnevarselet øverst i hovedskjemaet i stedet for i skjemakomponenten.

Feilbehandling

Hvis det oppstår flere feil under lagring, vises det bare én feil for brukeren. Hvis brukeren kan gjøre endringer for å rette den første feilen og lagrer den neste feilen, vil den være synlig. Brukeren må fortsette å lagre til alle feilene er løst.

Endre oppføringer med endringer som ikke er lagrede

Hvis det finnes endringer som ikke er lagrede, i et skjema for en skjemakomponent og en bruker prøver å endre oppslagskolonnen som skjemakomponenten er bundet til, vil brukeren bli varslet om denne endringen.

API-adresse for klient

En skjemakontekst er tilgjengelig for skjemakomponentkontrollen. Du får tilgang til det via hovedskjemaets skjemakontekst ved å få tilgang til kontrollen via en API, for eksempel getControl. Før du får tilgang til data for den relaterte tabellen i skjemakomponentkontrollen, må hendelsesbehandlinger vente til API-en for isLoaded før kontrollen returnerer sann.

Begrensninger

Legg merke til følgende begrensninger når du legger til skjemakomponentkontrollen i et tabellskjema:

  • Skjemakomponentkontrollen støtter bare gjengivelse av hovedskjemaer. På samme måte støttes støtte for å legge til en skjemakomponentkontroll bare med hovedskjemaer. Andre skjematyper, for eksempel hurtig oppretting, hurtigvisning og kort, støttes ikke.

  • Skjemaer med en forretningsprosessflyt støttes for øyeblikket ikke i hovedtabellskjemaet eller det relaterte tabellskjemaet. Hvis du har et skjema med en forretningsprosessflyt, kan du oppleve uventet virkemåte. Vi anbefaler at du ikke bruker en skjemakomponent med et skjema som bruker en forretningsprosessflyt.

  • Skjemakomponentkontrollen støtter ikke innebygde skjemakomponentkontroller, for eksempel det å legge til en skjemakomponentkontroll i et skjema som brukes av en skjemakomponentkontroll.

  • Skjemakomponentkontrollen støtter ikke innebygde lerretsapper. Du kan støte på uventet oppførsel med disse lerretsappene.

  • Skjemakomponentkontrollen viser bare den første kategorien i skjemaet den bruker hvis flere kategorier er inkludert i det skjemaet.

  • Det er ikke støtte for bruk av det samme skjemaet for forskjellige skjemakomponentkontroller i ett enkelt skjema.

  • Skjemaet du bruker med en skjemakomponent, må inkluderes i appen. Hvis det ikke er det, eller hvis gjeldende bruker ikke har tilgang til skjemaet, vil det gå tilbake til det øverste hovedskjemaet som er inkludert i appen og er tilgjengelig for brukeren (basert på skjemarekkefølge).

  • Alle komponenter som brukes av skjemaet i en skjemakomponent, må inkluderes i appen. Komponentene inneholder relaterte tabeller, visninger og forretningsprosessflyter. Hvis de ikke gjør det, vil de ikke være tilgjengelige i skjemaet, eller det kan oppstå en uventet virkemåte.

  • Skjemakomponentkontroller har visse begrensninger når de gjengis i apper med flere økter. Hvis klient-API-en brukes til å endre skjemakomponentkontrollen, eller hvis data er angitt i skjemaet, er det ikke sikkert at endringene beholdes når du bytter kategorier for flere økter.

  • Du vil kanskje legge merke til at tidslinjeveggen kanskje ikke oppdateres når en kolonne som brukes til å angi tidslinjeveggen, er endret i skjemakomponenten. Når siden oppdateres, oppdateres tidslinjeveggen som forventet.

  • Tidslinjekontrollen vises ikke i skjemakomponentkontrollen på mobil for øyeblikket.

  • For delfelt er kommandoknappene Se alle oppføringer og Se tilknyttede oppføringer ikke tilgjengelige hvis de gjengis i en skjemakomponent.

  • Skjemakomponentkontroller støttes ikke i dialogbokser for masseredigering. De vises ikke i skjemaet som standard i dialogboksen for masseredigering, og endringer som gjøres i relaterte tabelloppføringer med dem, blir ikke lagret.

Se også

Bruke egendefinerte kontroller for datavisualiseringer i modelldrevne apper

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).