Del via


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 enhurtigvisningsskjema og opprette eller redigere en post ved hjelp av et hovedskjema i en dialogboks.

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 kategori.

Her er for eksempel skjemakomponenten i en eksisterende kategori i hovedskjemaet for forretningsforbindelse, som også lar brukeren redigere en kontaktoppføring uten å gå ut av kategorien Sammendrag for forretningsforbindelsesskjemaet .

Skjemakomponentkontroll lagt til i en eksisterende kategori.

Legg til skjemakomponenten i et tabellhovedskjema

  1. I navigasjonsruten til venstre velger du Komponenter. Hvis elementet ikke er i sidepanelruten, Velg ... Mer og Velg deretter elementet du vil bruke.
  2. Utvid enten Inndata eller Vis , og Velg deretter Form . På konfigurasjonssiden for skjemakomponentkontroll Velg egenskapene for kontrollen:
    • Velg ikonet Oppslagskolonne for skjemaet.
    • Velg ikonet Beslektet skjema. Avhengig av den relaterte tabellkonfigurasjonen for kolonnen:
      • Hvis kolonnen er koblet til én enkelt tabell (for eksempel Opprettet av-kolonnen), Velg Relatert-skjemaet som skal brukes. Legge til skjemakomponentkontroll for én enkelt relatert tabell
      • Hvis kolonnen er koblet til flere tabeller (polymorfe, for eksempel eierkolonnen), Velg + Relatert skjema og Velg deretter Legg til for å legge til det relaterte skjemaet. Fortsett til Velg + Relatert skjema>Legg til for å legge til et relatert skjema for hver relaterte tabell. Legge til skjemakomponent for flere relaterte tabeller
    • Som standard er alle klientapptypene Nett, Telefon og Nettbrett aktivert for å vise skjemaet. Fjern klienttypene der du ikke vil at skjemaet skal vises.
  3. Velg Ferdig.
  4. Lagre og deretter Publiser skjemaet.

Legge til skjemakomponenten ved hjelp av den klassiske opplevelsen

I dette eksemplet er standardhovedskjemaet Kontakt konfigurert for skjemakomponentkontrollen som legges til i 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 for en tabell

  1. Logg på Power Apps.

  2. VelgTabeller i den venstre ruten. Du kan også åpne en løsning og deretter Velg en tabell, for eksempel Forretningsforbindelse. Hvis elementet ikke er i sidepanelruten, Velg ... Mer og Velg deretter elementet du vil bruke.

  3. VelgSkjemaer fra 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 ikonet Sett inn-fanen . Deretter oppretter du en ny fane og legger til en ny inndeling eller legger til en ny inndeling i en eksisterende fane.

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

  8. Velg oppslagskolonnen, og deretter på Hjem-fanen , Velg Endre egenskaper.

  9. Velg Legg til kontroll i kategorien Kontroller, Velg Skjemakomponentkontroll i listen over kontrolltyper, og Velg deretter Legg til.

    Velg Skjemakomponent-kontrollen.

  10. VelgWeb , Nettbrett og Telefon for komponenten.

  11. VelgRediger ( blyantikon), og VelgBind til en statisk verdi i dialogboksen Konfigurer egenskap , og legg deretter til en XML-oppføring som ligner på dette, der TableName er tabellens unike navn og FormID er skjema-ID-en for hovedskjemaet:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

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

    Konfigurer skjemakomponentkontrollen.

  12. VelgOK , og deretter VelgOK på nytt.

  13. Lagre og deretter Publiser skjemaet.

Tips

Hvis du vil finne det unike navnet på en tabell, Velg tabellen i Power Apps og deretter Velg Innstillinger. Navnet vises i Rediger tabell-ruten. Skjema-ID-en finnes i URL-adressen til webleseren når du redigerer et skjema. ID-en følger/rediger/ del av URL-en. Skjema-ID finner du i URL-adressen til nettleseren når du åpner et skjema i den moderne skjemautformingen.

I den klassiske skjemautformingen følger skjema-ID-en formId %3d-delen 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 meldingen Kildepost 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 Behandlere kjøres for hovedskjemaet og skjemakomponentkontrollene. Alle behandlere kan avbryte lagringen for hovedskjemaet og skjemakomponentkontrollene ved hjelp av preventDefault. Dette betyr at ingen lagringsoperasjon kan kreve preventDefault at data sendes til Dataverse. Rekkefølgen for når behandlerne OnSave kalles er ikke definert. Mer informasjon: Skjema vedSave-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. Den kan nås 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, bør hendelsesbehandlinger vente på isLoaded-API-en for at kontrollen skal returnere 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. Nærmere bestemt dynamisk tilføyde behandlere i skjemakomponentskjemaet, for eksempel addOnSave eller addOnChange kan ikke kjøres etter bytte av flerøktsfaner.

  • 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 delrutenett vil ikke kommandoknappene Se alle oppføringer og Se tilknyttede oppføringer være 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.

  • Når dupliserte oppføringer oppdages når en skjemakomponentkontroll lagres, kan det hende at brukere ikke kan vise duplikatene for å løse konflikter.

Se også

Bruke egendefinerte kontroller for datavisualiseringer for modelldrevne apper